Say hi

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.

Open beta in Australia

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
HeadsUp host view: 4 of 6 guests are in, with each guest's sent, opened and replied status
A HeadsUp invite page for a garden birthday party, asking Sam whether they're coming

SamI'm in! 🎉

Coming soon, early access open

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.

Paused, build log on the blog

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.