Next.js and Convex, from schema to screen.
I build products in TypeScript from the database to the interface: Next.js on the web, Convex on the backend, Expo on mobile and Electron on desktop. SharpOS, the platform my studio runs on, is all four on one Convex backend, and I've built it since March 2026 as its only engineer, directing coding agents.
I reply personally within 2 business days. Rates come up on a call, once the scope is clear.
What I build
Web apps on Next.js
Server Components, static pages wherever they can be, and interfaces that stay fast on a phone.
Backends on Convex
Schemas, queries and mutations with validators and indexes, and realtime where the product needs it.
Mobile and desktop from the same code
Expo for iOS and Android, Electron for macOS, sharing types and logic with the web app.
Structure that grows with the team
Versioned modules, typed errors and tests, so the codebase stays easy to change.
A good fit
- A product on Next.js or Convex that needs a senior engineer to own it
- A new app that ships on the web first and reaches mobile or desktop later
- A codebase that grew tangled and needs structure without a rewrite
Not a fit
- Native-only iOS or Android work
- Infrastructure or SRE as the main job
How it runs
- 01
You write to me
Tell me what you're building through the form. I reply personally within 2 business days.
- 02
We talk it through
A call on the problem, the fit and what it should cost. Rates come up here, once the scope is clear.
- 03
I scope it in writing
What ships first, what it's built on and how it's tested, agreed before the build starts.
- 04
I build it test-first
Each change starts with a failing test, and you see the product running as it grows.
- 05
It's yours to run
The code, the tests and the notes your team needs to keep building on it.
Proof you can check
- Case studySharpOSWeb, macOS and iOS apps on one Convex backend: 53 versioned modules and 126 tables.
- PostA modular monolith without a rewriteHow a tangled codebase became versioned modules by cutting import cycles in place.
- Case studyFabricator UIMy open-source React components, built on shadcn/ui and adapting Fluid Functionalism by Micka Touillaud.
Questions, answered
Why Convex?
It keeps the database, the server functions and realtime updates in one typed place, so a small team ships with fewer moving parts. When a project is better on plain Postgres or an existing backend, I say so and build on that.
Do you work on existing codebases?
Yes. I read the code first, then improve it in place. SharpOS went from a tangled codebase to 53 versioned modules without a big-bang rewrite.
Can you build the mobile app too?
Yes, with Expo and React Native, sharing code with the web app. For an app that needs deep native work, a native specialist is the better hire.
Do you design the interface as well?
I build interfaces to a high bar and work closely with designers. For a brand or a design system from scratch, pair me with a designer.
Tell me what you're building.
One message is enough to start. I read every one myself and reply within 2 business days.
Need a website for a small business? That's my studio, SharpHaw (opens in a new tab).