• The problem
  • In the bay
  • How I got there
  • Principles
  • How it works
  • Design system
  • UI screens
Indian car wash owner holding a phone with the MintWash dashboard open
← Back

Case Study

MintWash

Software for car wash shops that were running on a paper notebook and a WhatsApp group. Designed and built solo — research through production.

Web↗iOS↗Android↗
Role
Solo — research, design, build
Platform
iOS (SwiftUI), Android, Web
Market
Tier 2/3 India
Company
GetBega Tech

The problem

A car wash shop is a deceptively hard operation. Cars arrive without appointments, sit in bays in different states of done, get worked on by staff who rotate, and leave after a payment that someone has to remember to collect. The default tooling for all of this is a notebook, a whiteboard, and a WhatsApp group.

That stack fails in specific, expensive ways. Cars get forgotten mid-queue. Payment gets missed because the person who washed the car isn't the person at the counter. Customers come back disputing damage with no record either way. And at the end of the month the owner has no idea which services actually made money or when they were busiest.

The competition isn't other software — it's the notebook, and the notebook is genuinely good at some things. It never crashes, it works with wet hands, it needs no training, and it costs nothing. Anything replacing it has to be faster than writing one line by hand, or it simply won't get used past the first busy Saturday.

In the bay

The app lives between the notebook and the hose.

MintWash was designed for work done standing up, with wet hands, moving between a customer, a car, and a wash bay. These contextual reenactments show the three moments the product has to make simpler: queueing, proof of work, and payment.

Indian car wash owner checking the day’s queue on his phone beside a paper ledger
Running the queueThe owner keeps the live state on his phone while the old notebook remains within reach.
Indian car wash worker photographing a hatchback before starting the wash
Recording conditionA before photo becomes part of the job, captured where the work actually happens.
Indian car wash manager confirming a UPI payment with a customer
Closing the washThe same flow follows the car to handoff, with payment confirmed before it leaves.

How I got there

Research happened in the workflow, not a meeting room.

I was researching, designing, and engineering MintWash at the same time, so the work did not move through four clean textbook phases. It moved in short loops: watch a real task, map where it breaks, prototype the smallest correction, then test it against the whole wash. This is a retrospective synthesis of that process—not a decorative design-thinking diagram.

01Behaviour notes

Watch the work

Follow a car from arrival to departure and pay attention to interruptions, handoffs, and the information people repeat aloud.

02Service blueprint

Map the breakdowns

Lay the physical workflow beside the notebook, WhatsApp, and UPI trail to see where state or responsibility disappears.

03Clickable core flow

Prototype the spine

Test the smallest complete flow first: identify the car, move it through the bay, prove the work, and close payment.

04Working product

Build and pressure-test

Use realistic plates, prices, queues, and failure cases while building so every screen is tested as part of a shift, not in isolation.

Methods and prompts

Four ways of looking at the same job

I used the live operation as the research stimulus. Asking someone to reconstruct a normal day from memory produced feature requests; looking at the car currently in the bay exposed behaviour.

Contextual conversations

“How do you know what needs attention next?”

Talk at the counter, using the current queue and recent disputes as prompts instead of asking abstract questions about features.

Workflow observation

“Where does ownership change hands?”

Track the car, the keys, the job details, and the payment across the owner, washer, and customer—not just what happens on a screen.

Artefact review

“What already works well enough to survive?”

Treat notebooks, paper receipts, WhatsApp threads, and UPI confirmations as existing interface patterns with strengths worth preserving.

Prototype walkthroughs

“Can this beat one line in a notebook?”

Walk through complete jobs with familiar vehicle types, plate numbers, and prices; simplify any step that needs explanation.

Service blueprint

One wash, six moments where context can disappear

Mapping the physical job beside the information trail made the opportunity clear: MintWash did not need to invent a new process. It needed to keep a reliable thread through the existing one.

Arrival

01
What happens
Owner asks for the service and writes one line.
Breakpoint
The queue exists partly on paper and partly in memory.
Product response
Fast new-wash flow keyed by registration plate.

Handoff

02
What happens
Keys and instructions move from counter to washer.
Breakpoint
The person doing the work did not create the order.
Product response
Shared Garage view organised by physical state.

Before wash

03
What happens
Existing damage is checked informally, if at all.
Breakpoint
Neither side has evidence when a dispute appears later.
Product response
Before photo attached to the start transition.

In the bay

04
What happens
Staff call out updates while cars move between bays.
Breakpoint
Status and elapsed time become guesswork during a rush.
Product response
Waiting, washing, and done mirror the shop floor.

Handoff & pay

05
What happens
A different person may return the keys and collect UPI.
Breakpoint
A finished car can leave before payment is recorded.
Product response
After photo and payment complete the order.

Review

06
What happens
The owner totals scattered entries after the fact.
Breakpoint
Busy hours and profitable services stay invisible.
Product response
Operational data falls out of the wash flow itself.

Synthesis

From a shop-floor signal to a product rule

I wrote the recurring behaviours as rules rather than feature requests. That made them useful beyond one screen and gave me a consistent test for later decisions.

Signal

People point to a car or say its plate; they rarely use the customer’s name.

→

Decision

Make the registration number the primary identifier everywhere.

Signal

Staff think in cars waiting, being washed, or ready—not abstract order statuses.

→

Decision

Call the operational view Garage and mirror those physical states.

Signal

Damage and payment disputes are failures of evidence, not reminders.

→

Decision

Put before/after photos and payment inside the state machine.

Signal

Owners need today’s count and cash position before deeper reporting.

→

Decision

Give cars and revenue the highest visual priority on Home.

Principles

The plate is the person

Operators never learn customer names. They recognise cars. Every list, search field, and receipt leads with the registration number in monospace — never a name, never an order ID.

Two numbers before anything else

Cars today and revenue today answer the only questions an owner asks before 9am. They sit above the fold in the accent band, in the largest type on the screen.

Photos are the contract

A wash can't start without a before photo and can't be paid for without an after photo. The camera isn't a feature — it's the state machine's gatekeeper.

Brutal, not decorative

Flat fills, no shadows, no blur, no iOS chrome. Condensed headlines and monospace numerals. It reads like a printed job card because that's what it replaced.

How it works

An order can only move one way

Four states, three gates, no shortcuts. Two of those gates are the camera — the wash cannot start without a before photo and cannot be paid for without an after photo. That single constraint is what turns the two most-cited problems above into structural impossibilities rather than things staff are asked to remember.

BEFORE PHOTOAFTER PHOTOUPI CONFIRMEDPENDINGcar booked inIN PROGRESSwash startedAWAITING PAYMENTwash finishedCOMPLETEDpaid, car released

Photo timestamps double as the duration data — the elapsed timers in Garage and the busiest-hour histogram both fall out of this flow rather than being tracked separately.

The whole app, on one line

A deliberately flat map. Everything hangs off Home one level deep, so nothing is ever more than two taps from the dashboard and there is no navigation to learn.

SplashLoginOTPHomeNew washGarageOrder detailCustomersAnalyticsProfile

Booking a car in

The path that has to beat writing one line in a notebook. Four taps, plate number last, because that is the moment the customer is standing in front of you reading it out.

  1. 01Phone number and plate
    →
  2. 02Pick the vehicle type
    →
  3. 03Choose services and price
    →
  4. 04Order lands in the queue

Design system

A small system built for a wet, bright workplace.

High contrast, flat surfaces, condensed type, and colour reserved for status. A compact system, shown with the values used in the shipped product.

Colour

Ink#000000
Surface#FFFFFF
Canvas#F2F2F2
Muted#707070
Brand#E80D23
Accent#EBFF00
WaitingIn progressAwaiting paymentPaid

Vehicle language

Recognisable before realistic

Side profiles distinguish the vehicle at a glance. Neutral volume, dark glass, soft ground shadow, yellow wash sparkles.

MintWash light sedan vehicle illustration
SedanGarage asset
MintWash dark SUV vehicle illustration
SUVGarage asset

Typography

Display · Roboto Condensed Bold

Cars today

Data · System Mono

₹7,050

Label · Condensed Medium

KA 01 MJ 4521

Spacing · 4pt base

4
8
12
16
24
32

Shape

Chip8px
Control16px
Tile18px
StatusFull

Components in use

Start wash

KA 01 MJ 4521

18 min ago

In progress
MintWash dashboard component reference

UI screens

The interface, with the reasoning left in.

Each group follows one part of the job from observation to interface decision and tradeoff. Additional screens can extend a group without changing the reading order.

01

Getting in

Splash to verified number — the whole way in, before any account exists.

5 screens →

MintWash — Getting in: Splash
Splash
MintWash — Getting in: Welcome
Welcome
MintWash — Getting in: Phone number
Phone number
MintWash — Getting in: OTP verify
OTP verify
MintWash — Getting in: Brand transition
Brand transition

What I found

Two things decide whether a shop ever reaches a first order. The first is credibility: small operators judge unfamiliar software the way they judge a workshop, on whether it looks like someone serious made it, and software that looks like a school project doesn't get trusted with money. The second is the sign-in itself — this market is phone-first and password-hostile. The people using this already authenticate with an OTP several times a day for UPI payments, so that pattern is completely internalised. Email addresses, by contrast, are often shared, half-remembered, or belong to a relative who set the phone up.

What I decided

The splash is a black screen carrying only the pixel-art wordmark in signal green, with a car photograph pushed to the bottom-right corner and mostly swallowed by shadow. No tagline, no spinner, no marketing copy — the restraint is the message. Its two seconds are also doing real work, resolving cached auth state so the next screen is either the dashboard or the welcome, never a flash of the wrong root. It hands over through a single full-bleed red frame, the one moment of brand colour before the product turns almost entirely monochrome. The welcome then commits to one path in: phone OTP only, and a single GET STARTED button instead of the usual Sign up / Log in fork. The headline — YOUR CAR WASH, YOUR RULES — argues ownership rather than features, because the fear being addressed isn't 'will this work', it's 'will this company end up telling me how to run my shop'.

What it cost

A fixed splash duration is time taken from the user on every launch, accepted because routing instantly and occasionally flashing the login screen at an already-signed-in user reads as broken — and looking broken is more expensive here than two seconds. Dropping the sign-up/sign-in fork costs more: the app has to silently decide whether a number is new or returning, every login costs an SMS, and there is no email fallback when someone changes their number. That's a real support burden I took on in exchange for the shortest possible path to a first order.

  • —The country code is fixed at +91 and the field opens straight onto a numeric pad — one less decision, and no keyboard-switching to reach a digit.
  • —The OTP screen states the number it sent to, so a mistyped digit is caught before waiting out the resend timer.
  • —Pixel-art mark is deliberately low-fidelity — it survives being rendered at app-icon size on cheap displays.
  • —Firebase Phone Auth with invisible reCAPTCHA on web; the Supabase layer takes the Firebase JWT so row-level security keys off the same identity.
  • —Simulator builds run against on-device storage, so the whole flow is demoable with no network and no SMS spend.
02

Home and More

The two pages everything else hangs off — one for the shift, one for the shop.

2 screens →

MintWash — Home and More: Home
Home
MintWash — Home and More: More
More

What I found

Every owner I designed this for opens the app with the same two questions, in the same order: how many cars have we done, and how much money came in. Everything else — customers, expenses, staff — is a question they ask weekly, not hourly. A single page that treats all of those as equals fails the 9am glance, and a page that hides the weekly work entirely just moves the problem. So there are two, and which one a thing belongs on is decided by how often it gets asked.

What I decided

Home is the shift. The two numbers take the accent band at the top, in the largest type on the screen, with nothing competing; under them a flat strip of four quick actions, and under that today's orders as a dense list keyed by plate number, each with a colour-coded status pill and a relative timestamp. The Garage tile carries a live count badge, so the one number that changes minute to minute is visible without opening anything. Numerals throughout are monospaced, which keeps rupee amounts optically aligned down the right edge and makes the column scannable rather than ragged. More is the shop: everything the business configures rather than operates, laid out as a plain labelled hierarchy — Manage, Catalog, Payments & Security — with no icons doing work that words should do. It opens on the profile and repeats the live garage count at the top, so even the second page still answers the first question.

What it cost

The red band is heavy and it dominates the screen. I went with it because the two numbers underneath it are the reason the app gets opened at all, and a subtle treatment tested as ignorable in my own use. The GET STARTED checklist also occupies prime real estate during exactly the period when the screen is emptiest — it earns that space early and becomes clutter later, which is why it disappears at completion rather than collapsing to a dismissible row. Splitting into two pages keeps Home clean at the cost of burying things a new shop genuinely needs on day one; the checklist is what carries them there instead.

  • —Status pills use four distinct hues — waiting, in progress, awaiting payment, paid — so state is readable without reading.
  • —Order rows lead with the registration number, never the customer name.
  • —The checklist tracks real activation milestones (profile, menu, first wash), not a tour.
  • —More surfaces unfinished setup in place: an unset UPI ID reads NOT SET rather than showing an empty row.
03

Taking an order

Three steps, built to be finished while someone is talking to you.

7 screens →

MintWash — Taking an order: Customer info
Customer info
MintWash — Taking an order: Phone and plate
Phone and plate
MintWash — Taking an order: No vehicles yet
No vehicles yet
MintWash — Taking an order: New vehicle
New vehicle
MintWash — Taking an order: Type chosen
Type chosen
MintWash — Taking an order: Custom service
Custom service
MintWash — Taking an order: Service priced
Service priced

What I found

The order gets created at the counter with the customer standing there, usually mid-sentence, often while somebody else is asking about their car. Every field has to be answerable without turning around. The plate is on the vehicle and the phone number gets recited from memory; the vehicle type and the price are the only parts that need a moment of thought. The notebook line these shops already write follows the same order — the number first, then what work was done — so the sequence was never really mine to invent.

What I decided

Phone and plate come first, on their own screen, because they are the two things the person in front of you can supply immediately. The country code is fixed, the plate placeholder shows a real registration in the local format so nobody wonders about spacing, and NEXT stays disabled until both are valid rather than accepting input and erroring afterwards. Vehicle type and services follow, each with an ADD NEW row pinned above the list that opens a sheet without leaving the flow. Those sheets default SAVE FOR FUTURE USE to on, which means the catalog assembles itself out of real orders instead of a setup wizard nobody completes. The custom service sheet offers the common names as chips — foam wash, underbody wash, waxing, detailing, tyre polish — so the usual case is a tap and a price.

What it cost

Saving by default means a shop that types 'Fulll Wash' once carries that typo in its menu forever, and near-duplicate services accumulate. I took the messy catalog because an empty menu at the counter stops an order dead, and a shop that has to go configure something mid-conversation goes back to the notebook and doesn't return. Three steps is also one more than the fastest possible version — a single scrolling form would be quicker for an expert — but it keeps each screen answerable in isolation, which matters more when the flow gets interrupted, and it always does.

  • —The vehicle picker's empty state offers one-tap starter types, so a first order never blocks on catalog setup.
  • —Icons rather than text distinguish vehicle types in the picker, which survives being tapped at arm's length.
  • —The selected type carries the vehicle chip into the services step, so prices shown are the ones for that vehicle.
  • —Anything added inline lands in the catalog under More, editable later without repeating the order.
04

Garage

The physical bay, mirrored on screen.

MintWash — Garage: Done queue
Done queue

What I found

Staff don't think in orders — they think in cars sitting in bays. Asking someone to translate 'the white sedan in slot two' into a list row is asking them to do work the software should be doing. The mental model already exists in the physical space; the interface should borrow it rather than replace it.

What I decided

This screen is called Garage, not Orders. Three segmented tabs — waiting, washing, done — each carrying a live count, mapping one-to-one onto the states a car can physically be in. Cars appear as tiles inside dashed outlines that read as painted parking bays, each with a vehicle illustration matched to its type, the plate number in monospace, and an elapsed timer counting up. The timers come free: they're derived from the before/after photo timestamps rather than a separate tracking mechanism.

What it cost

Illustrations per vehicle type mean an art asset for every category the product supports, and every custom vehicle a shop invents falls back to a generic mark — the metaphor degrades exactly where the product is most flexible. The dashed-bay treatment is also unconventional enough that it needs the tabs above it to carry the meaning; on its own it would read as an empty-state placeholder.

  • —Elapsed time is computed from photo timestamps, which doubles as the data source for duration analytics.
  • —Tab counts update live, so the badge on the dashboard and the tab here never disagree.
05

Order

A receipt, because a receipt is what it replaces.

2 screens →

MintWash — Order: Waiting to start
Waiting to start
MintWash — Order: Washed, payment due
Washed, payment due

What I found

Two problems dominate the actual job. The first is disputes — a customer returns claiming the car was scratched or never properly washed, and the shop has no evidence. The second is leakage: work gets done and payment quietly never gets collected, because the person who washed the car isn't the person who takes the money.

What I decided

The order renders as a paper receipt, down to the torn zigzag edge, because the paper slip is the artefact this screen replaces and the familiarity is worth more than novelty. Underneath it, an explicit timeline — created, started, completed, departed — gives an audit trail with timestamps. The status flow is enforced rather than advisory: a wash can't move to in-progress without a before photo, and can't reach paid without an after photo. Payment is gated behind that after photo, which structurally prevents collecting money for work that wasn't finished. The payment CTA is pinned to the bottom so it's reachable one-handed while standing next to the car.

What it cost

Photo gating adds real friction to every single wash — two camera interactions on a busy Saturday, multiplied across dozens of cars, is a meaningful tax. It also means a dead phone battery halts the workflow entirely. I kept it because the disputes it prevents are far more expensive than the seconds it costs, but it is the single most likely thing to get worked around by staff in a rush.

  • —The primary button names its own side effect — START, with 'takes a before photo' underneath it — so the camera is never a surprise.
  • —Photos compress client-side to ~400KB and upload through an edge function that verifies the JWT server-side.
  • —Payment is a generated UPI QR — the customer scans, which matches how money already moves in this market.
  • —The timeline's departed state is intentionally optional; not every shop tracks it.
06

The catalog

What the shop sells, defined without a setup wizard.

6 screens →

MintWash — The catalog: No services yet
No services yet
MintWash — The catalog: Service list
Service list
MintWash — The catalog: Vehicle types
Vehicle types
MintWash — The catalog: New vehicle type
New vehicle type
MintWash — The catalog: Packages
Packages
MintWash — The catalog: New package
New package

What I found

Nobody configures a catalog before their first wash. Every shop I looked at had the menu in the owner's head and on a board by the gate, adjusted per customer and per car, and none of it was written anywhere a piece of software could read. Pricing is genuinely per vehicle: the same monthly package is worth different money for a two-wheeler and a truck, and a service that takes ten minutes on a hatchback takes half an hour on an SUV. A catalog screen that asks for all of that up front is a wall in front of the product.

What I decided

The catalog lives behind More rather than in the primary navigation, and every list ships empty with a way out rather than a blank page. Vehicle types offer one tap to load the six common Indian categories — two- and three-wheeler through to truck — or ADD MY OWN for the shop that runs buses and tractors. Services are priced against a vehicle type, so the list reads 'Full wash, for sedan, ₹1300' instead of a price that's true for nothing. Packages take the same idea further: one form, a row per vehicle type, plus a wash count and a validity in days, because a subscription that doesn't say when it expires is a dispute waiting to happen. The lists themselves carry the operational facts — how many customers are enrolled in a package, what a service costs — so the catalog doubles as a read.

What it cost

A six-row pricing form for something an owner would describe in one sentence is a lot of interface, and the honest answer is that most shops fill in two rows and leave the rest at zero. Loading starter vehicle types also means the first Vehicles screen can be tidier than the shop actually is — categories present that will never see a car. Both are deliberate: I would rather over-serve the shop that prices carefully than force the shop that doesn't into a schema it can't fill.

  • —Vehicle types are the join between the catalog, the order flow, and the garage illustrations — one list drives all three.
  • —Packages show an enrolled count, so removing one shows its blast radius before it's removed.
  • —Empty states name the next action rather than describing the absence.
07

Customers and warranties

The two things a shop is asked to remember after the car leaves.

3 screens →

MintWash — Customers and warranties: Customers
Customers
MintWash — Customers and warranties: No warranties yet
No warranties yet
MintWash — Customers and warranties: Add warranty
Add warranty

What I found

Operators don't think in customer records and won't maintain one. But packages create the single lookup they genuinely need — a regular walks in and asks how many washes are left, and the answer is currently a phone call to the owner. Warranties are the other long tail: paint protection and ceramic coating come with a promise measured in years, which outlives any notebook, any staff member, and usually the owner's memory of who was given what.

What I decided

The customer list is alphabetical with a visit count per row, and two filters — everyone, or just active subscriptions. Subscribers carry a marker and a consumption bar in the row itself: two of five washes used, ends in nineteen days. That's the entire question answered without a tap, which is the point; a screen you have to drill into is a screen that loses to a phone call. Warranties are issued automatically when a job carrying a warranty completes, so the common case is no work at all. The manual form exists because paper warranties predate the app, and on it only the phone number is required — name and plate are optional, since the number is what people are found by everywhere else in the product.

What it cost

Auto-issue makes warranty length a property of the service, set once and applied to everything after it, which is wrong for the shop that negotiates the promise per customer — they override manually every time. The crown marking a subscriber is also frank decoration in a system that otherwise refuses it; I kept it because subscriber status changes how staff treat a car at the counter, and it needed to survive a glance.

  • —Visit counts are derived from completed orders, so the list can't drift from what actually happened.
  • —The empty state explains the automatic path before offering the manual one, so nobody sets up by hand unnecessarily.
  • —Issue date defaults to today and duration is entered in months, matching how these promises are actually sold.
08

Team and staff

Two lists, because they are two different populations.

4 screens →

MintWash — Team and staff: Team
Team
MintWash — Team and staff: Invite member
Invite member
MintWash — Team and staff: Staff and attendance
Staff and attendance
MintWash — Team and staff: Add staff
Add staff

What I found

Most small-business software conflates the people who use the app with the people on the payroll. In these shops they are frequently not the same list. A washer may be paid in cash at a daily rate and never touch a phone during a shift, while a family member who does no washing has full access to the money. Merging them forces one of two wrong outcomes: every washer gets a login they don't want, or every login creates a wage line that doesn't exist.

What I decided

Two screens, kept apart, with the Team screen stating the distinction in plain language at the top rather than leaving it to be inferred. Team is app access: invite by phone number — the same number that is already the login, so there is no second credential — and pick one of three roles, each described by what it can do rather than named and left ambiguous. Staff is wages and attendance: a daily rate per person and a three-button control for present, half day, absent, sized to be hit while walking past. Monthly payout accrues from those taps and totals at the bottom, so the number a shop pays out on the first of the month is a consequence of the same interaction, not a separate reconciliation.

What it cost

Two lists for what an owner calls 'my guys' is a real conceptual cost, and I have watched the same name get entered in both places by someone who assumed they were the same thing. Half day as the only middle option is also blunt — it can't express four hours — but an hours field turns a one-tap action into a keyboard interaction repeated across every person every day, and that is the version that stops getting done by Wednesday.

  • —Roles are described by capability — create washes, manage the catalog, full access including billing — so permissions are chosen by outcome.
  • —Invites need no acceptance step; the number gains access at its next normal OTP login.
  • —Attendance is date-stepped rather than live-only, so a missed day can be corrected without a separate edit mode.
09

The money

One screen answers a staffing question, one answers the accountant.

2 screens →

MintWash — The money: Analytics
Analytics
MintWash — The money: Bookkeeping
Bookkeeping

What I found

Small operators don't want dashboards, they want decisions. The genuinely useful operational questions are narrow: when should I have more people on, which vehicles am I actually making money on, and which services are worth keeping on the menu. Revenue-over-time line charts look impressive and change nothing about how the week is run. But revenue is only half the picture — a shop that washed forty cars the week it paid rent has not necessarily made money, and the figure an owner is asked for at month end is a different figure entirely.

What I decided

The two questions get two screens, because they're asked on different clocks — analytics daily, bookkeeping monthly. Busiest hour gets its own histogram in three-hour blocks, because that maps directly onto shift decisions; vehicle types and services availed are plain horizontal bars with counts, no legend, solid black on grey, since nothing here is categorical in a way colour would clarify. Bookkeeping opens on one figure instead: inflow minus outflow, full width, turning brand red the moment it goes negative. Revenue underneath it is derived from completed orders and needs no data entry; outflow is a list of expense rows the shop enters, so the two halves are visibly different in origin.

What it cost

With a day or two of data the analytics screen looks broken — one lonely bar on an empty grid, which is exactly what a new shop sees on the day they most want reassurance the app is working. Weekly aggregation would have looked healthier sooner and destroyed the busiest-hour insight, which is the only thing on that screen that changes a decision. Bookkeeping carries a harder one: showing a five-figure loss in red, on a month where rent landed before the revenue did, is demoralising by design. An owner who can't see a loss can't act on one. The genuine weak point is that expenses are manual, so the figure is only as honest as the last time someone remembered to log a bag of supplies.

  • —Buckets are three-hour blocks across the full day, including overnight — some of these shops genuinely run at 4am.
  • —Export produces a file for sharing with an accountant, the actual downstream consumer of this data.
  • —Bookkeeping steps by month and analytics by day, matching the period each question is actually asked in.
  • —Inflow shows the order count beside the amount, so a suspicious total can be traced back immediately.
← Back to workmintwash.app →