First Envision

Get in touch.

A few lines is enough. Links welcome. You can also write an email.

Brief in. Invoice out.

The software our studio runs on: the sale, the plan, the client's portal, the files they approve and the invoice, on one set of records. We built it for ourselves, and it opens to other studios by invitation.

Runs on
Web, phone and Mac
Client side
English and Czech
Access
By invitation
Northwind / Website relaunch
ALMKJS
BoardListCalendarPlan
Todo6
NWD-021
Pricing page — three-tier layout
WebMK
NWD-024
Cookie banner copy, CZ + EN
JS
In Progress2
NWD-014
Hook the case-study CMS to the new templates
Plan written · 4 steps
DevC
NWD-018
Hero photography — final selects
Design2/3AL
Cjust now
Fig. 01 — One project's board, with Claude holding a card. Made-up data.

1

Record behind the plan, the portal and the invoice

n+1

A new version for every change. Nothing overwritten

SHA-256

Every file stored once, by its content

1 line

To put your own Claude on the board

Five tools. One loop.

Most studios run these in five different tools. We run them in one, so a proposal, the task it became, the file it produced, the client's yes and the invoice all point at each other.

  1. 01Sell.A brief becomes a proposal the client accepts part by part.
  2. 02Plan.Every request lands on one board, in phases or sprints.
  3. 03Deliver.Rules take the routine; people and agents take the cards.
  4. 04Show.One portal per client: progress, files to approve, invoices.
  5. 05Get paid.An accepted phase becomes a draft invoice a person checks.

One record. Every screen.

Our plan, the client's portal and the invoice don't keep copies. They read the same records, so a change in one place is the change everywhere.

Our planStudio
02Design30 % · 72 000
NWD-014Case-study CMS templates
NWD-011Homepage design
DeliverableHomepage — desktop v3
Northwind's portalClient
02Design✓ Accepted 14 Oct
Case-study CMS templates · in review
PDFHomepage — desktop v3✓ Approved · Jana N.
2026-041Invoice · Phase 287 120,00
Invoice 2026-041Issued · frozen
Phase 2 — Design
Accepted 14 Oct by Jana N.
30 % of the agreed 240 00072 000,00
VAT 21 %15 120,00
Total CZK87 120,00

The phase holds its tasks, its deliverables and its payment. The client accepted it, and that released the invoice.

One link per client

Proposal, project, files, brand and invoices sit behind one client link, closed in one place.

Frozen when it counts

An issued invoice and a sent deck version never change under the client's feet.

Read by everything

Search, Ask and our agents read the same records the team does. No exports, no sync.

Win it before you plan it.

Every new client of ours starts in Sell: one door for whatever they send, research, a map of routes, approaches put through a panel, and a proposal priced part by part. For now it runs only in our studio.

  1. 01BriefPasted as it came; sorted into goals, deliverables and what isn't ours.
  2. 02QuestionsWhat the brief leaves out, drafted as an email and tracked until answered.
  3. 03ResearchThe client from the open web, every source numbered, kept internal.
  4. 04ApproachEight to twelve routes. We pick; then a panel argues with each one.
  5. 05PriceParts priced from hours and the rate card, lean or full.
  6. 06OfferAccepted part by part in the portal. Won, it becomes a project.
PartLeanFull
P1Website relaunch168 000240 000
P2Case-study system54 00078 500
P3Care plan · monthly9 50014 000
Which parts do you want to go ahead with?
P1 Website relaunchLeanFullNot now
P2 Case-study systemLeanFullNot now
P3 Care planLeanFullNot now
Jana N. · NorthwindAccept
Fig. 02 — A proposal priced part by part, and the client's choice. Made-up data.

Nothing waits in an inbox.

Every way work arrives ends as a card on the board, in one place to sort. Then phases or sprints, a calendar in step with Google's, and docs and databases edited together.

  • A pasted briefIntake reads it into tasks
  • A voice memoTranscribed, fields filled in
  • A meeting's to-dosFrom the notes page
  • Changes asked on a filePer version, from the portal
  • A client requestFiled in their portal, with uploads
  • A webhookAn automation creates the task
  • An agentBottom of the column, always
Triage7
Bigger call to action on the homepage
Change request
Send Jana the revised sitemap
Meeting
New lead from the contact form
Webhook
Split NWD-014 into CMS and templates
Agent

Automate the routine. Delegate the work.

When a task moves to Review,
email the client.

One trigger, one action, written once and left running. Triggers: a schedule, a task created, a status change, a due date, an incoming webhook (signed). Actions: create or update a task, send an email, call a webhook, generate a report.

Put Claude on the board.

Our coding agents connect with one command. They claim a card, write the plan on it, do the work on a branch and move it to Review, on the same board as everyone else.

Clients can bring their own agent too, on the projects they manage.

terminal
$ claude mcp add --transport http iterozen
https://…/api/agent/mcp --header "Authorization: Bearer ••••"
✓ Connected · works on 3 projects you switched on
  1. 10:02ClaimedClaimed · NWD-014Hook the case-study CMS to the new templates
  2. 10:04Wrote planWrote plan · NWD-0144 steps, on the card for you to read
  3. 10:41AttachedAttached · NWD-014Pull request #18 · preview link
  4. 10:42MovedMoved · NWD-014In Progress → Review
  5. 10:43CommentedCommented · NWD-014Two questions for you before this goes to the client
Fig. 03 — One card, one morning. Made-up data.

A fence, not a menu.

Agents use the same API, permission checks and redaction as people. There is no side door, and these rules are written into the product, not into a prompt.

  1. 01

    Yours

    It belongs to one person and works only on the projects they switch it on for, with at most Editor rights.

  2. 02

    Accountable

    To everyone else, its work shows under its owner's name.

  3. 03

    Hands off

    It can rewrite a card's description, never its title, priority, due date, assignees or tags.

  4. 04

    Polite

    Its new cards go to the bottom of the column, so it can't reorder anyone's queue.

Every token has a scope, checked on every request. An agent token can't send invoices; an invoicing token can't touch the board. Every change to who can see or do what goes into an audit log.

BoardWidgetCaptureInvoicesDecksClient filesEverything

Show the work. Hide the mess.

Each client company gets one portal: proposal, progress, decks, files, their brand and their invoices, in English or Czech. Nobody has to make an account.

N
Northwind
Shared by your studio
ENCZ
Website relaunch / Homepage
PDF
Homepage — desktop v3
□ Waiting for you
ApproveRequest changes
PDF
Homepage — mobile v2
✓ Approved · Jana N. · 12 Oct
HTML
Launch report v1
✕ Changes asked · Became a task · NWD-031
Opened with an emailed code · link expires 30 Nov
Fig. 04 — A client's portal. Try the chapters. Made-up data.

Access

An open link, a code sent by email, a passcode, or only certain addresses or domains. Links can expire.

Progress

Phases and the work inside them. Anything marked internal stays internal.

People

Each person on the client side gets one page: every link sent to them, and what waits for them.

Every file. Every version. Every yes.

Deliverables live in folders per client. The client approves the exact version they mean, and brand sheets and decks hand over through the same place.

Homepage — desktop.pdfNorthwind / Website relaunch / Homepage
  1. 1
    v122 Sep
    sha256 3f9a…07c1
    ✕ Changes askedNWD-024 in Triage
  2. 2
    v23 Oct
    sha256 b72e…5d0d
    ✕ Changes askedNWD-031 in Triage
  3. 3
    v312 Oct
    sha256 e41c…a29a
    ✓ Approved · Jana N.
Who opened what11 views · 3 visitors · 2 downloads
  • 09:12Jana N. opened v3
  • 09:20Jana N. approved v3
  • 10:02Petr K. opened the folder for the first time. You were told.
  • 10:05Petr K. downloaded v3
$ itz share push ./homepage
checked 14 files
1 new · 13 already held, not sent
✓ Homepage — desktop.pdf is now v3
The client's link didn't change.

Never overwritten

Every upload writes a new version. Going back writes a new one too.

Stored once

Files are kept by their content hash; the same bytes are never stored twice.

Links that last

Rename a file or move a folder and the old address still answers.

Safe to open

HTML reports open as sandboxed pages, with their own images, styles and scripts.

Under the hood.What was hard, and what we did about it.

Three apps into one.

In September 2026 IteroZen absorbed our selling tool and our brand portals: one database, one sign-in, one shell. The selling tool's code moved from SQLite to Postgres across 582 call sites, and then its data followed.

A seal on every invoice.

The preview seals the invoice's contents; sending checks the seal. Change one line after the preview and the invoice can't leave until someone looks again. That's enforced by the server, not by asking nicely.

A fence, not a menu.

The agents' tool list used to look like the boundary, but a valid token could reach everything its owner could. Now every token carries a scope the server checks on every request: a board token can't invoice, and an invoicing token can't touch the board. Changes to who may see or do what go into an audit log.

Stored once, by content.

Client files are kept under their SHA-256 digest, so the same bytes are never stored twice, and a push from the command line sends only what the studio doesn't hold yet. Versions are never edited: going back to an old one writes a new version.

Money that drifted.

Imported projects billed slightly different figures than their offers had quoted, by rounding. So a project now bills exactly what the client accepted, and holds if the price changed since.

Deploys that wait.

Every deploy used to end in a hard kill after ten seconds, because the shell never passed the stop signal on. Now the app is told, and finishes the step in flight first.

Tested around the clock.

The unit tests run in Kiritimati, Honolulu and Amsterdam time, because a date that's right in Prague can be wrong at midnight somewhere else. Then a real database and a real browser: 262 test files and 109 browser specs.

The stack.

Bun, Astro and Vue; Postgres with Drizzle; TipTap and Yjs for editing together; S3 storage; one Docker image. On the Mac, a native SwiftUI menu-bar app with widgets.

Where it is now

It runs our studio every day and opens to other studios by invitation, at iterozen.com. Selling works only in our own studio for now; offline use isn't built yet.

More from the workshop

From our workshop
Get in touch

Still reading? Good sign.Write to us.

Work with people who keep their word.

  1. 01A few lines is enough.
  2. 02A short call. Questions, not a pitch.
  3. 03A written proposal with a clear price, or a straight no.