AI workflow, Fintech, Web

Building a fintech product with no engineering team, with Claude as the executor. A financial platform for shift-based physicians.

Jaleco dashboard with the balance of the period, reminders, payments to receive, upcoming shifts, budget and goals
Role
Senior Product Designer
Team
Product Designer and Data Analyst
Date
2026
Platform
Web

The idea behind it

Jaleco is a financial platform for shift-based physicians, built by two people and no engineering team. I designed the delivery flow before any product code existed: I own every product and interface decision, a data analyst owns the database, and Claude executes inside a design system I control.

A shift-based physician is paid per shift, by several hospitals, each on its own schedule, often one or two months after the work was done. A Google Sheets file tracked it all, and could not answer the questions a physician asks every month.

  • How much have I worked this month, and where?
  • What has been paid, what is still pending, and what is late?
  • What is my real income this month? It depends on when a shift is paid, not when it was worked.
  • How do income, expenses and savings goals look together?

Answering any of them meant manual formulas, a tab per month and data typed again by hand. Nothing connected a shift to its payment, and one wrong cell changed the month's result without anyone noticing.

Two people can own a real product when Claude only executes, inside a system I designed. That works only if it is clear who decides what.

Me, Senior Product Designer

The product

Strategy, every screen, the design system, Design Review and the final approval to ship.

Senior Data Analyst

The database

Schema and migrations, the local database with fictional data, production, backups and access rules.

Claude

Execution

Builds what the two of us decide, inside the system we designed. It never decides what ships.

I designed this flow before any product code existed, and revised it over several rounds until every step had an owner. It is how every change reaches the two physicians.

Every iteration happens on localhost, against a local database with fictional data and the same structure as production. Nothing is published to be reviewed, and real data exists only in production.

Diagram of the Jaleco delivery flow in three zones: design system, localhost and ship
The delivery flow

Three of the seven steps are mine, the ones that depend on judgment: framing the problem, reviewing the result and approving what ships.

New request

Frame the problem

Before anything is built, I decide what the user needs to answer, what the screen shows and which rules it follows.

Design Review

Judge the result

I review it as a product. I ask for tweaks, add a component to the design system, or approve. If a fix from the checks changes anything visible, it comes back to me.

Merge

Approve what ships

My final approval, once the checks pass. Nothing reaches production without it, and I am accountable for what does.

Claude builds every screen from a design system that lives in my own repository, separate from the product. It is the only source of interface: its catalog ships inside the package and is written for an AI reader, with every token and component and the rules for using them.

When a screen needs something the design system does not have, Claude does not improvise. It reports what is missing, and I decide whether it belongs in the design system or stays in the product. From there the process is automated: the new component arrives in the design system repository as a pull request, and I approve it. The release updates Storybook and the package, and the product imports the new version.

Storybook page of the design system showing a table with three rows selected and a bulk-action bar
A component the product asked for, in the design system's Storybook.

At one point Claude suggested swapping my design system for an off-the-shelf one. I weighed what that would do to the architecture and kept mine: it is shared across products, and its rules carry decisions I do not want to make again.

Then I wrote the decision into the rules Claude loads at the start of every session. The design system is the only source of components, and a check fails the build if the product points at anything other than a released version.

Before settling on a build tool I asked why not Next.js. Jaleco is a private app behind a sign-in: it runs in the browser, and Supabase is the backend.

Next.js would bring server rendering the product does not need. I chose Vite on those trade-offs.

Jaleco on desktop and mobile: the dashboard, payments received and calendar screens, and shifts and expenses on a phone
Dashboard, payments received and calendar on desktop; shifts and expenses on mobile.

Jaleco is in testing with two physicians. Each one signs in and sees only their own data.

The questions the spreadsheet could not answer are now answered by rules built into the product: a shift's status is derived from its dates, never typed, and a month's income is counted by payment date, not by shift date.

Next case

Wally, one design system for every Wallester product

View case study

Buttons, text input and select next to the colour, type and spacing foundations