B2B SaaS · Fintech
When I joined Nemesh, the startup had a scanning server and a goal, faster invoice scanning, and nothing designed yet. As the sole designer, I shaped what the product became, end to end, for a BPO handling thousands of invoices a month, and wove an AI assistant through the interface, flagging, explaining, and guiding the work wherever it helps. It became a system of clear decisions: what clears on its own, what needs a person, and how every step stays legible.
From the product
The Challenge
Scanning invoices is slow work. Employees correct them one at a time, all day, reading every field by eye and fixing what the scan got wrong. It is repetitive and draining, and every hour it takes is an hour the company pays for.
No manager can see who is overloaded, which client takes the most time, or where errors are getting through.
Competitive Analysis
I benchmarked the field, from legacy OCR suites to modern AP platforms. Each processes invoices for a single company. A BPO processes them for dozens of clients at once, and that gap defined the design.
| Capability | Legacy OCR & ERP SAP Concur, ABBYY, Kofax | AP Platforms Rossum, Vic.ai, Medius, Tipalti | Nemesh Where the design competed |
|---|---|---|---|
| AI Integration | AI absent | A few touchpoints | ✓Extraction, checks, and insights |
| Automation Rate KPI | Not measured | Just a number | ✓Live, per person & client |
| Exception Handling UX | Manual, every time | No source link | ✓Every error linked to the doc |
| Anomaly Detection | Human eyes only | Rule-based flags | ✓Explains why, in plain language |
| Multi-Client Architecture | Out of scope | One org only | ✓Many clients, one interface |
| Processor-Level Visibility | None | Team-level only | ✓Down to each person |
| Admin Intelligence | After-the-fact reports | Dashboards to read | ✓Speaks up first, with next steps |
Strategic approach
The research pointed at the real constraint: a single team carrying dozens of clients at once. Saving that team time was the business case, so I made it the measure every design decision had to answer to, and designed features of my own where the market had none, keeping only what got an invoice done faster.
The AI assistant
Every field carries a certainty signal, surfaced only where it drops, and the queue is ordered by what the AI is least sure of.
Each invoice is checked against the client's history, so an unusual amount or a duplicate reaches a person before it clears.
Beside every flagged field sits the value the AI believes is right, accepted or rejected in one click, so a fix costs a second.
Duplicates arriving from one supplier, a processor carrying twice the team average, each surfaced with a fix already attached.
Who it's for
Nemesh serves three roles, each with a different level of authority. The work here was making one product fit all three.
Manages users, clients, integrations, and automation policy.
Owns a team and its client group, and its Zero Touch Rate.
Fixes fields on invoices the AI couldn't clear, then saves.
Design system
I built the design system from the ground up: semantic tokens named for intent, a variable layer carrying theme and state, a status model with one color per state, and a component library on a strict type and spacing scale. I extended it with agents and skills I set up in Claude Code, one source of truth as it grew.
Status and core text colors clear WCAG AA on light.
Feature spotlight · Admin view
Send to employee is the path I designed to turn a flagged invoice into someone's task: the admin filters to the anomalies the AI flagged, opens one, and either clears it or picks an employee, a reason and a note, so the invoice lands in that person's queue with a name and a reason attached.
The full user flow
1 · Sign in
2 · Overview
3 · Invoices
4 · Filters
5 · Anomalies
6 · Invoice detail
7 · Send to employee
8 · Sent
Feature spotlight · Employee view
Upload and fix is the path I designed to keep the employee out of the data entry: the server extracts every field on drop, the AI flags what it doubts with a suggested value, and one click accepts it, so the invoice saves in seconds.
The full user flow
1 · Employee dashboard
2 · Upload invoice
3 · Fields to confirm
4 · Saved
Beyond the invoice
The flows follow a single invoice. These two screens run the operation around it: which client is healthy, and what the AI costs.
Every client receives their data differently: a live ERP, an accounting app, a file feed, or a package they download. Adding a client is where that is chosen, with the account owner and the amount above which a person must approve. Three choices, made once, that the rest of the platform follows.
Billing is where SaaS design usually slips into dark patterns. The model here is two-part, a plan for invoice volume plus credits for the AI, each with its own balance so the customer sees what the AI actually costs. The cheaper tier sits above the buy-more options, and surfaces when the math favors the customer, shown first.
Happy to walk through the decisions, what each one cost, and what I'd change if I built it again.