Legacy rescue & modernization

Your app still makes money. It just stopped being safe to touch.

I take old Ruby on Rails and Node codebases — the ones the original developer left behind — and make them deployable, secure and modern again. Fixed prices, work done in writing, no rewrite unless a rewrite is genuinely cheaper.

Based in Ho Chi Minh City, Vietnam (UTC+7). Async by default, so you send context during your day and wake up to progress.

This page is for you if any of these sound familiar

  • The developer who built it is gone, and nobody left knows how it works.
  • You are afraid to deploy, so you have stopped shipping changes.
  • A customer sent you a security questionnaire and you could not answer it.
  • Your hosting provider is retiring the stack your app runs on.
  • Every quote you get is for a full rebuild, and none of them explain why.
  • You want to add AI features, but nobody will touch the codebase to do it.

Four ways to work together

Most people start with the audit, because it is the only one that does not require trusting me yet. The last two are quoted after I have read the code — never before.

Start here

Codebase Health Audit

Before anyone quotes you a rebuild, you should know what you actually own. Give me read access to the repository and I will tell you, in plain English, what is wrong and what each fix costs.

  • Exactly what you own: framework, language and dependency versions, and which of them are past end of life
  • Security review: known vulnerabilities in your dependencies, how secrets and logins are handled
  • Deploy risk: can it still be built and shipped today, do the tests pass, is CI alive
  • Three priced options — patch it, upgrade it, or rebuild it — with my honest recommendation
  • A 15-minute screen recording walking you through the findings, so you can share it with your team

$250

Fixed price

Turnaround
3 business days
You provide
Read access
Credited back
If you hire me
Start with an audit

Upgrade Sprint

One framework jump, done properly and provably. This is the most common outcome of an audit and the fastest way to stop the bleeding without changing how your product works.

  • Rails moved up two major versions, or Node brought onto a supported release
  • Dependencies resolved and deprecation warnings cleared
  • Test suite green again and CI restored, so the next person can verify their own work
  • One clean deploy to staging, then production, with a rollback plan
  • An upgrade log written for whoever maintains it next

$1,800 – $3,000

Fixed price, agreed up front

Turnaround
2 – 3 weeks
Deposit
40% to start
Downtime
None planned
Ask about an upgrade

Modernization & AI Build

The bigger project — a modern front end, a rebuilt problem area, or real AI features inside the app you already have. I will not price this without reading the code first, because anyone who does is guessing with your money.

  • A Next.js front end over your existing Rails API, or a staged rebuild of the slowest, most-complained-about screens
  • AI features that fit an existing product: search across your own documents, support ticket triage, drafting and summarizing
  • Running costs estimated before we build, so an AI feature does not surprise you on next month's bill
  • Delivered in phases you can stop after — phase one ships and works on its own

$4,000 – $9,000

Quoted after an audit

Turnaround
6 – 10 weeks
Deposit
40% to start
Capacity
One at a time
Talk through the project

The Care Plan

The reason most of these apps rot is that nobody owns them between projects. This is the cheapest insurance you can buy against ending up back where you started.

  • Monthly dependency and security patching, before the vulnerabilities become incidents
  • Uptime and error monitoring, with a named person to call when something breaks
  • A fixed allowance of four to six hours a month for small changes and fixes
  • A one-page monthly health report you can actually read

$600 – $1,200

Per month, cancel anytime

Commitment
Month to month
Response
Within 1 business day
Best after
Any project above
Ask about a care plan

How working together actually goes

  1. 01

    You tell me what hurts

    One email or a 20-minute call. You do not need to know the technical details — describing the symptom is enough. If I am not the right person, I will say so and tell you who is.

  2. 02

    I read the code and price the work

    The audit comes back in three business days with three options and real numbers. No retainer required to get it, and no obligation after it. Plenty of people take the report and stop there.

  3. 03

    We agree the scope in writing, then I build

    Fixed price, fixed scope, 40% to start. You get progress notes you can follow without a technical background, and everything ships to a staging environment you can click through before it goes live.

Why me

Seven years on Ruby on Rails, most of it on a single education platform serving more than 100,000 users — spiky traffic, real customers, and a codebase that could not be allowed to break. I have done the unglamorous version of this work for a living, not just on side projects.

Performance work under real load

Doubled database query performance and cut deployment time by 40% on a production app with six-figure user counts.

What 100,000 users taught me about Rails performance

AI used carefully, not as a sales pitch

I build with AI tooling every day, which is why I am specific about where it helps and where it quietly makes a codebase worse.

The rules I give my AI coding agent

Scoping is the job

Most rescue projects fail on scope, not code. I would rather sell you the small fix that works than the big one that stalls.

How I ship a SaaS MVP in 24 hours

Questions people ask before hiring me

I am not technical. Can I still work with you?
Yes — most of my clients are not. You need to be able to grant access to the code and answer questions about the business. I handle the rest, and everything I send is written to be read without a technical background.
Do I have to give you access to my code before paying?
You give me read-only access after the audit is booked, and I am happy to sign an NDA first. Read access cannot change anything in your app.
Should I upgrade or rebuild?
Usually upgrade. A rebuild throws away years of business rules that nobody wrote down, and it is almost always more expensive than the quote suggests. I recommend a rebuild only when the framework is so far out of support that upgrading costs more — and the audit tells you which situation you are in.
What if the audit says the app is fine?
Then you paid $250 to stop worrying about it, and I will tell you so in writing. That has happened, and it is a good outcome.
You are in Vietnam. How do the time zones work?
I work async by default: you send context during your day, I work during mine, and you wake up to progress. For calls I keep evening slots in Vietnam time, which covers European afternoons and US mornings.
Can you add AI features to an app I already have?
Yes, and that is usually a better idea than a separate AI product. Search over your own documents, ticket triage, and summarizing long records are the three that most often pay for themselves. I will estimate the monthly running cost before we build anything.

Find out what you own

Three business days, $250, and a straight answer about whether your app needs a patch, an upgrade, or nothing at all. Credited back if you go ahead with the work.