Recruitment agency software, built in London
The last tenper cent

Bullhorn parsing the CV, and someone still fixing the dates by hand. That is the shape of most agency software. It does most of a job and hands the rest back to a consultant, on every single record, and it is annoying in a small way that never quite adds up to a complaint. Custom work begins there. The house template, the anonymising rule, and the way your desk separates a contract placement from a permanent one. Built once, around the desk.
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 recruitment agencies
The formatted CV that gets retyped by hand
Bullhorn and Vincere both parse a CV on upload, and then someone fixes the dates, the job titles, and the two-column layout the parser read as one column. Then it is built again in the house template, with the phone number taken off so the client cannot go direct.
One click out to the boards, 300 back
Broadbean puts the advert on Reed, CV-Library, Totaljobs and Indeed in one go. The return leg is manual. Most of the people who apply are wrong for the role, and every one of them is owed an answer from a human.
Delete for UK GDPR, keep for right to work
UK GDPR says stop holding candidate data you have no reason to keep. For the temps you employ, right to work copies have to outlive the job by two years. So nothing gets deleted, and a search hands back every row you ever held with the live ones somewhere inside.
Consultants run the desk out of the inbox
The real record of an account is a mail thread, a mobile number, and what the consultant recalls. JobAdder reports what got logged, so the pipeline number in the Monday meeting is a guess with a decimal point. When the consultant leaves, the client goes too.
Matching ranks what the CV happens to say
Loxo and LinkedIn Recruiter will rank a long list in seconds. Then the consultant rings four of them and learns the notice period is three months, the salary floor is well above the advert, and one CV already went to that client in March. The ranking had none of that.
custom software
One domain model, one API, one person holding all of it. Software shaped to how you already work, rather than a process reshaped to fit somebody's product roadmap. It runs on infrastructure in your accounts, and you are never locked to me to keep it running.
- A written spec you sign off first
- What it does, what it deliberately does not do, and what milestone one is. Agreed in writing before a line is written, so there is a fixed thing to hold me to instead of a moving target.
- One model of your business, not three
- A customer is one thing everywhere in the system. Most of the pain in software that has grown by accident comes from three parts of it disagreeing about what a customer is.
- Keys, servers and docs in your accounts
- The deployment, the domain and the environment variables move to you at the end. You can hand the whole thing to another engineer and they will be able to pick it up.
Selected projects
Products I built and open-source projects I maintain. Open a project to see the work for yourself.
- 01
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
- 022026
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
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.