Web apps and custom software
The software your business actually runs on.
Booking, dashboards, marketplaces, internal tools — anywhere somebody logs in and real work happens. Most agencies refer this out. We build it, which is also why our ordinary websites are faster than theirs.
From $15,000 · a discovery sprint is priced separately, and only where the shape is not obvious yet.
Four shapes of web app. Yours probably fits one.
If it does not, that is fine — half the work is finding the right shape, and the discovery sprint exists for exactly that.
Software you sell to other businesses
Each of your customers gets their own private space, their own data and their own admin. Nobody can see anybody else's — enforced in the database, not just hidden on the screen.
Marketplaces
Two sides: people who list, and people who book or buy. Payments, reviews and what happens when a booking goes wrong — the parts most builders skip.
Internal tools
The dashboard your team actually uses. Built around how you work, rather than how this year's software company thinks you should.
Booking and scheduling
Several rooms or staff or machines, repeating slots, payment at the time of booking, and your real calendar. The hard parts solved — double bookings, time zones, holidays.
The engineering muscle most agencies don't have
If an agency that is mostly designers is quoting your web app, ask three questions: who designs the database, who builds the login, who does the deploy. We can answer all three with the same name.
Senior engineers, not template-stitchers
We write code rather than configure no-code tools. When the requirements get strange — and they always do — we change the software, not the requirements.
Logging in, done right
Roles, permissions, a record of who did what, password resets, two-factor. Most of the security incidents we get called about are a login system somebody copied from a tutorial.
A database that survives growth
The boring decisions — how the tables relate, what is indexed, what is never really deleted — are the ones that decide whether month eighteen is calm or expensive.
Fast from day one
The public pages load in under a second and a half, and the app itself answers in a fifth of a second. We measure it before we ship and after every change.
What we build it with
We change parts of this per project, but the bones are the same every time.
- The screens
- Next.js 16, TypeScript, Tailwind v4
- The engine
- Server Components, Drizzle, PostgreSQL
- Logging in
- Supabase Auth, or NextAuth or Clerk
- Where it runs
- Vercel, or AWS where your rules need it
- Taking money
- Stripe, Razorpay, or your own gateway
- Live updates
- Pusher, Liveblocks, Supabase Realtime
What you get
Every web app project ends with all of these in your hands.
- A written plan for how it will be built, before anyone writes code
- The output of a one-week discovery sprint, if the shape is not obvious yet
- Logging in, roles and permissions, done properly rather than copied from a tutorial
- A database designed for your business, and the migrations that got it there
- Admin screens your own team can use without ringing us
- The connections to whatever else you already run
- The source code, the repository and the deploy keys — all yours
- Documentation, and an hour walking your team through it
- 90 days of support after launch, and a care plan if you want us on call
Ready to scope it?
Half an hour on the phone and we will both know whether we are the right people for it. If we are not, we will say so.
We reply within 4 business hours.