AI Applications
LLM pipelines, retrieval, structured extraction and evaluation harnesses built for production rather than demos.
I'm an independent developer building AI-powered apps — working solo, across the whole stack, from data model to the interface people actually touch.
The software I find worth building starts with a cost someone is quietly carrying: hours spent on repetitive formatting, a process only one person understands, information that exists but cannot be reached by the people who need it.
So that is where I start. Before choosing a framework or writing a schema, I want to know what a problem actually costs — in hours, in errors, in things that silently do not get done. That number decides whether something is worth building and what it should look like.
I work across the whole stack: AI pipelines and retrieval systems, Next.js and React front ends, native iOS in Swift, PostgreSQL with row-level security, and the cloud infrastructure holding it together. Being one person across all of it means no handoffs and no places for a project to stall.
Right now I am building my first product. It will appear on the Apps page the moment it is real — I would rather show working software than promise it.
The areas I build in — chosen for depth over breadth.
LLM pipelines, retrieval, structured extraction and evaluation harnesses built for production rather than demos.
App Router architecture, server components and streaming interfaces that stay fast as the surface area grows.
Strictly typed codebases where the compiler catches whole categories of bug before review does.
Native SwiftUI apps with offline-first sync, background location, push notifications and App Store delivery.
Relational modelling, row-level security, realtime channels and migrations that survive a growing team.
Versioned REST services with documentation, webhooks, rate limits and predictable error semantics.
Design systems, interaction detail and accessibility — treated as engineering concerns, not decoration.
Serverless and queue-backed architectures with observability, sensible cost controls and real disaster planning.
Depth in a focused set of tools rather than a shallow list of everything — chosen because they hold up in production, not because they trend well.
Component architecture, server components, suspense boundaries and state that stays predictable as an app grows.
App Router, streaming SSR, route handlers, caching strategy and edge-ready deployments on Vercel.
Strict-mode types, discriminated unions and inference-first APIs that make invalid states unrepresentable.
Modern Swift with async/await, structured concurrency, and SwiftUI backed by a clean data layer.
SwiftUI, MapKit, Core Location, background modes, push notifications and App Store submission.
Postgres, row-level security, realtime channels, storage and auth wired into production apps.
Schema design, indexing, migrations, query tuning and RLS policies that hold up under real load.
Token-driven design systems, dark mode, container queries and interfaces that stay consistent at scale.
Versioned, well-documented endpoints with sane pagination, idempotency, rate limits and webhooks.
LLM pipelines, structured output, tool use, RAG, evaluation harnesses and cost/latency budgeting.
OAuth 2.0, magic links, sessions, MFA, role-based access control and secure token handling.
Serverless and queue-backed systems, background jobs, observability and cost-aware scaling.
Interface design from wireframe to polish — hierarchy, motion, accessibility and honest empty states.
Trunk-based workflows, clean history, reviewable commits and reliable release branching.
Four things I hold to on every project, regardless of size.
Technology is the means. If a simpler approach solves it better, that is the recommendation you will get — even when it means a smaller project.
Working software in front of real users beats a perfect plan. Weekly increments on a live URL, not a reveal at the end.
Documented, typed and conventional. Your team should be able to extend it without needing me on a call.
Collect the minimum, be explicit about it, delete it when it is done. Security is never an upsell.
Available for select projects
Tell me what your team is carrying manually today. If software can remove it, you will get a straight answer on how — and if it cannot, you will get that answer too.