Proof
A few things worth reading in full.
Depth over volume. Each one names the real constraint, what got built, and what it changed.
Case studies
Selected builds
Software I designed and built myself.
The case studies are about what changed for a business. These show the hands-on side: applications, integrations, and AI systems I built, from production products to client prototypes.
Consumer mobile app
ProductionScanimo
A trading card app that identifies a card from a phone photo and builds the user's collection from it. I designed and built it on my own, from the camera and recognition pipeline to the backend, and took it through approval on both the Apple App Store and Google Play. It has more than 250 users.
What it shows
I can take a product from idea to a public release on my own: product design, mobile engineering, computer vision, backend services, and app store distribution.
Built with React Native · Expo · TypeScript · Google Cloud Vision · Express
- Scanning
- Camera capture and text recognition
- Matching against a trading card database
- Confidence scoring with a manual search fallback
- Collection
- A digital collection with card stats and scoring
- Collection insights and charts
- Onboarding designed for younger users
- Social
- Friend connections
- Side-by-side collection comparisons
- Shipping a product
- iOS and Android from one codebase
- Backend API and stored user data
- Released on both app stores, plus a marketing site
Business application
ProductionCloseProof
A real estate transaction platform with deal pipelines, date-driven milestones, client portals, document collection, messaging, AI-assisted drafting and reviews, team permissions, and subscription billing. I started the codebase and built most of its core product, working with a second engineer.
What it shows
Software that coordinates people, documents, and decisions across a whole customer workflow, the same pattern as client onboarding or service delivery.
Built with Next.js · TypeScript · PostgreSQL · Prisma · Claude · Stripe
AI-native application
ProductionCapital Record
Gives AI assistants structured access to a person's investment records, preferences, and decision history through Model Context Protocol. AI-suggested context only becomes part of the record after the user approves it.
What it shows
AI that works from trusted, persistent information, with clear controls over what the AI is allowed to make permanent.
Built with Next.js · TypeScript · MCP · APIs
AI agent workflow
ProductionBryden Holdings
An investment underwriting system where specialized agents gather research and propose assumptions, a person approves them, and the valuation runs on fixed, repeatable calculations.
What it shows
Multi-step AI workflows that do real work while a person keeps authority over the numbers that matter.
Built with Python · AI agents · Financial modeling · Automated tests
Client prototype, anonymous distributor
PrototypeInventory decision support
Connects project schedules, inventory, purchase orders, and warehouse stock so purchasing can see early arrivals, safe holds, and shortages before they happen.
What it shows
Complicated, spreadsheet-run business rules turned into working software a leadership team can test before committing.
Built with Next.js · TypeScript · PostgreSQL
Read the case study
Service directory
In stagingUpstream
An interactive map and directory of a nonprofit network, with search by city or ZIP code, filters, nearby results, and network statistics, updated from the network's own spreadsheet.
What it shows
Existing organizational data turned into a public-facing tool, without replacing the system behind it.
Built with Next.js · TypeScript · MapLibre · OpenStreetMap
Business website
In stagingHidden Woods Estates
A marketing site for a residential land development, with photography-led property pages, mobile-first design, and buyer inquiries delivered by email.
What it shows
Customer-facing websites built to generate business, not just to look good.
Built with Next.js · TypeScript · Tailwind CSS · Resend
Start with one problem.
Bring me the thing that's eating your week. We'll figure out whether it's worth solving and what it would take.