// process

How this actually works.

Three engagement types — sprint, project, retainer. Most engagements start with a sprint and either end there or graduate into a longer shape. No proposals with executive summaries. No "phase 0 alignment." We talk for an hour, write a scope, then we work.

See the shapes ↓ Start a conversation

// three shapes

Sprint, project, retainer.

Most of our work falls into one of these three. Ranges are honest — actual range, not low-anchor numbers we then talk you up from. The right shape depends on what you're trying to ship.

  • // sprint

    Sprint

    1–2 weeks · $8k–$18k

    A scoped problem. A specific page that needs to ship. An audit. A polished interaction that the in-house team doesn't have time for.

    Common shapes:

    • Performance audit + remediation plan
    • New marketing site section (5–8 pages)
    • Migration off a legacy CMS
    • Custom interaction or animation built to spec
    • GA4 / GTM / Looker dashboard set
  • // project

    Project

    4–10 weeks · $25k–$80k

    A bounded build. End-to-end design + engineering on a new site or product surface. Discovery, build, polish, handoff.

    Common shapes:

    • Full marketing site rebuild
    • AI integration end-to-end (prompt design + UI + backend)
    • E-commerce site with custom checkout flow
    • Product page or feature flight from spec to launch
    • CMS implementation + content migration + training
  • // retainer

    Retainer

    3+ months · $6k–$15k / mo

    Ongoing capacity for a team that's shipped something and needs steady hands keeping it working. Performance tuning, new sections, A/B tests, analytics build-out.

    Common shapes:

    • Monthly performance audit + tuning
    • New content sections / landing page builds per quarter
    • CRO experimentation + measurement
    • AI feature iteration based on real usage data
    • On-call for anything weird that breaks

A note on the ranges: Scope is what we negotiate, not rate. Two clients asking for the "same" build often need different things at different fidelities — a working prototype is not a polished launch. The first scope document we write spells out exactly what's included at the quoted price.

// the shape

A typical four-week sprint.

Sprint engagements run on a four-phase shape. Longer projects repeat this rhythm with bigger sub-scopes. Retainers skip phase one and operate continuously on the other three.

  1. 01

    Discovery

    A 60-minute working call. We talk through what you're actually trying to solve, what's been tried, what success looks like. We follow up with a written scope: deliverables, timeline, what we need from you. No deck.

  2. 02

    Build

    We work in public — daily commits, deployable previews, an open Slack or Loom channel. You can poke at the build any time. We don't disappear for a week and come back with a surprise.

  3. 03

    Review

    Real review, not a presentation. We walk through what's live, what's next, what changed since last week. Anything you push back on goes into the next iteration. We don't defend bad work — if it's not landing, we change it.

  4. 04

    Handoff

    Working build + a README that explains the architectural choices + a walkthrough video. Your next developer should be able to open the project cold. Three weeks of post-handoff support included by default — for actual bugs we missed, not new feature requests.

// always included

In the price.

  • Detailed written scope before any work starts
  • Daily commits to a shared repo (yours or ours)
  • Live preview URL the whole engagement
  • Loom walkthroughs of anything non-obvious
  • Performance budget set day one, held to throughout
  • WCAG AA accessibility floor on everything shipped
  • Final handoff package (build, docs, walkthrough)
  • Three weeks of post-handoff support for bugs

// not in the price

Skipped on purpose.

  • Long meetings with people who don't make decisions
  • Powerpoint status updates (Loom + commits replace these)
  • Tracking your team's hours back to us — we ship, we don't bill 15-minute increments
  • "Working sessions" where two people watch one person code
  • Stakeholder management as a billable line item

We charge for outcomes, not theatre. If something we skip matters to your team, we'll talk about it on the discovery call — there's usually a better shape than billing for it.

// terms

The boring boring details.

Payment
50% to start, 50% on handoff. Sprints under $10k can run net-30 on a single invoice if that's easier for your AP team.
Retainers
Monthly invoice at the start of the month, net-15. Three-month minimum, month-to-month after that.
Scope changes
In-flight changes get a written delta — "X became Y, here's the new estimate and timeline." No surprise invoices. We sign off before the new work starts.
Cancellation
You can stop anytime. We invoice for work-to-date, hand off what exists, and we both move on. Projects: 50% deposit is non-refundable once we've started discovery.
Ownership
You own everything we build the moment it's paid for. Source code, designs, assets, accounts. We retain the right to talk about the work in our portfolio unless you ask us not to.
Confidentiality
Standard mutual NDA available if you need one — it's a one-pager, no legal back-and-forth. We don't share specifics of any engagement publicly without permission.
References
Available on request. We'll connect you with two past clients in a similar shape to your engagement.

// next move

Tell us the problem.

A paragraph about what you're trying to build. We'll come back within a business day with a question or a calendar link.

Start a conversation → See the work first