Back to blog

July 3, 2026

Convex made hobby apps feel light again

Convex has made small app development feel much easier because I spend less time worrying about webhooks, caching, and keeping the frontend in sync with backend state.

ConvexBackendRealtimePrototyping

One of the things I like about Convex is that it removes a lot of the small backend decisions that usually slow down hobby projects.

With a normal app, I often start with a simple idea and then immediately have to think about everything around the idea. Where does the data live? How does the client stay updated? Do I need a cache? When do I invalidate it? If another service calls back into my app, where do I put that webhook? How much infrastructure do I need before the actual feature is even interesting?

Convex changes that feeling.

The big shift is that the backend and frontend feel connected by default. Queries are TypeScript functions, the database is reactive, and the client libraries are built around live-updating data. Instead of building a feature and then separately designing the synchronization story, I can usually model the data, write the query or mutation, and let the app react to changes.

That does not mean caching disappears from software. It means that, for the kinds of apps I am experimenting with, I do not have to make caching the first architectural decision. I can spend more of my attention on the shape of the product and less on whether the UI is showing stale state.

Webhooks feel similar. Convex has HTTP actions, so when I need an external service to call into the app, there is a clear place for that code to live. I can receive the request, validate what I need, and hand the actual state change to a mutation. The flow is simple enough that it does not feel like I am building an entire backend platform just to try one feature.

That is the part I value most for hobby work: the low setup cost.

I have used enough traditional stacks to respect databases, queues, caches, workers, deployment scripts, and all the pieces that make production systems reliable. Those tools are still important. But for a small idea, they can also create drag before the idea has proved it deserves that much structure.

Convex gives me a lighter starting point. I can build a realtime feature, store data, write backend logic, and connect it to the UI without constantly switching contexts. For personal experiments, that makes the difference between finishing a small app and leaving it as another folder of half-built setup code.

That is why I keep reaching for it in hobby projects. It makes development feel direct again.