Joshua Martens
Home

Designing the company, not just the product

I co-founded Magnitude, a money app that helps you put everything you have toward everything you really want. I designed it at every level, from how managing money feels to the machine that builds it.

Case Study
Timeline
2025 – present
Role
Co-founder & CPO
Surfaces
iOS & Apple Watch, website, the Fleet Factory
Team
Two co-founders, two iOS developers, a content lead and a fleet of 69 agents
The Magnitude debit card in black, with the mountain markMagnitude on Apple Watch: Groceries, I can spend $202.83 until payday
In short

TLDR

  • The product. Magnitude is designed to split each paycheck into purpose-bound sub-accounts on arrival, so money is planned before it’s spent. (Pre‑launch)
  • My role. Co-founder and CPO. I lead product design across iPhone, Watch and web, designed the Figma design system every product is built on, and am the main builder of the web platform, the marketing site and the Fleet Factory, our internal operating system.
  • What’s below. Six decisions, each with the problem, what I chose and what it cost. About 9 minutes.
4
products, one design language
271
unique iPhone screens designed in Figma
539
components and icons in the Figma library
2,680
merged pull requests on the web platform, 1,371 mine

Six decisions

01
The bet

Status quo: money gets categorized after it departs. Magnitude: money gets assigned when it arrives.

A bank ledger tracks what you have, not what to hold, so everything built on it explains money after the fact.

Problem
A card swipe checks the amount and the balance, never whether that money is already spoken for by rent or bills.
Decision
Split each paycheck the moment it arrives into reserves, one for each thing it has to cover: rent, groceries, school.
Trade-off
It ships as three product lines. Lens plans the money and launches first, but can’t enforce the plan. Lift holds each paycheck to it, and Link is Lift for couples. Money movement is built and tested in sandboxes.
Outcome
Every dollar gets a job on payday, so you see what’s safe to spend before you swipe.

Budgeting apps like YNAB, Copilot and Monarch can’t enforce anything, and they look backward. Many institutions earn fees on customers’ money mistakes; the bet is a structure designed to prevent them automatically.

  1. Plan: What should it do?
  2. Deposit: How will pay split?
  3. Today: What can I spend?
  4. Pay: Which reserve pays?
  5. Activity: What happened?
One balance, seen at five points in time. Every other money app starts at the last one.

Designed for a behavior, not a demographic

Eleven personas defined by how people handle money, not age or income: from the Juggler working two jobs to the Builder whose ambition is ahead of their income.

02
Designing a feeling

Calm, ahead, in control

Money stress is a feeling, so the design had to change the feeling, not just the math.

Problem
Financial apps make money feel like punishment: a bar turns red, a fee lands, and neither tells you what you can still do.
Decision
Write the plan as one first-person sentence, with amounts that update the moment you spend, by the day, until payday or by the month.
Trade-off
Copy becomes product logic: every number must earn its place in the sentence.
Outcome
No charts to decode. Today just says “You have $310.83 for groceries — 14 days until paid.”

The plan reads as one sentence: I earn… I keep… I need… I enjoy… I save… if I invest… I could reach. My co-founder and I shaped the words together; I designed the interactions.

Built for the wrist

The watch switches reserves only on a confident merchant match, because a wrong guess costs more trust than no guess.

Magnitude does 99%; you do the 1%

When a charge keeps repeating, Magnitude drafts it as a recurring bill and asks you to confirm. There’s no “approve all,” because that would give away the one decision that’s yours.

03
Judgment

Some things are only known in the hand

For a tile opening into its full screen I drew two options in Figma: Squish, where it pushes its neighbors aside, and Cover, where it rises over them. Both looked right as frames, so a developer built both. Once we could use them, Cover made perfect sense and Squish felt clumsy. Cover shipped.

I designed the screen comparing your plan to your spending as a departures board: positions stay put, figures flip. Four of eight automated reviewers called it a critical bug, and the session “fixed” it into a rippling, flashing layout. I restored the prototype and found the real fault in ten-times slow motion. Our rule now: a critical finding is a claim about intent, and reviewers can’t see intent.

Then the board taught me what Cover had. In the hand, the flaps read as a travel app, not a finance app. The team agreed upon a pulse: quieter, and native to the rest of our motion.

Leading without a title

We’re under ten people, each the expert in their own lane, so I lead through the work. My co-founder brings the vision, we shape the product roadmap together, and I polish the flows, UI and UX. With our content lead, I set the blog’s art direction: restraint. Photography in sepia, monochrome or black and white, and graphics as minimal vector line work, abstract enough to carry ideas that aren’t obvious.

04
One system

One design language, two contracts, enforced by machines

A design system that lives only in a document decays. On the web, breaking ours blocks the release.

The CSS and the docs generate from one token file. Existing rule breaks are logged, and that list can only shrink; new ones block the release. Two AI reviewers catch what rules can’t, like a vague error message or a hand-built card. On iOS, my contract narrows 555 color sets to about 80 public tokens, enforced by a review agent.

The library, from scratch

I built the component library from scratch in Figma, with contributions from my co-founder. Our iOS developers built it in Swift.

  1. Web: one file is the single source of design values.
  2. It generates the CSS and the token section of DESIGN.md, so the document cannot fall behind the code.
  3. The marketing site and the Fleet Factory both use those tokens.
  4. The web app lives separately and keeps an exact copy of the design values, so a homepage change can never ship it.
  5. Rules that only tighten, a style check and an AI reviewer block or flag any drift on the web.
  6. iOS: design.md is the app’s own contract. It narrows 555 color sets to about 80 public tokens.
  7. An AI reviewer enforces it on every change that touches the design system.
Taste, written down and checked by machines.
05
The Fleet Factory

Building the company’s operating system

Content, marketing, an investor data room and deploys: one app, one database, one design system.

Problem
The company needed a content system, a marketing stack, a data room and a deploy pipeline. Outside tools would each keep their own copy of the audience.
Decision
Build them as one app, where people, investors and agents sign in to the same house.
Trade-off
We build and maintain it instead of renting. In return, everything integrates natively.
Outcome
The place the company runs from: 164 pages, 362 admin API routes and one record of every audience.
  1. Blog: a post brings them in
  2. Form: signup stamps the post
  3. User type: 10 answers, 11 personas
  4. Lifecycle: 14 statuses, one source
  5. Email: consent gate on every send
Five internal products that read as one: every link in the chain is a tool we built, sharing one database and one design system.

Agents point; people press

People and agents share one directory, one inbox and one feed. The assistant can point and highlight, never click, submit or write.

The website: the fourth product

Every word on the site is edited in the Fleet Factory. The homepage background turns from day to night when the sun sets where you are.

06
The machine

Designing the machine that builds the product

Nine phases, each passed before the next begins, and a memory the next task reads first.

Problem
Shortcuts hide defects: a run that skipped half the pipeline left three; a hand-picked review team missed seven more.
Decision
Nine required phases, and a wiki every task writes to and the next reads first.
Trade-off
Even a simple-looking change goes through all nine phases, which costs time and AI usage.
Outcome
Defects get caught before they ship, and each lesson is learned once.

I assembled it from Every’s Compound Engineering plugin, forked, adding a requirements phase and custom reviewers. I’m a contributor to the open source project.

  1. Phase 1: Ideate
  2. Phase 2: Brainstorm
  3. Phase 3: Requirements
  4. Phase 4: Plan
  5. Phase 5: Work
  6. Phase 6: Security
  7. Phase 7: Simplify
  8. Phase 8: Review
  9. Phase 9: Compound
  10. Compound writes a wiki entry that the next ideate and plan phases read before starting.
  11. 56 quality checks run inside every deploy, so nothing reaches production without passing them.
56 quality checks run inside the deploy. A red gate means no deploy.
  1. People: Set direction
  2. People: Approve the plan
  3. People: Run production SQL
  4. People: Press Publish
  5. Agents: Implement with tests
  6. Agents: 8–19 specialist AI reviewers
  7. Agents: Write the audit files
  8. Agents: Keep the memory
  9. Between them sit the checks: each phase must pass, 56 quality checks run inside every deploy, and a full AI review must finish.
People hold anything that can’t be undone.
Outcomes

What’s still open

Open problems

Traction is still ahead of us, so these numbers measure the work, not the market. And the pipeline is fallible: one change passed every check and still shipped two defects where two separately tested parts meet.

What I’d do differently

I’d build the gates and the memory a year earlier; the curve bends after they arrived.

Credits

My co-founder and CEO: the agent fleet. Together we shaped the words and the product direction. Our two iOS developers built the app in Swift. Our content lead: content. Mine: the design contracts, the iPhone screens in Figma, the Figma library (with my co-founder), the plan’s interactions (a developer built them), the blog’s art direction, the web workflow, and about half of the web platform’s merged pull requests.

Every picture from the case study

For agents

The whole case study, as one Markdown file.

For ChatGPT, Claude or your own agent: every word, fact and caption, with each of the 16 images as a link and its alt text. 2,948 words, nothing left out.

Or give your agent the linkhttps://www.joshuamartens.com/work/magnitude.md

Connect

I do my best work when I own a product area and keep improving it. Let's build.

Start a conversation