Why We're Moving Consoly's Backend from Supabase to Railway
Supabase worked well for us. We’re moving for financial reasons, and we expect a leaner backend on Railway to lower our recurring costs substantially. The migration has just begun, and we’ll move one module at a time.
A conceptual illustration of moving from a ready-made backend platform toward a backend built for Consoly.
Supabase had served us well as we built Consoly, a project in my portfolio, and we were happy with it. This decision is about costs: we currently pay for Supabase Pro and a separate DigitalOcean Droplet for multiplayer. Once the migration is complete, we expect a substantial reduction in recurring costs by moving to a leaner backend built around our own API on Railway.
The options we considered
We first compared running the backend in Docker on a Droplet with running that same container on Railway. The cost estimates were fairly similar, so changing where the container ran was not enough to meet our goal. We started looking at the backend itself and the opportunity to build a leaner API around what Consoly needs.
Why we chose Railway
Railway will host the new API as a service. Its build system can package a standard Node.js app without requiring us to maintain a custom Dockerfile from the start. Before production, we plan to make the deployment setup explicit and consistent.
A conceptual illustration of the API and database setup we’re planning for Consoly.
Why Node.js
We’re building the API with Node.js and NestJS, using Fastify to handle HTTP requests. I already have hands-on experience with Node.js, JavaScript, TypeScript, NestJS, and Fastify. That familiarity gives us a practical foundation, and it matters to me that I can understand and maintain the code as it grows.
AI is helping with the migration, but it isn’t doing it for us. We use it to explore options and assist with specific tasks; we make the architectural decisions and review the work. We’re responsible for understanding what we ship.
A conceptual illustration of AI as a coding aid, with a human reviewing the design.
The work ahead
We’ve just started the first migrations. We’ll move the backend module by module, keeping each part in place until its replacement is ready. Over time, the goal is to move all the backend services Consoly relies on away from Supabase and onto the new system. Our aim is for people to keep using Consoly as usual and not notice the transition.
Images are conceptual illustrations and do not depict Consoly’s actual infrastructure.



Comments
Post a Comment