DevMargin is a portfolio cockpit for solo founders running several products. It pulls revenue from every billing rail you use, subtracts each product’s real running costs, and shows the one number the dashboards you already have leave out: net margin. It keeps the monthly history too, so you can see what a product earned this year and since it started — not only at this instant.
Start free →Every tool shows MRR going up. None of them subtract the hosting, database and AI bills that eat it, and none of them keep a history you can check. DevMargin does three things they don’t:
Enter what you actually pay — hosting, databases, AI credits — and each product shows revenue minus its share. A bill several products rely on, like an Apple licence, is entered once and split across them; a yearly bill keeps its yearly figure. A product that bleeds shows −red rather than a rising vanity curve, and anything unknown stays an honest —, never a convenient zero.
Every pull writes a dated snapshot with the FX rates it used, and each rail’s own monthly reports become settled actuals — so “earned this year” is measured, not extrapolated. For what a product earned before DevMargin, state its opening total per channel: it counts towards the lifetime figure and never towards a yearly one, because a lump sum has no months inside it.
Your portfolio is exposed over MCP — read-only — so Claude answers from your editor instead of you opening a dashboard to look something up.
Bills are one or two orders of magnitude smaller than revenue, so on a shared axis they vanish. They keep their own zero-anchored axis instead, with earnings behind them as a shape and a floor the bars never cross — because a crossing point would read as “costs passed earnings” when it means nothing. The real comparison is the percentage, and it turns red above 100%.
Build in public without exporting a screenshot every month. Your portfolio gets a page at devmargin.app/open/you, and you choose twice what appears on it: which projects, and which figures — MRR, earned revenue, costs, net margin, users, the trend. Everything starts off, a new project is private until you say otherwise, and nothing is ever published as a side effect of anything else.
What makes it worth reading is the line most public dashboards cannot print: each figure says which rails it came from and the date of the snapshot it was read out of. Anyone can type a number into a design tool. Yours can show where it came from.
Restricted, read-only API keys — or a read-only OAuth grant where a rail offers one. DevMargin can never move money, issue refunds or modify your accounts, because the credential itself does not allow it.
Credentials live in Supabase Vault, encrypted, decrypted only server-side at pull time. Never sent to the browser, never logged.
Data stays in the EU (Frankfurt). Your figures are yours: every number traces to a dated snapshot with its FX rates.
Six tools overlap with this one; three are here — the closest rival, an established analytics suite, and a native app that keeps everything on your own machine. Their figures were read from their own sites on 13 August 2026. If one has gone stale that is an error rather than a tactic, and we would like to hear about it.
| DevMargin | TrackMRR | ChartMogul | Totals | |
|---|---|---|---|---|
| Price | Free, or $9/mo · $90/yr | $9/mo, or $29 once | Free under $10k MRR, then $59/mo | $19.99 once |
| Billing rails | 14, plus your own app | 3 | 1 free; 5 from $99/mo | 5 |
| Net margin after costs | Yes, per project | — | — | — |
| App store revenue | App Store, Play, RevenueCat, Adapty | Via RevenueCat | — | — |
| Agent access (MCP) | Read-only MCP server | — | — | — |
| Push API | Users, costs, earned months | — | — | — |
| Apps | iOS, iPadOS, macOS — in TestFlight | iOS and Android, shipped | — | macOS, shipped |
| Works without an account | — | — | — | Yes — nothing leaves your Mac |
The last two rows are the ones where something else wins, and they are the reason to believe the six above: a comparison written by the seller is worth exactly as much as its least convenient row. All six, in full — including App Tracker, Baremetrics and SoleOS →
Every tool in this category aggregates revenue for a person to look at. This one has two doors, pointing opposite ways. An agent reads the portfolio over MCP. Your own product writes to it over the push API — reporting the figures no billing rail will ever know, because they are not billing events.
curl -X POST https://devmargin.app/api/push \
-H "Authorization: Bearer $DEVMARGIN_PUSH_TOKEN" \
-H "Content-Type: application/json" \
-d '{"channel":"<channel-id>","metrics":{"users":1234}}'The push token (dmp_…) is write-only: it reports figures and cannot read your portfolio back, so one that leaks out of a deploy log exfiltrates nothing. Sixty pushes an hour is the ceiling, and once a day is plenty — the snapshot that reads them runs daily.
One paid plan, and the only thing it changes is how far back you can look. Every rail, every project, every cost, the daily pull, the MCP server and the push API are in the free plan — it is history and trends you pay for.
No card required.
Or $90 a year — two months free. Cancel anytime.
Founding price: $49 a year for the first 100 accounts — 100 left — and it stays that price for as long as the subscription runs. It is the yearly plan with a discount Stripe caps at 100 redemptions, so when they are gone the checkout stops offering it rather than this page quietly going out of date. Start free, then upgrade under Account.
Nothing is deleted on the free plan. Your snapshots keep being recorded every day whatever you pay, so upgrading shows your whole past immediately — the limit is on reading it, not on keeping it.
Prices in USD, excluding any VAT that applies to you. Stripe is the merchant of record, so it handles payment, invoicing and EU VAT — card details never reach DevMargin. Upgrading and cancelling both happen under Account; cancelling takes effect immediately and drops you back to the free plan. Weighing this against something else? See how it compares — including what the others do better.
Connect a rail with a read-only key and see your real portfolio in minutes.
Start free →