We map the operation end to end, not a feature list. Where the money leaks, where the hours go, and what breaks the week someone is on holiday. You get the findings whether or not you build with us.
02
Pilot
We build the first fix and put it in front of the people who have to use it. Narrow enough to prove in weeks, real enough to keep. If it does not earn its place, it stops here.
03
Retainer
We run the system with you, ongoing. Not a handover and a goodbye: software that nobody owns is software that quietly rots, so we stay and keep it working as the business changes.
A portfolio of working builds. Open any one and use it. The names and numbers inside are mocked.
No requirements document, no discovery theatre. You see something working in weeks, not a deck in month three. Every layer we ship is usable on its own, so the work earns its keep before the next piece arrives.
Built for: Insurance agencies and advisory firms that find out what they were actually paid one statement at a time.
The problem
Every month the insurer sends a bordero, and every month somebody in the office checks it against what the firm actually wrote: line by line, rate by rate, by hand. The mismatches are small, constant and real money: a rate paid short, a cancelled policy still paid, a clawback nobody can trace. Most firms find out what they earned by trusting the statement.
What we built
The match, live. Open a 52-row statement and run it against the production register. Rows check off one by one; five land as exceptions, each carrying its own arithmetic: agreed 15% of €1,240.00 is €186.00, paid €148.80, short €37.20.
A queue with decisions. Approve posts the difference to the ledger. Dispute files it with the insurer on a visible 90-day clock. Both land on the record with a name attached.
Two markets, one desk. Flip Athens to Singapore and the same screens hold: EUR becomes SGD, premium tax becomes GST on the firm’s own fees, producer splits become adviser hierarchies with a supervisor override, and the first-year cap-and-spread schedule computes live, clawback included.
Roles that mean something. A principal sees the firm; a producer sees only their own book. One switch, honest consequences.
Decisions we made
The rule the desk defends: commission is earned on collected premium, not written premium, and unearned commission is never the firm’s money. Athens shows it as accrued against payable; Singapore shows it as the spread schedule and a clawback that reverses exactly the unearned part, from everyone who was paid.
Insurers, firms and people here are invented, and the market conventions are the common ones, not a compliance claim. The mechanics are the point.
On Monday morning
The statement check that ate an afternoon becomes a run button and a short queue, and the argument with the insurer starts from a filed dispute with arithmetic attached instead of a feeling that the number looks low.
What to try in the demo
Open the Delphi Mutual statement and run the match
Open the rate-variance exception, check its arithmetic, dispute it
Add your own policy to the register, run the match again, watch it get flagged as missing
Switch to the Singapore workspace and lapse the year-two policy to watch the clawback cascade
Switch the role to Producer and watch the book contract
[email protected]Tell us what you are building. We answer within one business day.
Built for: Anyone who needs to believe we can build the hardest-looking software there is.
The problem
Trading software is the stress test of interface engineering: hundreds of numbers changing every second, charts that must redraw without stutter, and money math that has to be exact while everything moves. Most portfolios show a screenshot of one. This one runs.
What we built
A candlestick chart drawn from scratch. Canvas, ninety bars, volume underneath, a crosshair that reads out OHLC as your finger moves, three timeframes that regenerate the series.
An order book with consequences. Ten levels each side that persist and deplete: a market order walks the displayed levels and fills at the volume-weighted price, so size visibly moves the price you get.
Limits that rest and a desk that says no. A limit under the market sits working until price comes to it, cancel returns the reserved buying power, and an order the desk cannot afford is rejected, not absorbed.
Decisions we made
Prices come from a random walk with volatility clustering, the same math real simulators use, so the chart moves like a market instead of sitting still.
Invented tickers by design. Real ones would imply real data we do not have.
This page sits under its own heading because it is the flex, openly. Prices are a simulation. The engineering is not: book, fills, buying power and profit math are one system, and you can try to break it.
On Monday morning
This is the reference app: if the studio can keep sixty numbers coherent at 800 millisecond ticks on a phone, the dashboard your business actually needs is a quiet afternoon.
What to try in the demo
Hover the chart and flip 1M to 1D
Open BOOK and watch the tape print
Buy 100 AXOM, wait for the fill, then find it in positions repricing live
Try to buy 5,000 AXOM and meet the rejection: buying power is enforced
Switch the ticket to LIMIT, rest an order under the market, watch it fill when price dips
[email protected]Tell us what you are building. We answer within one business day.
Built for: Any company putting an AI agent in front of customers and wondering what it actually does all day.
The problem
An AI agent in production is a black box that spends money and talks to your customers. When it fails, you need to see exactly which step failed and why; when you improve it, you need proof the new prompt is actually better. That tooling barely exists, and we build it.
What we built
Every run, dissected. A waterfall of spans: agent, retriever, model calls, tool calls, each with its timing bar and its actual payload, expandable.
Failure made visible. One trace shows a rate-limited tool call in red, and the retry that saved it. Error handling is the part that proves production experience.
Evals, not vibes. Prompt V3 against V4 across six criteria and 120 replayed conversations, with the sample answers side by side. The rollout decision becomes evidence.
Decisions we made
Costs shown at real precision and latencies log-normal, because anyone who runs agents knows what those distributions look like.
The replay streams token by token, the way the model actually answered.
Every trace renders from its own run’s facts. Open two runs and the plans, tool calls and answers differ, because an observability tool that tells the same story twice is decoration.
On Monday morning
When your agent tells a customer something wrong, you find the exact span that caused it before lunch, and the eval table tells you whether the fix helped or just felt better.
What to try in the demo
Open the run marked ERROR and find the retry
Replay the answer stream on an llm span
Open two different runs and compare their plans and answers
Flip V3 to V4 in evals and read what actually improved
[email protected]Tell us what you are building. We answer within one business day.
Built for: Software and product teams who live in their tracker eight hours a day.
The problem
Issue trackers are where software teams live, and the good ones feel instant: keyboard-first, zero loading states, every mutation everywhere at once. Clients cite Linear by name. Matching that feel is the test.
What we built
One array of truth. Twenty-six issues drive board, list, counts and analytics; move one anywhere and everything repaints together.
The palette. Cmd K opens a command bar that executes sixteen real commands, assign, reprioritize, move to Done, jump views, and finds real issues by title: type billing and it takes you to the proration ticket. With a toast to prove it happened.
A cycle that reads honest. Burndown with ideal against actual, a scope-change annotation, and velocity compared to last cycle.
Decisions we made
Issue titles are real engineering sentences, comment counts follow a power law, and timestamps cluster in working hours, because reviewers check exactly these things.
On Monday morning
Your team stops paying for four tools that do not talk to each other, and the Monday standup runs off one board that was already true before the meeting.
What to try in the demo
Tap an issue, cycle its status pill, watch the board agree
Open Cmd K, type "done", execute; then type "billing" and jump to the issue it finds
Filter the list to Urgent and find the two heavy conversations
[email protected]Tell us what you are building. We answer within one business day.
Built for: Any business moving money online and living with the fraud that follows it.
The problem
Payment operations live in the gap between "the chart says fine" and "this specific charge is fraud". The tool has to hold both: the aggregate view and the single suspicious payment with its evidence, plus the review queue where a human decides.
What we built
Books that reconcile. The volume tile, the chart and the payments table all sum from the same data, to the cent. Check it; reviewers do.
Risk with reasons. The risk score is computed live from the same signals shown on the card: CVC, address, IP against card country, amount. The queue names the exact signals that fired, and clearing a flag takes a reason that lands in the timeline.
The boring 85%. Most payments succeed unremarkably, because real books are boring, and boring is what credible looks like.
Decisions we made
Payment IDs are shaped exactly like the real API’s, and failure reasons are the ones that exist, because fintech buyers notice.
On Monday morning
The chargeback that used to eat a morning becomes a two-minute read: the timeline, the signals, the rule it tripped, and a decision button.
What to try in the demo
Filter payments to Needs review
Open one and copy its ID, then read its risk checks
Approve a flagged payment with a reason, reload the page, find the decision still on the record
Clear the whole review queue and meet the empty state
[email protected]Tell us what you are building. We answer within one business day.
Built for: Any product or marketing team drowning in events and starving for answers.
The problem
Dashboards answer yesterday’s questions. Analytics tools earn their keep when you can ask a new question and get a chart back in seconds: rebuild the funnel, split by plan, read the retention triangle. That interactivity is the product.
What we built
A funnel you can edit. Remove a step, add another, and the conversion math recomputes and re-animates, always decreasing downstream, because funnels that leak upward are lies.
The retention triangle. Eight cohorts decaying convexly to their plateau, every cell tappable for its exact number.
Segmentation that splits live. One line becomes three by plan, and the table under it matches the chart exactly.
Decisions we made
Series carry weekend dips and gentle growth because flat generated data is the fastest tell of a fake dashboard.
A 300 millisecond shimmer on re-query, because instant reads as fake in analytics.
On Monday morning
The "should we build annual billing" argument ends in four taps: funnel to upgrade, split by plan, read the drop-off, decide with numbers.
What to try in the demo
Remove a funnel step and watch the math recompute
Tap cells in the retention triangle
Split weekly actives by plan, then flip the dashboard to 90 days
[email protected]Tell us what you are building. We answer within one business day.
Built for: Law firms and any regulated practice where the software must know the rules.
The problem
Legal software is a domain-knowledge test. Trust money must never mix with operating money, deadlines are court-fatal, time is billed in tenths, and estate intakes hide the classic failure: a beneficiary form that quietly outranks the will.
What we built
The whole practice on one screen. Matters with unbilled work, deadlines counting down in red, and trust funds in a dashed box that never sums with anything else. That separation is the law, drawn.
Time that becomes money. A running timer files entries in tenths at each person’s rate; the billable toggle moves totals instantly; one tap drafts an invoice that equals the time tab exactly.
The intake module. The estate questionnaire runs the conflict engine on the client’s own answers: add an insurance policy with no beneficiary and watch it get caught, or override a flag with a reason that goes on the record.
Decisions we made
The intake collects and organizes; the attorney does the legal work. No document generation, no advice, by design.
On Monday morning
The intake that took three weeks of chasing happens on the client’s couch, arrives pre-flagged, and every minute spent on it is already on the invoice draft.
What to try in the demo
Start the timer, stop it, find the entry it filed
Open the estate matter, run the intake, add an insurance policy with no beneficiary
Generate the invoice and check it equals the time tab
[email protected]Tell us what you are building. We answer within one business day.
Vantage MarketsLIVE · --:--:--
AXOMAxiom Industrial0.00+0.00%
Order BookAXOM
SizePriceSize
SPREAD 0.02
Time & sales
Order TicketAXOM
100
—
—
—
WORKING · BUY 100 AXOM · ROUTED
Working orders
SymQtyAvgLastuP&L
Open P&L0.00
Watchlist8 SYMBOLS
TracelineLAST 7 DAYS
RunLatencyTokensCost
Trace
MonitorALBA SUPPORT AGENT
1.8sp50 latency
11.6sp99 latency
3.9%Error rate
Latency, 7 days
p50p99
Cost by model, this week
sonnet-4-5$41.20
haiku-4-5$17.05
gpt-4o-mini$6.14
Tokens per day
EvalsPROMPT V3 VS V4 · 120 CASES
Scores are means over 120 replayed support conversations, judged per criterion. V4 wins grounding and tone; V3 still answers faster. The rollout call is yours, with the evidence in one place.
Board
Meridian Issues · Cycle 14 ·
Issues
Activity
Cycle 14
Scope
Completed
Velocity
Ideal Actual Scope change
Enter runs the top result · acting on
LedgerlineFathomly Analytics · live
Gross volumeLast 30 days
Gross volume
–
12.4% vs last 30d
MRR
–
3.2% vs last 30d
Dispute rate
0.08%
1 of 1,240 charges, 90d
0.02pp vs last 90d
Next payout
–
–
8.1% vs last payout
Payments
Last 30 days
–
pi_
Timeline
Risk
0
Customer
Metadata
Review queue
Rule matches wait here for a decision
Queue clear
Radar keeps watching.
Copied
Northbeam · Inkwell
Funnel
Signed up to upgraded · last 30 days · all platforms
Window
Add a step
Northbeam · Inkwell
Retention
Weekly cohorts · share still active each week
9%100% of cohort active
Tap a cell for the exact share. Week 0 is the signup week, so it always reads 100%.
Northbeam · Inkwell
Segment
Weekly active users · last 8 weeks
Northbeam · Inkwell
Dashboards
Growth review · 6 saved charts
Hartwell & Vanetimer idle
€0Unbilled WIP
€12,940Outstanding
€41,200Trust held
Trust money is client money. It lives in its own accounting and never mixes with operating funds; the dashed box is the visual law of this app.
Deadlines
Matters
Mattertimer idle
Matter
Client
Unbilled
Trust balance
Next deadline
Activity
Timetimer idle
0:00:00Vasileiou estate · drafting
Entries today
Billable today
Billingtimer idle
€4,1200-30d
€5,61031-60d
€2,41061-90d
€80090d+
Invoices
Pulls today’s billable entries for the Vasileiou estate into a draft, totalled by each person’s rate.
Estate intakeclient-facing
Anna’s family, as she gave it.
The client answered on her phone over a weekend. Confirm and move to assets.
Assets, with their beneficiary forms.
A form on an account outranks the will. Add one and watch the check react.
Checking…
Bordero · commission desk
Viewing as
Commission statements
The bordero arrives monthly from each insurer. Open the new one and run the match against the production register.
The production register
What the firm actually wrote. Add a policy of your own and the next match run knows about it.
Statement
Not run yet
Policy
Insured
Product
Gross premium
Rate paid
Commission paid
Reconciliation queue
Every exception carries its arithmetic. Approve posts it to the ledger; dispute files it with the insurer on a 90-day clock.
Queue clear. Run a match on a statement to fill it.
Payout run
Insurer aging
Money the insurers owe the firm, aged from statement date.