Real sites for real businesses — built to bring you work.
A closer look at what I've built for local businesses — captured from the live, in-production sites.
MRA Photography
www.photographymra.comA working Metro Detroit photography business: portfolio galleries, plain-English pricing, an inquiry form that gets answered, private client galleries with downloads, and online payments.

The problem
A busy local photographer was running her business out of DMs and email threads. Clients could not see pricing without asking, galleries were shared as expiring links, deposits were chased by hand, and every inquiry meant another back-and-forth before a date was even held. She needed the site to handle the first half of every booking so she could be out shooting instead of typing.
The stack
- Next.js (App Router) + TypeScript
- Tailwind CSS
- Deployed on Vercel
- Postgres for bookings, galleries, and contracts
- Stripe for deposits and balance payments
- Cloudinary for image delivery
- Bot protection on public forms
What I built
- Portfolio galleries that load fast on a phone, where most clients look
- Pricing published up front, so the first conversation is not about cost
- Inquiry form that reaches her instantly and is easy to reply to
- Private client galleries with downloads, delivered when she chooses
- Deposits and remaining balances paid online instead of chased
- Google reviews pulled in automatically so the newest ones always show
Screenshot gallery
Captured from the live site.



Our Family Table
arnoldfamilyrecipes.orgA private family cookbook: recipes with accounts and permissions, themed collections, and printable cookbooks — everything the family has ever cooked for each other, in one place.

The problem
Family recipes were scattered across index cards, phone photos, and a few half-remembered phone calls. Some were already lost. The family needed somewhere private to put all of it — searchable, editable by more than one person, and durable enough that the next generation still has it.
The stack
- Next.js (App Router) + TypeScript
- Tailwind CSS
- Deployed on Vercel
- Postgres with user accounts and permissions
- Image uploads and optimization
What I built
- Recipes anyone in the family can add and edit, with their own account
- Collections that group recipes by occasion, cook, or season
- Printable cookbooks assembled from the recipes already in the site
- Private by default — accounts, not a public blog
- Search that works across ingredients and names
Screenshot gallery
Captured from the live site.


Want one like this?
Tell me what you do and I'll tell you what it costs.