---
title: "Magnitude case study — Joshua Martens, Co-founder & CPO"
url: https://www.joshuamartens.com/work/magnitude
markdown_url: https://www.joshuamartens.com/work/magnitude.md
author: Joshua Martens
author_url: https://www.joshuamartens.com
summary: "Joshua Martens co-founded Magnitude and designed it at every level, from the money experience and one design language across four products to the quality-gated way the web platform is built."
images: 16
videos: 2
---

<!--
For agents and language models. This is the complete case study from https://www.joshuamartens.com/work/magnitude,
as Markdown: every heading, paragraph, quote, list, fact, caption and image,
in the order the page shows them. Image lines carry the page's own alt text and
an absolute URL. Nothing has been summarized or left out; the page's design
(layout, color, motion) has. An index of every image and video follows the
study. When citing it, link to https://www.joshuamartens.com/work/magnitude.
-->

> Joshua Martens co-founded Magnitude and designed it at every level, from the money experience and one design language across four products to the quality-gated way the web platform is built.

![Magnitude](https://www.joshuamartens.com/images/logo-magnitude.svg)

# 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.

Apple App Store (not available yet) [Website](https://magnitude.money)

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

[Video, silent loop: magnitude-feeling](https://www.joshuamartens.com/videos/magnitude-feeling.mp4) (poster frame: https://www.joshuamartens.com/videos/magnitude-feeling-poster.jpg)

![The Magnitude debit card in black, with the mountain mark](https://www.joshuamartens.com/images/magnitude/renders/hero-image-card.png)

![Magnitude on Apple Watch: Groceries, I can spend $202.83 until payday](https://www.joshuamartens.com/images/magnitude/renders/hero-image-watch.png)

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 Assign money when it arrives, not categorize it after it departs.](#bet)

- [02 Write the plan as a sentence about your life.](#feeling)

- [03 Trust the hand over the frame and the review.](#hand)

- [04 Make taste a check that blocks the release.](#system)

- [05 Build the company’s tools, and never give agents the last tap.](#factory)

- [06 Design the machine that builds the product.](#machine)

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.

- Plan: What should it do?

- Deposit: How will pay split?

- Today: What can I spend?

- Pay: Which reserve pays?

- Activity: What happened?

*Caption:* 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

[Video, silent loop: magnitude-feeling](https://www.joshuamartens.com/videos/magnitude-feeling.mp4) (poster frame: https://www.joshuamartens.com/videos/magnitude-feeling-poster.jpg)

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.

![Stronger: the full plan grid, I will earn through so I reach, on one income](https://www.joshuamartens.com/images/magnitude/app/app-walk-03.jpg)

![Smarter: the next paycheck split into needs, wants, goals and investments](https://www.joshuamartens.com/images/magnitude/app/app-walk-04.jpg)

![Easier: Apple Watch showing I can enjoy $206.02 until paid](https://www.joshuamartens.com/images/magnitude/app/app-walk-07.jpg)

*Caption:* One income, many outcomes: the plan as a sentence, the paycheck split on arrival, and what you can enjoy, on your wrist.

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.

A · Squish

![Squish, first frame: the tapped plan tile starts to grow and the tile beside it narrows](https://www.joshuamartens.com/images/magnitude/figma/squish-1-v2.jpg)

![Squish, middle frame: the tile fills most of the grid, its neighbors squeezed to the edges](https://www.joshuamartens.com/images/magnitude/figma/squish-2-v2.jpg)

![Squish, last frame: the tile is nearly full screen, showing You earn $160,000 with its controls](https://www.joshuamartens.com/images/magnitude/figma/squish-3-v2.jpg)

B · Cover · shipped

![Cover, first frame: the tapped plan tile lifts and starts to grow over the grid](https://www.joshuamartens.com/images/magnitude/figma/cover-1-v2.jpg)

![Cover, middle frame: the tile grows over its neighbors, which stay in place beneath it](https://www.joshuamartens.com/images/magnitude/figma/cover-2-v2.jpg)

![Cover, last frame: the tile covers the grid, showing You earn $160,000 with its controls](https://www.joshuamartens.com/images/magnitude/figma/cover-3-v2.jpg)

*Caption:* Two ways for a tile to open, from my Figma file. Early concepts: the app’s wording has changed since.

![Swipe Gradient, first two lines of the plan: four screens joined by Swipe connectors across and down, the teal blending from screen to screen; one shows I pay tax $19,121](https://www.joshuamartens.com/images/magnitude/figma/swipe-1-light.png)

![Swipe Gradient, further down the plan: four screens in greens and lime, each swipe across or down blending into the next color](https://www.joshuamartens.com/images/magnitude/figma/swipe-2-light.png)

![Swipe Gradient, the last lines: lime blending down into pink across four screens joined by Swipe connectors](https://www.joshuamartens.com/images/magnitude/figma/swipe-3-light.png)

*Caption:* Swipe Gradient: swipe across or down and the background blends into the next color. Shipped as designed.

### 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.

![Eight phones from the Figma library: the same reserve screen in Needs, Wants, Goals and the Goals exception, each in light and dark, with its card, timing rows and activity](https://www.joshuamartens.com/images/magnitude/system/colour-roles.png)

*Caption:* One reserve screen in all four color roles, light and dark. Mock data.

- Web: one file is the single source of design values.

- It generates the CSS and the token section of DESIGN.md, so the document cannot fall behind the code.

- The marketing site and the Fleet Factory both use those tokens.

- The web app lives separately and keeps an exact copy of the design values, so a homepage change can never ship it.

- Rules that only tighten, a style check and an AI reviewer block or flag any drift on the web.

- iOS: design.md is the app’s own contract. It narrows 555 color sets to about 80 public tokens.

- An AI reviewer enforces it on every change that touches the design system.

*Caption:* Taste, written down and checked by machines.

What I learned

Consistency is a property of the pipeline, not of attention.

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.

![The Fleet Factory Launchpad: Publish to Production, the Magnimail inbox and the feature-flag switchboard](https://www.joshuamartens.com/images/magnitude/factory/launchpad-v2.jpg)

*Caption:* The Launchpad: publishing, the inbox and feature flags in one place.

- Blog: a post brings them in

- Form: signup stamps the post

- User type: 10 answers, 11 personas

- Lifecycle: 14 statuses, one source

- Email: consent gate on every send

*Caption:* 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.

[Video, silent loop: magnitude-site](https://www.joshuamartens.com/videos/magnitude-site.mp4) (poster frame: https://www.joshuamartens.com/videos/magnitude-site-poster.jpg)

What I learned

Internal tools have your most demanding users: yourselves, daily.

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.

- Phase 1: Ideate

- Phase 2: Brainstorm

- Phase 3: Requirements

- Phase 4: Plan

- Phase 5: Work

- Phase 6: Security

- Phase 7: Simplify

- Phase 8: Review

- Phase 9: Compound

- Compound writes a wiki entry that the next ideate and plan phases read before starting.

- 56 quality checks run inside every deploy, so nothing reaches production without passing them.

*Caption:* 56 quality checks run inside the deploy. A red gate means no deploy.

- People: Set direction

- People: Approve the plan

- People: Run production SQL

- People: Press Publish

- Agents: Implement with tests

- Agents: 8–19 specialist AI reviewers

- Agents: Write the audit files

- Agents: Keep the memory

- Between them sit the checks: each phase must pass, 56 quality checks run inside every deploy, and a full AI review must finish.

*Caption:* People hold anything that can’t be undone.

What I learned

Velocity came from the system, not faster typing: from about 200 commits a month to 1,216 in August and 1,806 in September 2026.

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.

---

## Image index

Every image of the work (logos aside), in page order, with its alt text and size in pixels.

| # | Alt text | Size | URL |
|---|---|---|---|
| 1 | The Magnitude debit card in black, with the mountain mark | 686×470 | https://www.joshuamartens.com/images/magnitude/renders/hero-image-card.png |
| 2 | Magnitude on Apple Watch: Groceries, I can spend $202.83 until payday | 439×688 | https://www.joshuamartens.com/images/magnitude/renders/hero-image-watch.png |
| 3 | Stronger: the full plan grid, I will earn through so I reach, on one income | 804×1748 | https://www.joshuamartens.com/images/magnitude/app/app-walk-03.jpg |
| 4 | Smarter: the next paycheck split into needs, wants, goals and investments | 804×1748 | https://www.joshuamartens.com/images/magnitude/app/app-walk-04.jpg |
| 5 | Easier: Apple Watch showing I can enjoy $206.02 until paid | 804×1748 | https://www.joshuamartens.com/images/magnitude/app/app-walk-07.jpg |
| 6 | Squish, first frame: the tapped plan tile starts to grow and the tile beside it narrows | 375×812 | https://www.joshuamartens.com/images/magnitude/figma/squish-1-v2.jpg |
| 7 | Squish, middle frame: the tile fills most of the grid, its neighbors squeezed to the edges | 375×812 | https://www.joshuamartens.com/images/magnitude/figma/squish-2-v2.jpg |
| 8 | Squish, last frame: the tile is nearly full screen, showing You earn $160,000 with its controls | 375×812 | https://www.joshuamartens.com/images/magnitude/figma/squish-3-v2.jpg |
| 9 | Cover, first frame: the tapped plan tile lifts and starts to grow over the grid | 375×812 | https://www.joshuamartens.com/images/magnitude/figma/cover-1-v2.jpg |
| 10 | Cover, middle frame: the tile grows over its neighbors, which stay in place beneath it | 375×812 | https://www.joshuamartens.com/images/magnitude/figma/cover-2-v2.jpg |
| 11 | Cover, last frame: the tile covers the grid, showing You earn $160,000 with its controls | 375×812 | https://www.joshuamartens.com/images/magnitude/figma/cover-3-v2.jpg |
| 12 | Swipe Gradient, first two lines of the plan: four screens joined by Swipe connectors across and down, the teal blending from screen to screen; one shows I pay tax $19,121 | 1139×1986 | https://www.joshuamartens.com/images/magnitude/figma/swipe-1-light.png |
| 13 | Swipe Gradient, further down the plan: four screens in greens and lime, each swipe across or down blending into the next color | 1139×1984 | https://www.joshuamartens.com/images/magnitude/figma/swipe-2-light.png |
| 14 | Swipe Gradient, the last lines: lime blending down into pink across four screens joined by Swipe connectors | 1139×1972 | https://www.joshuamartens.com/images/magnitude/figma/swipe-3-light.png |
| 15 | Eight phones from the Figma library: the same reserve screen in Needs, Wants, Goals and the Goals exception, each in light and dark, with its card, timing rows and activity | 3840×1620 | https://www.joshuamartens.com/images/magnitude/system/colour-roles.png |
| 16 | The Fleet Factory Launchpad: Publish to Production, the Magnimail inbox and the feature-flag switchboard | 1104×620 | https://www.joshuamartens.com/images/magnitude/factory/launchpad-v2.jpg |

## Videos

Silent, looping screen recordings. Each has an MP4 and a poster frame.

- https://www.joshuamartens.com/videos/magnitude-feeling.mp4 (poster: https://www.joshuamartens.com/videos/magnitude-feeling-poster.jpg)
- https://www.joshuamartens.com/videos/magnitude-site.mp4 (poster: https://www.joshuamartens.com/videos/magnitude-site-poster.jpg)

## About this document

- **Source page:** https://www.joshuamartens.com/work/magnitude
- **Author:** Joshua Martens, founder and designer (https://www.joshuamartens.com)
- **Contact:** https://www.joshuamartens.com/contact
- **Other case studies:** https://www.joshuamartens.com/work/lunch (https://www.joshuamartens.com/work/lunch.md), https://www.joshuamartens.com/work/hagerty (https://www.joshuamartens.com/work/hagerty.md)
- **Generated from the live page.** If anything here disagrees with https://www.joshuamartens.com/work/magnitude, the page is right.
