ModGet early access
Mod/Teams/Engineering

Plan it, spec it, build it.
With an agent in every step.

One workspace for your engineering team. The roadmap, the specs, the designs, the code and the reviews live together, and agents pair with you in each one. No more handing work between Notion, Linear and GitHub.

apps / roadmapN
Now
Reset links expire after an hour
NNassar + agent · shipped
Rate limit the login form
JJo + agent · 3 tickets
Retry failed charges once
JJo · in review
Next
Rate limit the login form
Settings in dark mode
SSam + agent
Later
Audit log export
AAna
SSO for teams
no owner yet
sessions / planning · week 43
N
NassarWhat should move into Now?
your agentRate limiting. Three support tickets this week were lockout attacks. I moved it up and asked Jo to own it.
search support · lockout
J
JoTaking it. Can you draft the spec?
your agentStarted rate-limit-login.md in Specs.
Message planning↑
specs / rate-limit-login.mdJ

Rate limit the login form

Why

Three accounts were attacked this week by scripts guessing passwords. Nothing slows a guesser down today.

What

After 5 failed attempts in 10 minutes, the form waits 30 seconds before the next try. The wait shows as a countdownJo, and resetting the password clears it, so the real owner is never stuck.

your agent suggests the rest · Tab to keep
comments · 2 threads
J
5 failed attempts in 10 minutesJo · Too strict for people using a password manager?
your agent · Password managers fail once at most. 92% of last month's lockouts were 10+ tries from one address, so 5 still catches them.
J
Jo · Convinced. Keep 5.
design / login statesSJ
Default
Log in
Wrong password
Log inWrong password. 4 tries left.
Wait 30s · added by your agent
Log inToo many tries. Try again in 0:24
Show a countdown, not just an error. People retry forever otherwise.SSam
your agent · Added the wait state from the spec, with Sam's countdown. Same type and spacing as the reset screen.
S
Sam · Perfect. Make the button grey while it counts.
sessions / rate limit · buildJ
J
JoBuild it from the spec and the design. Keep the limit in config.
your agent · Claude Code on Jo's MacReading the spec and the login states, then writing the code.
read rate-limit-login.mdedit src/auth/login.tsedit LoginForm.tsxpnpm test auth
your agentDone. 18 tests pass, 4 of them new for the wait. The review is ready for Jo.
Message rate limit↑
src / auth / login.ts+24 −3
// from rate-limit-login.md + const { maxTries, windowMs, waitMs } = + config.login.rateLimit + const fails = await recentFails(ip, windowMs) + if (fails >= maxTries) { + return wait(waitMs - sinceLast(fails)) + }
$ pnpm test auth ✓ waits after 5 failed tries ✓ countdown shows time left ✓ reset clears the wait 18 passed · 2.4s
review / rate limit · login.tsstop 2 of 3
14const fails = await recentFails(ip, windowMs) 15if (fails >= maxTries) { 16 return wait(waitMs - sinceLast(fails)) 17}
your agent · leading the reviewThis is the check. It counts by address, not by account, so an attacker can't lock someone else out.
J
Jo · on line 15What about an office behind one address?
your agentLogged-in sessions from that address are skipped. Line 9, and a test covers it.
stopsJ
✓Limits move to config
2The check on each login
3Countdown on the form
your agent is asking JoAll three stops reviewed, 18 tests pass. Merge to main?
MergeNot yet
updates / week 43

Platform, week 43

Shipped. Reset links expire after an hour (Nassar). Login is rate limited after 5 tries (Jo).

In review. Retry failed charges once, 2 of 3 stops reviewed.

Blocked. Dark mode settings wait on Sam's new colour tokens, due Thursday.

written from 9 sessions and 14 tasks · Nassar sends it
tasks / this week
doneRate limit the login formJ
doneReset links expireN
reviewRetry failed chargesJ
workingSettings in dark modeS
nightlyFlaky-test sweep
laterAudit log exportA
01 · Every workflow, paired

Your team does the thinking.
Agents do the rest, beside you.

▤Plan
N
You set the priorities and drag the roadmap.
It brings the evidence, from support tickets to failing tests, and keeps owners current.
instead of Linear
AaSpec
J
You write the why and the hard decisions.
It drafts the rest, answers comments with your data, and keeps the spec true once code lands.
instead of Notion
◇Design
S
You sketch the flow on a shared canvas.
It adds the states you forgot, the error, the wait, the empty page, in your design system.
instead of FigJam boards
›_Build
J
You point it at the spec and say what matters.
It writes the code and the tests on your machine, with every step in a session your team can read.
with Claude Code, Codex or Cursor
{}Review
J
You ask the questions and decide to merge.
It leads the walkthrough, one stop at a time, and answers on the changed line.
instead of GitHub reviews
☑Track
N
You read one update and unblock what is stuck.
It writes the update from what actually shipped, and chases the reviews that are waiting.
instead of standups
02 · Software that fits your team

Missing a workflow?
Ask for it.

Every tool above is an app in your workspace, and your agent can build more. Ask for the on-call rota, the release checklist or the incident log your team keeps in a spreadsheet, and use it together the same afternoon.

sessions / on-call rotaA
A
AnaMake us an on-call rota. One person a week, and the agent looks at each alert before anyone gets paged.
your agentBuilt it. Ana is on this week, Jo next. I'll triage each alert first and only page with a likely cause.
build app on-callschedule triage
this weekAnaOct 20 to 26A
nextJoOct 27 to Nov 2J
first lookEvery alertbefore a page
03 · Team routines

The work nobody
wants on their list.

Flaky-test sweep

Every night it reruns failures, fixes what it can, and opens a review for the rest.

AAna's routine · nightly
Stale reviews

Nudges the reviewer on any branch waiting more than two days.

NNassar's routine · Fridays
Release notes

Written from the week's merged sessions, in your team's words, for a person to send.

NNassar's routine · each release
04 · Your stack

Brings the agents and tools
your team already uses.

Claude CodeCodexCursorGitHubSlackSentryYour terminalYour test suite
01Code stays local

Sessions run in a worktree on the engineer's Mac unless you pick a sandbox.

02A person merges

The agent asks the named reviewer and waits.

03Every line is signed

Blame shows which person or agent wrote it, and the session it came from.

04No training on your code

Your repo and sessions are never used to train models.

Bring your team.

Start with one roadmap and one bug. Your agents join in the first hour.