WAYF is a Convex Development Agency
The backend that thinks like your frontend. Real-time by default, TypeScript everywhere, zero infrastructure to manage. Convex fits how we build: React and Next.js frontends that need a reactive backend.
The backend that thinks like your frontend. Real-time by default, TypeScript everywhere, zero infrastructure to manage. Convex fits how we build: React and Next.js frontends that need a backend designed for the same mental model—reactive, type-safe, and built to change.
What We Build
Full-stack applications where the backend is TypeScript functions, not infrastructure. Collaborative tools with real-time sync that actually works. SaaS platforms where every query is live and every mutation is a transaction. MVPs that ship fast because you’re not stitching together databases, caches, auth, and WebSocket servers.
We’ve built applications where data flows to the UI without polling, without state management libraries, without the complexity that usually comes with keeping things in sync. We’ve used Convex for straightforward CRUD apps and for systems with live collaboration, background workflows, and AI integrations.
What we build less of: applications where SQL is the right answer, systems that need a database you fully own and operate from day one, projects where real-time isn’t a feature but Postgres experience is mandatory. We’ll tell you when Convex isn’t the fit.
Why Us
Frontend Team, Reactive Backend
Our engineers build React and Next.js applications. Convex speaks the same language—TypeScript functions that feel like writing frontend code. One team, one mental model, end to end.
Seniority as Default
Our engineers average 8+ years in software. They’ve built backends on SQL, NoSQL, and everything between. They know what tradeoffs Convex makes and use it when those tradeoffs are right.
Product Thinking, Not Platform Enthusiasm
We don’t use Convex because it’s interesting. We use it when the problem calls for reactive data, transactional guarantees, and a backend that gets out of the way. When it doesn’t, we say so.
Range
We’ve shipped for early-stage startups (Framer, Rye), global manufacturers (Ingersoll Rand), and international institutions (Council of Europe Development Bank). An MVP that needs to ship in weeks and an enterprise system that needs to survive compliance have different requirements. We know how to do both.
How We Work
Two modes. Sometimes you need specialists who plug into your existing team. We adapt to your tools, your rituals, your preferences. Sometimes you need us to own it—architecture decisions, implementation, deployment. What stays constant: direct communication, decisions documented, honest feedback. If Convex is wrong for what you’re building, we’ll tell you before you’ve invested months.
Technical Approach
Queries and Mutations as the Core Abstraction
Queries are read-only, deterministic, and reactive—change the underlying data and subscribed clients update automatically. Mutations are transactions that read, write, and either fully commit or fully roll back. We design around these primitives because they’re where Convex’s guarantees live.
Actions for the Outside World
Anything non-deterministic—API calls, AI models, sending emails—goes in actions. Actions can’t touch the database directly; they call mutations and queries. This constraint isn’t arbitrary. It’s what makes the transactional model work. We structure code so actions are thin wrappers around the interesting logic, which stays in transactions where it belongs.
TypeScript End to End
Schema definitions in TypeScript. Function arguments validated with TypeScript. Return types inferred and enforced. The database isn’t a separate system you query with strings—it’s part of your codebase, type-checked and autocompleted.
Real-Time Without the Plumbing
No WebSocket management, no subscription logic, no cache invalidation. You call useQuery in React and the data stays current. We’ve seen teams spend months building worse versions of what Convex provides out of the box.
Schema Design That Fits the Model
Convex uses a document database with relations. Not relational like Postgres, not schemaless like early MongoDB. We design schemas that use indexes effectively, model relationships appropriately, and don’t fight the platform.
What We See Go Wrong
Teams choose Convex for the real-time features and then don’t think about data modeling. The reactive magic works best when your schema is designed for it. We see tables that don’t fit the document model, queries that would be simpler in SQL, and architectures that fight the platform instead of using it.
We also see over-reliance on the frontend. Convex makes it easy to call mutations from the browser. That doesn’t mean all your logic should live there. Complex validation, multi-step workflows, and anything that shouldn’t run on the client belongs in server functions—queries, mutations, and actions.
Another pattern: ignoring the transaction model. Every mutation in Convex is a transaction. That’s powerful, but it means you need to think about what belongs in one atomic operation versus what should be scheduled work. Teams that treat it like a traditional API miss the consistency guarantees that make Convex worth using.
Who We Work Well With
Clients building applications where real-time matters—collaborative tools, live dashboards, multiplayer features—who want the infrastructure handled. Also: clients whose team is frontend-strong and wants backend capability without the cognitive overhead of a different stack. Convex extends what React developers can own without learning SQL, managing connections, or debugging cache invalidation.
What both types have in common: openness to a different approach, tolerance for a platform that’s younger than Postgres, and treating our team as partners rather than vendors to be managed.
Who We’re Not For
If you need SQL. Some problems are relational, and Convex isn’t. If your queries are naturally expressed as JOINs across normalized tables, if your team thinks in SQL, if you need the ecosystem that comes with Postgres—Convex probably isn’t the right tool.
If you need to own every layer. Convex is a managed platform. The backend runs on their infrastructure (unless you self-host). If that’s a dealbreaker for your organization, we’ll help you evaluate alternatives.
If you’ve already decided exactly what to build and need hands to type it—no questions, no pushback—we’re probably not the right fit. We do our best work when there’s room to think.
We're booking content platform
engagements for 2026.
Twenty-five minutes to walk through the work and decide if we're the right team for it. Scoping and a fixed price come after.