All work

Doow

A SaaS spend intelligence platform that shows finance teams where every software dollar is actually going.

I designed it end to end, from the first login screen through to the governance console for two AI finance agents. This is the long version.

Role
Product Designer, design lead
Scope
End to end, web app plus marketing surfaces
Team
Founders, engineering, me on design
Where
doow.co

About Doow

Doow is a SaaS spend intelligence platform for finance teams, and I was the only designer on it for eight months. This is the long version: 22 chapters covering how a company gets its data in, how the product admits what it still does not know, how software contracts get modelled when every vendor bills differently, and how two AI finance agents were given real reach over that data without anybody losing track of what they did.

Reading timeAbout 35 minutes end to end

What success looks like, and why I cannot show it yet

The product shipped recently and the push to get it in front of people is still ahead of it, so I do not have outcome numbers. Rather than dress up file statistics as impact, here is what I would measure and the horizon each one actually needs.

Time to first connected integration, which is the thing onboarding was shaped around and the point the trial starts
Day 1
Share of discovered applications with complete data, which is the honest test of whether Needs Attention works
30 days
Duplicate spend actually eliminated rather than merely surfaced, because surfacing it is the easy half
90 days
Renewals caught before they auto-renew, the core job and structurally the slowest thing to prove
12 months
Agent approval rate against correction rate, the difference between trusting Derek and Mina and babysitting them
Ongoing
01The problem

Where this starts: Nobody actually knows what their software costs

Not because finance teams are careless. Because the information lives in about nine different places and none of them talk to each other.

Ask a finance lead at a 500 person company what they spend on software a year and you will get a number. Ask how confident they are in it and the number goes soft.

That is not carelessness. The contract sits in a PDF in someone's inbox. The charge lands on a card under a merchant name that looks nothing like the product. The seat count lives in an admin panel only one person in Engineering can open. The usage data, if it exists, is in a dashboard nobody checks between renewals.

So you get the classic pattern. A tool is bought for a six person pilot, the pilot ends, the contract auto renews at 60 seats for three years, and nobody notices until someone exports the card statement into a spreadsheet and starts squinting.

Doow exists to make that invisible spend visible. It maps contracts, corporate cards and bank transactions automatically, then layers on seats, usage, prepaid credits and token burn, so you see not just what you pay but what you get.

The category is crowded, so it is worth saying where this sits. Zluri and Torii come at it from IT, and they are good at discovery and licence hygiene: what is installed, who has access, what to switch off when somebody leaves. Ramp comes from the opposite end, out of corporate cards, so it is strong on money that has already moved. Cledara works that same payments side, issuing a virtual card per subscription so every charge is tied to a named tool, with renewal dates tracked next to it.

Doow sits in the space between. Discovery tells you the application exists. Card data tells you a charge cleared. Neither tells you what you agreed to pay, on what terms, until when. The contract is the third thing, and it decides whether a renewal is a negotiation or a surprise.

02Checking it was real

Making sure this was somebody's problem and not just our idea

Two things before any design work: read every competitor properly, and talk to the people who would have to live with the result.

The category already had companies in it, which is either a warning or a map depending on how you read it. So I went through them properly. Zluri, Torii, Ramp and Cledara, plus the smaller tools that surface when a finance team starts searching for this. Marketing sites, pricing pages, product tours, help centres and every demo recording I could find.

The help centre is the useful one. A homepage tells you what a company wishes it were. The documentation tells you what they actually shipped, what their data model can and cannot express, and which edge cases generate enough support tickets to have earned their own page.

Desk research tells you what exists. It does not tell you whether anybody is in pain. So we spoke to the three groups who touch this from different sides: finance, procurement, and the department managers who ask for the software in the first place.

I went in trying to find out how they cope today rather than whether they liked our idea. What people currently do badly is evidence. What they say about a product that does not exist yet mostly is not.

What each of them was actually worried about
  • 01

    Finance wanted one annual software number they could defend in a board meeting, and did not have it. Every version of that total had been assembled by hand in a spreadsheet, and nobody wanted to be the person who stood behind it.

  • 02

    Procurement wanted lead time above almost anything else. Their leverage on a contract exists in the weeks before a renewal, not after, and too often they were finding out about one once it had already rolled.

  • 03

    Managers wanted to know who on their team was genuinely using a tool, and were clear that they did not want to become the person who polices licences in order to find out.

That is three different jobs sitting on one dataset, and it is the single most useful thing the research gave me. It is why the product is not one spend dashboard with three tabs bolted onto it, and when a screen later in this case study looks like it is carefully trying to serve two audiences at once, that is usually what is going on.

It also settled an argument we could otherwise have had for months. The pain people described was not "I cannot see my spend". It was "I cannot trust the number, and I find out too late". Those need different products, and we were now confident about which one we were building.

03My role

What I actually did here

I was the design function. That sounds dramatic, so let me be specific about what it meant day to day.

I joined to lead design on a product that had a strong thesis and very little interface. There was no design system, no component library, no established patterns, and a data model that was still being argued about.

So the job was not "make the screens look good". The job was closer to: work out what the product actually is, screen by screen, alongside the founders and engineers, and then build the machinery that lets it keep growing without falling apart.

Concretely, I owned
  • 01

    Product design end to end, from problem framing and flow mapping through to final interface and interaction detail

  • 02

    The design system: colour, type, elevation, iconography, and every shared component the app is built from

  • 03

    Authentication, onboarding and organisation setup, including SAML SSO, two factor auth and passkeys

  • 04

    The whole SaaS intelligence surface: applications, vendors, subscriptions, renewals, users, employees, expenses and cards

  • 05

    Derek and Mina, the two AI finance agents, plus the admin console that governs what they are allowed to do

  • 06

    Company and personal settings, roles and permissions, invitations and access requests

  • 07

    The browser extension, global search and the notification system

  • 08

    The help centre and documentation surfaces

  • 09

    Pricing and packaging design, working through tier structure, prepaid AI balances and the billing states that fall out of them

I also wrote a lot of the interface copy, because on a product like this the copy is the design. "Add Subscription" versus "Add Plan" is not a wording preference, it is a statement about the data model, and getting those words wrong costs you a support ticket every single day afterwards.

04Constraints

Eight months, four engineers, one designer

The shape of a product is mostly decided by what you did not have. So here is what I did not have.

Eight months. Four engineers. One founder I worked with closely enough that most decisions happened in conversation rather than in a document. One designer, which was me.

That headcount decides more about a product than any process does. The research at the top of this case study was the whole of it, front loaded into the first few weeks and never repeated as a formal phase. After that there was no discovery sprint and no stretch where design ran ahead and engineering caught up. Design and build happened on the same features, in the same weeks, for eight months.

So the process had to buy certainty cheaply. At every feature stage I built a working prototype, put it in front of a few selected users, and iterated on what came back before the real version got built.

Doing that with LLMs is what made it viable at this size. A prototype that once cost a week costs an afternoon, which changes what is worth testing. You stop reserving prototypes for the big risky flows and start using them on anything you are unsure about, which here was most things.

The visible cost is the design system, which I built after the screens rather than before them. That was not an oversight. It is what eight months with one designer buys you.

05Connecting the data

Getting a company in: The first hard question: how do you get the data in?

A spend platform with no data connected is a very expensive empty table. Onboarding is not a nicety here, it is the product working or not working.

I spent more time here than on any other flow. Doow only becomes useful once it can see your identity provider, your bank, your accounting system and your HRIS. Until then it is a shell.

Four steps, in a deliberate order.

  • 01

    Identity and SSO first, because it tells us who works here and which apps they touch. It is the highest value connection and the one most likely to be already set up.

  • 02

    SaaS expenses second, through bank and card connections, because that is where the money actually moves.

  • 03

    HRIS third, to attach departments, managers and start dates to the people we just discovered.

  • 04

    Company details last, because it is the only step that is pure data entry and I wanted the momentum of three real connections behind it.

06The dashboard

Seeing what you have: Home, or: what do you show someone in the first four seconds?

The dashboard went through more revisions than anything else, because everyone has an opinion about dashboards and most of those opinions are wrong.

The temptation with a spend product is to open on a giant number. Total SaaS spend, huge type, very impressive.

I pushed against it. A big number does not tell you what to do, it just makes you feel something. The finance lead opening Doow on a Tuesday does not need telling they spend a lot of money. They need to know what changed and what needs them today.

So it opens with My Tasks. Three cards: what needs attention, what is renewing soon, what the system has noticed. Only then the numbers.

07The app inventory

Applications and vendors, the spine of the product

This is where people spend most of their time, so it carries five different views of the same underlying set of apps.

That pairing of spent against utilised is the whole product in one column group. Every other SaaS management tool will tell you what you spent. Showing what you got for it beside the number is what makes someone act.

Scale decides whether a table like this survives a real company. A 500 person business can be running several thousand applications once everything discovered is counted, and a table that is pleasant at 50 rows is unusable at 5,000.

So it is paginated, with both a search and a full filter set rather than either alone. Search is for when you know the name. Filters are for describing a shape: unowned apps above a threshold, anything renewing this quarter, discovered but never mapped to a subscription.

Columns are yours to pick, twelve available, because the columns a procurement lead wants are not the ones an IT admin wants. If your selection runs wider than the viewport the table scrolls sideways rather than crushing everything to fit. A column too narrow to show its value is worse than one you scrolled to.

08The gaps

The screen that admits what the product does not know

Automatic discovery is never complete. The interesting question is what a product does about the rows it cannot fill in.

Doow discovers applications automatically, and automatic discovery is never complete. It can find that you pay for Slack without knowing who owns Slack internally, which subscription the charge belongs to, or which of your 456 people the licences map to.

The instinct is to hide that. Show the clean rows, ignore the messy ones, keep the product looking confident.

I argued for the opposite. Needs Attention is a working queue made of exactly the gaps. Every row is an application missing something, and every missing thing is an inline action: Add Subscription, Add Plan, Map Users, Add Manager.

The principle underneath reaches further than one screen. A product that admits what it does not know is more trustworthy than one projecting confidence it has not earned.

This is the cheap version of that argument, because here the unknown is a missing field, and a missing field is easy to draw. It gets much harder later, when the thing that might be wrong is not a blank cell but an answer an AI agent has already written up, formatted and handed to you.

09Paying twice

Deciding what to change: Where you are quietly paying twice

Overlap is one of the most expensive problems in SaaS and one of the hardest to see, because each individual purchase was reasonable at the time.

Design has Figma. Product has Miro. Marketing bought Canva. Engineering has a Whimsical licence somebody expensed two years ago. Every one of those decisions made sense in isolation, and together they are four bills for overlapping capability.

The Overlapping Applications view groups tools by what they actually do and shows the combined spend, which is usually the moment somebody says the word "wait" out loud.

10Should you switch

Should you replace Asana?

The most opinionated screen in the product, and the one most willing to tell you not to switch.

Most tools that suggest cheaper alternatives show you a price comparison, you notice the cheaper option is missing the one feature your team lives in, and you close the tab.

Switching cost is real and nobody models it. So this view answers the question a finance lead actually has, which is not "what is cheaper" but "what would this cost me all in, and what would I lose?"

Every recommendation carries five things most comparisons leave out.

  • 01

    Net savings in year one, which can be negative, and is shown in red when it is. A recommendation that costs you money in year one should say so.

  • 02

    Three year savings, because some switches only pay off over a longer horizon.

  • 03

    Payback period in months, so you can see when the switch stops costing and starts saving.

  • 04

    Estimated switch cost, the number nobody else shows, covering migration and the productivity dip.

  • 05

    Feature match as a percentage, split into what is covered and what is missing, by name.

11Contracts

Modelling the money: The hardest modelling problem in the product

Software is not sold one way. Holding every way it is sold in a single interface is the hardest thing in the product.

Slack charges per seat, per month. AWS charges for what you consume, with no seats at all. OpenAI sells prepaid credits that burn down as tokens. Salesforce sells a negotiated contract with custom terms, a fixed floor and overage above it. Some tools do two of these at once.

One subscription screen has to hold all of that. Not four separate screens, because then the totals do not reconcile and nobody trusts the dashboard.

What we ended up supporting
  • 01

    Seat based, with licence plans, assigned versus available seats, and per seat cost

  • 02

    Usage based, metered against whatever unit the vendor bills on

  • 03

    Pay as you go, with transactions attached directly to the subscription

  • 04

    Enterprise contracts, with negotiated terms, committed spend and custom renewal dates

  • 05

    Plus add-ons and overage, which can sit on top of any of the above

Turning the complexity into a short sequence of yes or no questions means a simple Slack subscription takes about twenty seconds, while a hybrid enterprise contract can still be modelled fully without a separate flow.

The running Total Subscription Value in the footer was a late addition that earns its place. It updates as you build, so you can check the number against the invoice in front of you before committing.

12People and licences

People, and the awkward gap between users and employees

A user in a SaaS tool and an employee in your HRIS are not the same thing, and pretending otherwise breaks the numbers.

This distinction sounds pedantic until you try to build the product. Your HRIS knows about employees. Your SaaS tools know about users, identified by email. Those two sets overlap but never match.

Contractors have tool access and no HRIS record. Leavers keep licences for months after their last day, which is both a cost problem and a security problem. Shared accounts belong to nobody. Service accounts look like people. Someone's personal Gmail is on a licence because they signed up before the company had SSO.

So Users and Employees is one surface that holds both realities and shows you where they disagree.

I also designed three separate paths for getting people into the system, because the real world does not hand you clean data.

13Cards and expenses

Expenses, cards and the matching problem

Every charge that lands has to be attached to something, and most of them arrive with a merchant name that tells you almost nothing.

A card transaction shows up as something like "MSFT * E0800ABCD". A human can eventually work out that this is Microsoft. A system needs to map it to a specific subscription, on a specific plan, owned by a specific department, and it needs to be honest when it cannot.

The expenses surface is built around that matching problem, with the unmatched transactions treated as the important ones rather than swept aside.

14The AI agents

Handing work to the agents: Derek and Mina, or: designing for something that talks back

Two AI finance agents that do not just answer questions, they produce work. Designing this taught me more than anything else on the project.

Derek and Mina are Doow's AI agents, not a chatbot bolted onto a sidebar. They audit filings, write and run analysis, and produce board ready decks and documents.

That distinction matters for design. A chatbot returns text. An agent returns artefacts, and takes actions with consequences. Those are different design problems and most products conflate them.

Why two of them, and not one? Because they do genuinely different jobs.

Derek investigates. He digs through the data to find what is costing you money and traces it back to the specific vendors, contracts and usage changes responsible. Ask why cloud spend jumped in March and the answer is a chain of causes rather than a number. He also runs in the background, scanning for anomalies nobody thought to look for.

Mina packages. She takes an analysis and lands it somewhere a person can act on: pulls the data, builds the charts, writes the narrative, hands back a finished thing. She explains a finding the way you would explain it to a CFO, because that is usually where it is heading.

Splitting them costs something. Two personas is more surface than one, and people have to learn which to ask. It earns that because the two modes want different things from an interface. Investigation wants depth, branching, the ability to keep pulling a thread. Packaging wants a finished artefact with a defensible structure. One agent doing both compromises on each. The adoption tab bears this out later: which one a department reaches for says a lot about what they use Doow for.

The boundary is softer in practice than a two persona split implies, and the replay below is honest about it: Derek is the one who ends up building a deck, and Mina is the one who ends on a plan for Monday morning. Either can produce either. What the split actually buys is a default posture, and a reason for the product to ask which one you want before you start typing rather than guessing at it halfway through.

New chat

How can I help you today?

Ask Derek anything...

Smart

The wait is its own design problem, because agent work is not instant and designing as though it is gets you an interface that feels broken.

Responses stream. You watch the answer being built, four words at a time, rather than sitting on a spinner and then receiving a wall of finished text. That reads like an implementation detail and it is not. Forty seconds of silence reads as failure, and people close things that look like they have failed. The same forty seconds with text arriving on screen reads as work happening, and people will wait for work.

15When the agents are wrong

What happens when Derek is wrong

An agent that produces real work will sometimes produce wrong work. Designing for that is less glamorous than designing the chat panel, and it matters more.

Everything in the last chapter assumes the answer coming back is correct. Sometimes it is not.

That is not a defect you can engineer away, it is a property of the thing. Any system that reads a contract and tells you the renewal date will occasionally be wrong about the renewal date. So the question is not how to stop it. It is what the product does about it, and who finds out.

The first answer is the least clever one. It sits under the chat box everywhere the agents appear: Derek and Mina are AI agents and can make mistakes. Please double check responses.

A permanent disclaimer is an admission, and there is a school of design that treats admissions as weakness. But the alternative is an interface projecting total confidence about a contract it parsed at three in the morning, and the first time that costs somebody a renewal date you have lost them for good.

So it stays. Same place, same quiet voice, every time, not a modal you dismiss once. Its job is to set the reading posture before the first answer arrives rather than apologise after a bad one.

The second answer has teeth. Every action needing a human goes through an approval dialog in the chat itself, at the moment the agent proposes it.

That placement is the point. The approval does not go to an inbox, a notification centre, or a queue somebody reviews on Friday. It appears inside the conversation that produced it, with the working still on screen above. You are approving something you can still see the reasoning for, which is the difference between review and rubber stamping.

The third answer is that what counts as needing approval was not mine to decide. An admin configures it once for the organisation, in the policies surface of the governance console.

A twelve person startup and a company with a real finance function do not agree about which actions are routine, and a product that hardcodes an answer is wrong for one of them. The job is to make the boundary configurable and legible, not to hold an opinion about where it sits.

There is a quieter failure worth designing for too, which is the agent stopping because the money ran out. Usage above your allowance draws against a prepaid balance, and when that balance is close to gone the product says so before a conversation dies halfway through an answer rather than after.

16Governing the agents

The part almost nobody designs: governing the agents

If you give AI agents access to your financial data and let them take actions, someone has to be able to see what they did, cap what they cost and decide what they may touch.

This is the chapter I would most want a hiring manager to read, because it is the part of AI product design currently being skipped almost everywhere.

Shipping a chat panel is easy now. Shipping one a CFO will approve for use on real financial data is a different problem, and a design problem before an engineering one. The questions are: who is using this, what is it costing, what did it do, what is it allowed to do, and where can people reach it.

I designed a full admin console around those five questions.

Adoption answers "is this worth what we pay for it". It shows 11 of 12 members active, sessions per week trending, and a per department table you can expand to individual people, their session counts, which persona they prefer and which channel they use.

That last column matters more than it looks. If Finance reaches Derek through Telegram and Engineering uses the web app, that is a real signal about where to invest.

There is a personal side too. Individuals get their own surface: session and action history, files shared with the agents, saved commands, the tools the agents may use on their behalf, connected channels.

Admins govern the organisation. Individuals govern themselves. Collapsing those into one settings page would have made both worse.

17Pricing and packaging

The rest of the product: Pricing is a state machine, not a page

I designed the model, the pricing page and every billing state that falls out of them. The most useful thing I learned was about a state that cannot happen.

A trial with a card on file can never expire.

That sounds like a technicality. It deleted a whole branch of the product. When a trial with a card ends, the charge either succeeds and the account goes active, or it fails and the account goes into dunning. There is no third outcome. The expired trial state only exists when there is no card, which makes it an invariant rather than a state.

I did not get that from a diagram. I got it from building the thing, going looking for the route into the expired state, and finding there was not one. On a slide, trial expiry is an obvious box to draw. In a working model it is unreachable half the time, and knowing which half changes what you build.

Making the card mandatory then changed what dunning is for. It stopped being an edge case for lapsed customers and became the main failure path for every trial that does not convert, so that flow had to be good rather than merely present.

The model prices on tracked SaaS spend rather than seats. A finance team of three managing twelve million dollars of software is worth far more to Doow than a team of thirty managing two hundred thousand, and seat pricing gets that exactly backwards.

Four tiers, with 20% off annually
  • 01

    Starter, $69 a month. Up to $100K tracked spend, 2 seats, 2M AI tokens included

  • 02

    Growth, $199. Up to $500K, 5 seats, 10M tokens

  • 03

    Business, $399. Up to $1.5M, 15 seats, 45M tokens

  • 04

    Enterprise, custom. Everything above that, and the procurement paperwork that comes with it

Pricing on spend has a consequence that took a while to accept. You cannot ask somebody to pick a tier before you know their spend.

So plan selection moved out of signup and to the end of onboarding, once the first integration has connected and the product can see the real number. Tiers below your detected spend still appear, disabled, with the reason written inline rather than hidden in a tooltip: does not fit your $340K tracked spend. The same check blocks voluntary downgrades later.

The trial follows that logic. It begins when the first integration connects, not at signup, because a trial that starts while you are typing your company name is a trial you spend on setup instead of the product.

AI usage above the included allowance is prepaid. Organisations top up a balance, and both token overage and the metered models draw against it.

The interesting part is what that removes. No usage invoices, no separate usage dunning, no overage toggle, no spending cap buried three levels into settings, because the balance is the cap. The amount you topped up is the most you can spend, which is far easier to explain to a finance team than a limit they have to configure.

Overage is billed at cost, which after card processing fees is slightly loss making. We took that on purpose. A finance product that quietly marks up its own metering is one nobody should trust.

Downgrades are the part everybody skips. Moving down a tier is not a price change, it is a reconciliation: fewer seats than you are using, a lower ceiling than you are tracking, a smaller allowance than you spent last month. So it is a wizard rather than a button, and it tells you what you are about to lose before asking you to confirm.

Cancellation got the same treatment in reverse, and the retention step puts the pause and the discount in front of you together rather than one after the other, because a flow that negotiates in stages is one people learn to distrust.

Scheduled downgrades and cancellations stay visible and reversible until they take effect, one click to keep the plan. Nothing quietly happens to your account at the end of a billing period.

18Search and notifications

Search and notifications

The connective tissue. Less glamorous, heavily used, and the stuff that makes a product feel finished.

Global search had to span applications, vendors, people, subscriptions and expenses, with results grouped by type and keyboard driven throughout. On a product with this much data, search is not a convenience feature, it is the primary navigation for anyone who uses it daily.

19The design system

Underneath it all: The design system I built after the screens

None of the above is possible at this volume without a real design system. This is the part that made everything else go fast.

Close to four hundred laid out screens is not a number you reach by drawing carefully. It is a number you reach by building a system and then composing with it.

The colour system is eight ramps of twelve steps each, which is 96 tokens: two brand ramps plus emerald, violet, blue, rose, amber and grey. Twelve steps sounds excessive until you are building status states, and then you find you need every one.

components in the library
668
variant sets
268
instances placed across the file
50,608
colour tokens across 8 ramps
96

That instance count is the number I would point at. 50,608 component instances means the overwhelming majority of the interface is composed from the library rather than drawn by hand. That is what makes a change to the button component propagate everywhere instead of turning into a two week audit.

20How I work

How I actually work now, including the AI part

Since this is 2026 and everyone is asking, here is an honest account of how AI fits into my process. It is not what most people claim.

I use AI tools heavily. Claude Code, Codex, Cursor, Antigravity, and the Figma MCP to move between design and code in both directions. But I want to be precise about what that buys, because there is a lot of noise on the subject.

It does not design for me. The Alternative Applications screen, making Needs Attention a working queue, the argument for modelling switching cost rather than comparing prices: none of those came from a model. They came from understanding the problem and having a position on it.

What it does is collapse the distance between an idea and something real. I can take a flow from Figma and have a working prototype the same afternoon, which means testing whether a subscription panel feels manageable rather than arguing about it in a review.

What that changes in practice
  • 01

    I prototype in code rather than in clickable mockups, so what stakeholders react to behaves like the real thing

  • 02

    I can build a working model of a pricing structure or a billing state machine to find out where it breaks, before engineering commits to it

  • 03

    Design system changes move to code faster, because I can make the change in both places myself

  • 04

    I spend a much larger share of my time on the parts that are genuinely hard, which is problem framing, information architecture and interaction detail

The pricing and billing chapter earlier is the clearest example. Almost everything I know about that state machine, I know because I built a working model of it and then went looking for the states that could not be reached.

That is the actual value. Not faster pixels. Finding the logic problems while they are still cheap to fix.

The link back into the design system is more prosaic than people assume. The colour ramps and the rest of the tokens live as Figma variables, and I export them as JSON for the engineers to work from.

That is a handoff, not a live sync. It is correct at the moment I export it and not afterwards, so keeping design and code in step is something a person remembers rather than something a pipeline guarantees. It holds at this size, and would not at three times the team.

21What I got wrong

What I would do differently

Every case study that ends with everything going perfectly is lying. Here are the two things I got wrong.

I over-engineered the first subscription panel. The version showing every contract type at once was me demonstrating that I understood the complexity rather than solving it. Understanding complexity and exposing complexity are different skills, and only one of them is design.

I under-invested in empty and error states. They arrived as a late pass rather than being designed alongside the happy path. On a product whose entire premise is incomplete data, the empty state is the more important screen, and it should have been drawn first.

22What's next

Where this goes next

The product is built. The interesting part now is what happens once real finance teams start living in it.

The immediate work is not more product, it is reach. Doow solves a problem plenty of finance teams currently solve with a spreadsheet and a bad afternoon, and most of them do not know it exists. Getting it in front of those teams, then watching how they actually use it rather than how we assumed they would, matters more than adding to it. Interfaces that survive contact with real users need sanding down in places nobody predicted, and I would rather spend the next stretch there than on new surface area.

After that, and only after measuring how the current product lands, there is a layer to put on top: banking, payments and accounting. Each of those turns Doow into a system of record rather than a system of insight, which is not a move you make on a hunch. You make it once you know which parts people genuinely rely on, because those are the parts worth building on.

Fin