// selected work

The problem, and how we solved it.

A few of the systems we have built — anonymized, but real. Each one started as a process no off-the-shelf tool could handle.

Finance & invoicing platform

We replaced 47 spreadsheet tabs with one finance app.

47 spreadsheet tabs → one finance app

the problem

A services business ran its entire finances out of two monstrous workbooks — a profit-and-loss file and a client-invoice file, 47 tabs between them. Every month-end was copy-paste across tabs, manual reconciliation, and hoping a formula had not silently broken. Per-client statements and recurring invoices were all done by hand.

how we solved it

One multi-tenant web app behind single sign-on: cycle-aware P&L, organizations and memberships, and a real invoicing system — issued and recurring invoices, project line items, multi-currency, bulk drafting. Transactions import in, clean statements come out, and every figure is traceable instead of buried in a cell reference.

FastAPIReactPostgreSQLAlembic

Amazon seller operations platform

Running several Amazon brands from one place.

Several brands · daily profit in one dashboard

the problem

A team managing multiple brands on Amazon was scattered across spreadsheets — COGS worked out by hand, inventory forecast in Excel, orders and shipments tracked in three separate tools. Adding a brand meant duplicating the whole fragile workflow, and nobody could answer 'are we profitable this month?' without a day of reconciliation.

how we solved it

A platform where every brand gets its own workspace: live catalog sync, COGS tied to real purchase-order history, inventory reconciled across warehouses, and daily per-listing margin analytics. Brand owners get read-only dashboards over a shareable link, and scheduled jobs keep the numbers current on their own.

ReactFastAPIPostgreSQLRailway

AI product-photography pipeline

Product shoots, without the photographer.

Hundreds of SKUs · on-brand shots in minutes

the problem

Getting product imagery meant booking shoots or settling for stock — slow, costly, and impossible to scale across hundreds of SKUs. Testing a new lifestyle angle or a fresh marketing variation took a designer and a week of back-and-forth.

how we solved it

A studio where a brand's colors, logo, and voice drive AI image generation across several engines. Pick an image type from a template, queue a job, and get on-brand main images, lifestyle shots, and infographics back in minutes — previewed inside real marketplace mockups before they ship, then exported straight to listing feeds.

FlaskGemini + fal.aiCloudflare R2PostgreSQL

AI email triage & routing

An inbox that sorts and answers itself.

Inbox auto-sorted · replies drafted in minutes

the problem

A support team was drowning in a single inbox mixing customer questions, vendor issues, internal notes, and spam. Sorting it by hand burned hours and buried the urgent ones, and there was no quick way to draft a reply from the dozen similar cases already handled last month.

how we solved it

We wired the helpdesk to a service that reads each incoming email, classifies it, scores urgency, and drafts a reply skeleton from past cases — shown inline while the agent composes. A background job processes new mail every few minutes, and admins can override the model and turn corrections into rules.

FlaskLLM classificationFreeScoutPostgreSQL

Single sign-on & internal wallet

One login for a whole suite of apps.

One login across every internal app

the problem

A growing set of internal apps had each grown its own login, its own user table, and its own idea of permissions. Onboarding one person to four tools meant four accounts, and working out who could access what was manual database surgery in every app.

how we solved it

One identity service every app delegates to — passwordless email sign-in, a single profile, and a shared credit wallet. New apps register as a client, receive scoped tokens, and inherit a central allowlist, so access is granted once and audited in one place instead of six.

Next.jsOAuth / OIDCPrismaPostgreSQL

Multi-tenant HR platform

Onboarding and HR for a multi-company group.

Several companies · one isolated HR system

the problem

A professional-services group with several companies had no system for onboarding, contracts, or time off — just spreadsheets and email chains. Each company needed its own isolated data, but leadership still wanted to see across all of them.

how we solved it

A multi-tenant app where every company is its own isolated tenant: a guided onboarding wizard, an employee directory, contract signing and storage, leave requests with balance tracking, and promotion checklists. People are invited by email, sign in through shared single sign-on, and land straight in onboarding.

Next.jsSupabasePrismaVercel

// start here

Your problem could be next on this page.

Tell us your problem

Free 30-minute consult · every build is quoted · reply within 1–2 business days