Moving an accountancy practice off a platform it has outgrown
Every old linkstill goes somewhere

Nobody replatforms a practice site for fun. Something forces it. A portal being retired, or a host that stopped answering the phone. The pages are the easy part. What points at them from outside is not. Directories, a professional body listing, a guide somebody saved years ago. Those links never get updated by the people holding them. They get followed, or they break.
Book a 15-minute callSend the details below. I'll reply by email to arrange a time.
London, UK · Available for new projects
What actually slows accountancy practices
January arrives with half the records missing
The clients who file late are the same ones every year, and you have asked since spring. Dext catches the receipts they remember to photograph. It cannot produce the bank statement for the account they forgot to mention, which surfaces in the last week of January.
Three systems, one set of figures, typed twice
The books live in Xero or FreeAgent. The return gets built in TaxCalc or IRIS, from numbers someone reads off one screen and types into the next. Job status sits in Karbon and goes in by hand, so the Friday review is looking at Wednesday's position.
Quarterly filing multiplies every deadline you track
For the clients it covers, Making Tax Digital turns one annual cycle into several. Which clients are in scope, which are exempt, who has software that can file, and who still posts a carrier bag. That list currently lives in a spreadsheet one person maintains.
AML paperwork with no system behind it
Every client needs ID checks, a risk rating and a signed engagement letter, redone on a clock nobody wrote down. When ICAEW or ACCA asks to see the file, that proof sits in a shared drive, three inboxes and somebody's head.
replatforming and migrations
The old system tells you what it has. I crawl every URL it still answers on, and the redirect map is built from what comes back. Data moves across with a count on both sides, and the counts have to agree before anything is switched. Old and new run alongside each other, and the way back gets tested while the old system is still up and still holding the real data.
- The redirect map, built from your URLs
- Every address the old site answers on, taken from the site itself and matched to where it lands now. Anything with no clear home comes back as its own list, one line each, for you to decide on before the switch.
- Both sides counted, line by line
- Orders, customers, pages, whatever the old system holds, counted on both sides and matched line by line. Where the two do not agree you get the rows that differ, named, with a reason for each.
- The parallel run before anyone cuts over
- The new system runs on real data while the old one is still serving, so the two get compared under load. The switch happens when the numbers match, and the way back has been run at least once by then.
- Everything not worth bringing across
- Pages nobody has opened in years, records that were wrong when they were typed, features built for a process you dropped. You get the list in the first pass.
Selected projects
Products I built and open-source projects I maintain. Open a project to see the work for yourself.
- 012026
Dr Flavia Pretti Aslanian
Healthcare · Practice site
A bilingual dermatology website for a practice in Harley Street and Wimbledon

A new landing page guides patients to medical, aesthetic and surgical care. The practice edits its own content, and staff have a password-protected dictation tool in the same app.
- Next.js
- Sanity CMS
- Tailwind v4
- Radix
- Motion
- ISR
- Railway
- Cloudflare
Design · Build · Deploy
- 84 published English and Portuguese routes
- 72 treatment pages with clinic-editable content
- Custom before/after comparison UI
- Internal clinician dictation tool
- 02
2025 →Delta Xi
E-commerce · Brand
A mathematics apparel brand on a storefront I wrote from scratch

I built the cart, checkout, product recommendations, affiliate programme and support desk, and run the infrastructure myself.
- Next.js
- React Server Components
- Stripe
- Auth.js
- Tailwind
- Umami
- Chatwoot
- Cloudflare
Founder · Engineer · Operator
- Custom checkout on Stripe + Klarna
- Server-rendered recommendation engine
- Self-hosted analytics and live chat
- 50+ STEM explainers driving organic search
See 4 more projects
- 03
2026Continuum
Web3 · DeFi protocol
A Solana DeFi protocol for 24/7 synthetic exposure to real-world assets

Deposit USDC, mint matched long and short tokens at NAV, sell the leg you don't want. A constant-product invariant keeps the pair redeemable back to the deposit.
- Rust
- Anchor
- Solana
- TypeScript
- Pyth
- Next.js
- Bun
- Railway
Pre-mainnet. Devnet markets, audits pending.
Protocol · Frontend · Infra
- 5 Solana smart contracts in Rust
- 8 synthetic markets on devnet
- 4-state oracle risk machine
- Volatility-scaled fee curve
- 042026
Dray
AI tools · Product website
A product website for keeping project context across AI agents

An editorial landing page introduces shared project context, shows illustrative agent workflows and explains setup and privacy ahead of beta.
Beta coming soon. The public demos illustrate the workflow; they are not live agent connections.
Design · Build
- Interactive agent-linking illustration
- Project-context walkthrough
- Setup and privacy guidance
- 052026
Tallylamp
Open source · Browser infrastructure
A browser for AI agents that you can watch and take over

I built the browser service, dashboard, MCP server and public website. Agents use Chrome on your server while you watch the same browser live. Take control to sign in, then hand it back; saved profiles carry between sessions.
- TypeScript
- Next.js
- Chrome
- MCP
- SQLite
- Docker
- Railway
Public site at tallylamp.dev. The browser service and dashboard are self-hosted.
Creator · Engineer · Maintainer
- Live viewing and explicit human handoff
- Separate agent permissions and reusable profiles
- MIT licensed, with a Railway deploy template
- 06
2025 →CarClout
SaaS · AI content engine
A subscription app that turns a phone photo of a car into something worth posting

Upload a photo, pick a template, get the edit back a moment later. Thirteen AI models sit behind a metered credit ledger, next to a layer editor, a post scheduler and a live chat room.
- Next.js
- SurrealDB
- Auth.js
- Stripe
- fal.ai
- Cloudflare R2
- Stream.io
- Railway
Engineering · Infra · SEO
- 724 generated landing pages, all live
- 128 API routes behind one app
- 13 AI models on a metered credit ledger
- Instagram posting, scheduling and analytics
One runs on the client's own domain and one is internal to theirs, so there is nothing here of mine to show you.
- ClientJooyontechAI sales assistant, Korean and English
- ClientPHFWeb, AI and automation · private medical practices, UK
Not everything is public. A fair amount of the work sits in private repositories I cannot hand you a link to. Ask, and I will walk you through it.
Ask to see moreHow a project runs
- 01Before code
Scope
One call, then a written spec. What it does, what it deliberately does not do, and what milestone one is. You sign that off before I write a line.
- 02Early
First deploy
A narrow slice that actually works, running where it belongs. A URL you can open, a build on your phone, a job on your own servers. Real data, real hosting, no placeholder screens.
- 03Ongoing
Build in the open
Deploys land as the thing fills in, not in one drop at the end. You watch it happen. And you get to change your mind while changing it is still cheap.
- 04Handover
Yours to run
The product runs in your accounts, with the domain, hosting and documentation under your control. Source-code transfer is quoted separately; we agree what is included during scoping.

Rafael Aslanian
I got my hands on a computer at 6 and never really stopped.
Now it is decentralised finance, tokenising real-world assets and topological deep learning, then building whatever those turn into. Continuum came out of that. So did Delta Xi (δξ, an infinitesimal change in a random variable).
Bossa nova and MPB were always on at home, so I sang before I played anything. Guitar and piano came later, then jazz.
- Based
- London, UK
- Languages
- English, Portuguese; intermediate Spanish and Chinese
- Focus
- Web3, DeFi, real-world asset tokenisation
- Also
- Music
Have an idea? Tell me.
Need the audience too?
I can build the thing. Getting people to notice it is a separate job, and not mine. For that I work with Nytforge, who film, edit and put the work in front of a local audience. They are strongest with automotive and local businesses.