Skip to content
Selected work

Owned product · 2025 – Present

Invoicery

A client and invoice management product for freelancers and small service businesses: set up a branded company, manage clients, build invoices, and share them through clean public links.

01 Scope

The product context behind the work.

Problem

Freelancers and small service businesses track clients, invoices, and payment status across spreadsheets and disconnected tools, so billing is slow, inconsistent, and easy to lose track of.

My contribution

  • Owned the core invoicing flow: company setup with branding, timezone, and currency; clients; invoices with line items and notes
  • Implemented public tokenized invoice links and a clean public invoice page for recipients
  • Added invoice email delivery with Resend
  • Set up auth with Clerk, a Postgres/Prisma data model, and file storage with Vercel Blob

02 Approach

Important engineering decisions.

Invoicery is built around the everyday billing loop of a small service business: set up your company once, keep your clients in one place, and turn work into invoices that are easy to send and track. The product is shaped so each step flows into the next rather than living in a separate tool.

Onboarding captures the company identity, including branding, timezone, and currency, so every invoice comes out consistent and professional. From there the user manages clients and builds invoices with line items and notes, with the data modeled cleanly in Postgres through Prisma.

The part that makes it feel like a real billing product is delivery. Invoices are shared through public tokenized links and a clean public invoice page, and can be emailed to recipients via Resend.

Around the core sit the foundations: Clerk auth, a clean Postgres/Prisma data model, and file storage on Vercel Blob, with broader abuse controls and monitoring still in progress.

03 Evidence

Product screens from the shipped flow.

The invoice builder: line items, notes, and totals before sending.
The invoices table with status tracking across clients.
A clean public invoice page opened from a tokenized share link.
Client management with company and contact context.

04 Delivered & verified

What the public proof supports.

Delivered scope

Workflow

Company setup, clients, invoicing, and sharing in one connected product

Delivery

Invoices go out as public tokenized links and emails, not manual attachments

Product scope

Shipped auth, data model, branding, invoice builder, public pages, and email delivery

Stack

Next.jsTypeScriptTailwind CSSshadcn/uiClerkNeon / PostgresPrismaResendVercel Blob

Reflections

  • The product value is the connected loop: company setup, clients, invoicing, and sharing, not any single screen.
  • Public tokenized invoice links and tracked email delivery are what make it feel like a real billing product, not a form.

Next step

Have a similar project?

If this looks close to the product work you need, book a short call and I will help scope the next step clearly.

Book an intro callopens in a new tab