Skip to content
Back to work

Payment infrastructure

Checkout, payroll, and treasury for a custom design studio.

2026 · Designed & built · Next.js · Fastify · PostgreSQL · Stripe · Revolut Business · TypeScript · Node.js · Docker · Redis

Internal operating system for Replace Studios — client invoicing, artist payouts, and company treasury.

Replace Studios sells commissioned design and engineering, plus instant-download files. I designed and built the internal system behind that: a client checkout, a staff console, and a platform that owns orders, the ledger, payouts, and treasury. Clients pay Stripe invoices. Artists are paid later, on purpose.

Billing
Stripe invoices
Payouts
Stripe Connect
Treasury
Revolut Business

The studio needed one place for selling, fulfillment, and paying artists instead of informal tickets, manual invoices, and a spreadsheet of who was owed what. Client payment and artist payout had to stay separate, with an audit trail, and staff tools that do not trust the browser.

Built checkout for clients and a console for staff, both talking to a single platform API. Tokens never sit in the browser.

Clients pay with Stripe hosted invoices. Finished work credits an artist on a double-entry ledger; that credit is not a payout.

Artists request payouts in the console. A different person approves and executes. Money leaves through Stripe Connect.

Company cash can move from Stripe onto Revolut and be allocated from the console. Staff money tools require passkey and TOTP.

What changed

From invoice to payout, on purpose.