Things I've made
Projects
Products I've designed, built and shipped myself, from the database schema to the landing page motion. Scroll on, each one gets its moment.
Get everyone there.
HeadsUp turns any plan into a beautiful invite page. Send it as a link by text, guests RSVP right on the page with no app and no account, and you see exactly who's in. It went from a waitlist to open beta in three months, and anyone in Australia can now sign up and send their first invite.
- 2,300+ commits since July
- 10 free planning tools
- 24 Sep open beta went live
Built with
- React
- Vite
- Astro
- TypeScript
- AWS Lambda
- DynamoDB
- WebSockets
- Stripe
- CDK
SamI'm in! 🎉
The fast lane to a yes.
Yeslane is the client portal for small marketing agencies. Send work for approval, chat, share files, book meetings and report results, all under the agency's own brand. No more chasing approvals through email threads.
- Approvals
- Chat
- Files
- Meetings
- Reports
Built with
- Astro
- React
- TypeScript
- AWS Lambda
- DynamoDB
- SES
- Cognito
- CDK
Approved
ClientLove it. Ship it.
Quotes your clients say yay to.
yaysheet turns a quote into a bold, interactive page. Send it as a link and your client picks between options, asks questions on any line and accepts in a tap, while you see every open, scroll and click. Everything a PDF can't do, on your own domain with your logo.
- Options
- Questions on any line
- Open tracking
- Live totals
- Your domain
- Made for phones
Built with
- React
- Vite
- Astro
- TypeScript
- Zod
- AWS Lambda
- DynamoDB
- SES
- Cognito
- CDK
Yay!
ClientCustom store, please!
Show up. Get stronger.
Strengthen is the workout tracker I built to track my own progress. Log each set with a one-tap verdict for next time, keep your machine settings handy, back-enter the history you remember, and watch months of effort turn into a line that goes up. Phone at the gym, laptop for the wide view, and it keeps working with no signal.
- Last time, filled in
- A verdict on every set
- Machine settings
- Trends
- Works offline
Built with
- React
- Vite
- Astro
- TypeScript
- Zod
- Zustand
- Recharts
- AWS Lambda
- DynamoDB
- Cognito
- CDK
+2.5 kgon last week
8 weeks showing up
PR!
Know it by heart.
Smart Aleck is a memory game for anything you want to know by heart. Make a deck with your own fields, fill in the cards, then play quick rounds until they stick: ten games in your own words, a few new cards at a time, and spaced review that asks again just before you'd forget. Aleck, the mascot, side-eyes you the whole way.
- Decks with your own fields
- Ten games
- Learning paths
- Spaced review
- Daily goal and streak
- Private photos
Built with
- React
- Vite
- Astro
- TypeScript
- Zod
- Zustand
- AWS Lambda
- DynamoDB
- S3
- Cognito
- CDK
Mar14 MumBirthday
12 day streak
Scaffy CMS
A CMS that costs cents to run.
Scaffy is an open-source, MIT licensed headless CMS. Define your content schemas in TypeScript, deploy once, and it runs serverless in your own AWS account. It is on pause while HeadsUp ships, and every step of the build so far is written up on the blog.
Built with
- TypeScript
- AWS Lambda
- API Gateway
- DynamoDB
- S3
- Cognito
- Zod
- CDK
scaffy.config.ts
// define it once, in TypeScript
export default defineConfig({
schemas: {
post: defineSchema({
title: field.text(),
body: field.richText(),
published: field.boolean(),
}),
},
}) MIT
Got something to build?
Got an idea, a role, or just want to talk serverless? My inbox is open.