Signs that an application needs attention:
- It runs on a platform or language version that no longer gets security updates
- Small changes take weeks because nobody understands the code
- It is slow, breaks on phones, or cannot connect to the tools you use now
- Hosting costs keep rising for a system that does not do more
A careful, incremental approach#
Rewriting everything at once is risky. Instead I work in stages:
- Understand. I read the existing code, map the data and list what the app really does, including the undocumented parts people rely on.
- Stabilize. Urgent security problems are fixed and backups put in place before anything else changes.
- Rebuild piece by piece. Features move to a modern Go backend and a current Angular or Vue front end, one area at a time, while the old app keeps running.
- Migrate the data with checks that every record arrived intact.
- Switch over with redirects that keep old links and search rankings working.
Google App Engine migrations#
Google has retired the first-generation App Engine runtimes and their bundled services. I have moved apps from those runtimes to the current second-generation runtimes and Cloud Run, replacing retired APIs with supported equivalents along the way.