Switching from Supabase to Convex
The decision
I decided to move the Discount Payments app from Supabase to Convex. Supabase has been solid for infrastructure, but I wanted a setup that is simpler to reason about and easier to keep in sync with my application code.
Why Convex fits better right now
- Convenience: No paused databases or manual reactivation. I can keep working without periodic reset friction.
- Cost: I pay for usage instead of per-project minimums and instance costs.
- Workflow: Schema, business logic, and data access live together in the codebase, which is especially helpful when using AI tools to move fast.
What changes in the architecture
With Supabase, I still had to design APIs, glue together ORMs, and manage caching and revalidation to keep the app and database in sync. Convex is purpose-built for application (OLTP) data, so queries, mutations, auth rules, and invariants live right next to the data. That gives me a simpler mental model and stronger correctness because the rules are structural, not scattered across multiple layers.
Next steps
I am now migrating the existing data model, rewriting data access to use Convex queries and mutations, and validating that the core flows still work end-to-end. The goal is to reduce moving parts and make future features feel lighter to build.