Expertise / 04
Web Development
Sites and web applications built by hand on Next.js, React and Node.js: fast, accessible and maintainable, with no page builders and no plugin sprawl.
3 projects, all delivered
01 — Tools and stack
What this work is built on. Every tool below is part of at least one of the projects further down this page. HoverTap a card to see what it is used for.
Next.js
Framework and language
App Router applications, from the public pages to the authenticated product, in one codebase.
React
Framework and language
Interfaces for the people who run the system: dashboards, review queues and screens that differ by role.
TypeScript
Framework and language
One language from the API routes to the screen: 45,148 lines of it in one product, counted on 2026-09-08.
Tailwind CSS
Styling and static sites
Consistent, responsive interfaces, with no bespoke stylesheet to maintain.
Astro
Styling and static sites
Static sites that ship no JavaScript. This one is built with it.
PostgreSQL
Data behind the pages
The database behind both platforms. In one of them, row-level security decides what each role can read.
Prisma
Data behind the pages
Schema, migrations and typed queries: 21 models and 27 migrations in one product.
Supabase
Data behind the pages
PostgreSQL with row-level security, and edge functions that keep the model’s key off the web server.
Also offered
What each of these covers is on the Integrations page.
02 — Delivered
AdWash — Autonomous Google Ads Management
A Next.js application in TypeScript: 63 API routes and 27 pages in one codebase, counted from the repository on 2026-09-08.
Just Grade Metrics — AI Call Quality Assurance
Four role-based surfaces on one multi-tenant product. An agent sees their own calls and can contest a grade, and never sees a colleague’s.
This site
It ships no JavaScript: every effect is CSS, and every word is in the HTML from the first paint.
03 — Book a call
Need a site or an application built?
Book a call to talk through what it is for, who will use it and what it has to connect to.