03 2026–in progress
Rewriting the internal admin system
Choosing to rewrite instead of refactor is itself the case study.
- Client
- Speedlo Pro
- Period
- 2026–in progress
- Role
- Technical project lead
- Stack
- ReactTypeScriptGraphQL + ApolloVitest
This project is currently running. What follows are the decisions, not a finished result.
Context
The old internal admin carries substantial technical and design debt. Refactoring it gradually was the obvious option.
I concluded that refactoring would cost more than rewriting from scratch, and I had to defend that call.
Problem
A rewrite means choosing the entire stack and owning that choice for years.
It also means sequencing the work around real constraints rather than an ideal plan.
Decisions
- 01
Rewrite from scratch
At this level of debt, refactoring would have cost more than starting again. The call was made on an estimate, not a feeling.
- 02
Choose the whole stack, not just the headline technology
Including the form and validation libraries, because in an admin system forms are what actually determines development speed.
- 03
Introduce documentation, with a multi-year horizon
The company had none. I selected the tool arguing it would help new colleagues and later serve as the source for an AI chatbot helping clients with configuration.
- 04
Push testing through
Speedlo had no testing at all. On this project I am introducing Vitest.
- 05
Sequence the work by constraint
I build the order from what needs UX/UI time, what needs the backend, which is overloaded, what needs research and description, and what frontend can do alone without other teams.
My role
- I lead the project technically and own the stack decision.
- I write the briefs and split the work across the team.
Result
- The project is under way: stack chosen, testing introduced, and documentation exists for the first time in the company’s history.
- I will add the outcome once there is something to show. Until then this study stands on its decisions.