61 lines
9.1 KiB
Markdown
61 lines
9.1 KiB
Markdown
# Judge 4 — Junior Developer Verdict (Round 3)
|
||
|
||
## Persona
|
||
|
||
Two years into the job. I live in VS Code, lean on Copilot all day, and keep a ChatGPT tab pinned. I'm the person who hears "AI agent OS" and immediately installs it, clicks every tab, opens DevTools when something looks off, and compares the polish to Raycast, Linear, and Cursor. I'm forgiving of rough edges in my own tooling but I judge a consumer-facing "habit-forming, delightful" promise by consumer standards.
|
||
|
||
What I reviewed: all 15 screenshots (full-res, cropped where needed), the dock hover-description source (`apps/web/src/lib/dock-tiers.ts`), and the live app (`GET /api/auth/session-token` → `GET /api/home/briefing` returned the real personalized briefing matching the screenshots — the memory claims aren't mocked pixels).
|
||
|
||
## Scores
|
||
|
||
| # | Criterion | Score (1–5) |
|
||
|---|-----------|-------------|
|
||
| 1 | First-session clarity | **4** |
|
||
| 2 | "It knows me" | **4** |
|
||
| 3 | Visible agent growth | **3** |
|
||
| 4 | Desire to return | **4** |
|
||
| 5 | Absence of friction | **3** |
|
||
| | **Total** | **18 / 25** |
|
||
|
||
## Per-criterion reasoning
|
||
|
||
### 1. First-session clarity — 4
|
||
|
||
The onboarding is genuinely tight: 3 steps, progress dots, and the mission is stated up front — "Remembers everything. Improves itself. Built for knowledge work." nails both superpowers in eight words. The live greeting preview on the identity step ("Good evening, Marko — your work will be remembered here.") is a Raycast-grade touch. The "Claude Code detected — Found 425 items" auto-detect banner is the single most impressive moment in the whole flow; that's the kind of ambient smarts that makes a dev grin. The workspace step explicitly plants superpower #2 ("Your agent learns each workspace's patterns and can propose new skills — you approve every change."). The novice dock (14) at 6 items is exactly right, and I verified every nav entry carries a plain-language hover description in `dock-tiers.ts` ("Teach your agents new abilities", "Watch your agents work together live") — these are written for humans, not engineers.
|
||
|
||
Why not 5: the bee jargon stacks up fast (Hive, Waggle Dance, hexagon wallpaper everywhere) and "Spawn Agent" sits in the *novice* dock — "spawn" is process-table vocabulary, not novice vocabulary. And after creating the workspace, nothing in the captured flow hands me a first thing to *do*; the clarity ends at the threshold.
|
||
|
||
### 2. "It knows me" — 4
|
||
|
||
This is the strongest pillar. The welcome-back modal (01) is viscerally personal: "Good evening, Marko · 23 memories · 271 people, projects & things it knows · 2 awaiting your OK", then an "I REMEMBER" section quoting an actual learned workflow preference — "I always work with a draft → critique → rewrite loop. The critique pass is the most important…". That's not a counter, that's *my process reflected back at me*. The home cockpit (02) opens with "You've been away 10 days, Marko. Here's what happened:" and per-workspace context ("Q3 editorial direction: lean into skepticism, less hype") — and I confirmed via the live `/api/home/briefing` that this is real data, not a staged screenshot. The empty workspace's "Nothing here yet — start a chat and I'll remember it." is great voice.
|
||
|
||
Why not 5: I clicked through to Memory Center (03) expecting to see those 23 memories and found exactly **one** card in a sea of hexagons (workspace-scoped filtering, presumably — but nothing tells me that, so the headline claim doesn't visibly cash out where memories actually live). And the modal says "Writer demo — **Anua**" while every other surface says "**Anya**" — a memory product that misspells the name it remembers is a uniquely self-defeating typo.
|
||
|
||
### 3. Visible agent growth — 3
|
||
|
||
There is exactly one piece of real, present-tense evidence: the `agent · review` badge on the `presentation-design` skill (04b) — an agent-authored skill awaiting my approval. That's the right mechanic, made visible, and I like it. Around it, everything is future tense or empty: Home promises "I'll suggest a new skill for you at Jun 17, 10:00 AM"; the command palette footer echoes the same scheduled suggestion; and the dedicated **Evolution tab (13) — the flagship surface for "improves itself" — is an empty state**: a nice explainer card ("Your agent improves itself here… nothing changes without you") next to "Select a run to review" with zero runs and a "+ New Run" button. Agent Center (05) shows one agent (Editorial Critic, real lastRunAt, good instruction text) but "avg success —" as a dead em-dash. The Automation Center (06) is the healthiest growth-adjacent surface (12 active schedules, 100% recent success, real timestamps), but those are schedules I'd expect from any cron UI, not self-evolution. Concept: excellent. Proof on screen: one badge.
|
||
|
||
### 4. Desire to return — 4
|
||
|
||
The return loop is well-designed and I felt it. The away-briefing ("You've been away 10 days… here's what happened") plus overnight counters (10 memories consolidated, 5 automations completed) is the strategy-game daily-login pattern done tastefully. "Up next: I'll check in on quiet projects at Jun 15, 9:00 AM" creates a literal appointment with the app. Quick capture (Note/Task/Link/File) at the bottom of Home gives me a reason to open it even when I don't need an agent. The command palette (12) with `/catchup` pre-highlighted ("get up to speed instantly") is exactly the re-entry affordance a returning user wants.
|
||
|
||
Why not 5: the one chat transcript in evidence (07) ends with the agent failing (see complaint 1) — if my last memory of working here is an error dump, the briefing alone won't pull me back. And "0 artifacts created" overnight quietly undercuts the "things happened while you were away" story.
|
||
|
||
### 5. Absence of friction — 3
|
||
|
||
Navigation, onboarding, palette, and the cockpit are smooth and consistent. But the flagship resume screenshot (07) — the one demonstrating markdown-rendered chat — shows the agent's actual reply as a raw JSON blob: `[spawn failed] LLM error (404): {"error":{"message":"Anthropic API error: {\"type\":\"not_found_error\",\"message\":\"model: auto\"}…request_id…}}`. My pinned instruction renders in a beautiful orange callout, and the agent answers with a stack trace. I shrug at 404s for a living; the non-technical user this product targets closes the app. Add the Memory Center's 23-vs-1 mismatch, screens that are 70–80% hexagon wallpaper at low data volume, and the Anua/Anya inconsistency, and the polish floor is visibly below the (high) polish ceiling.
|
||
|
||
## Numbered complaints
|
||
|
||
1. **Raw API error rendered as agent chat output (07-workspace-resume.png).** The agent's reply is a verbatim JSON dump (`[spawn failed] LLM error (404) … "model: auto" … request_id`). Replace with a friendly error card ("I couldn't reach my model — check Settings → Models") plus a Retry button; never surface request IDs/JSON in the chat lane. Also fix the root cause: `model: auto` is 404ing against the Anthropic API in the demo path.
|
||
2. **Evolution tab is an empty showcase (13-memory-evolution.png).** The dedicated "Your agent improves itself here" surface has zero runs — superpower #2's flagship screen proves nothing. Seed a first real evolution run from existing usage, or deep-link the `agent · review` skill proposal into this tab so there's always at least one reviewable item; hide the tab until then.
|
||
3. **Memory claim doesn't cash out on click-through (01 vs 03).** Welcome modal says "23 memories · 271 people, projects & things it knows"; Memory Center displays one card with no explanation. Show the global count in the header and a one-click "Show all 23 across workspaces" when the active scope filters the list to near-empty.
|
||
4. **"Spawn Agent" in the novice dock (14-novice-simple-dock.png).** Process-management jargon in the tier explicitly designed for novices. Rename to "New Agent" (or match the friendly register of the hover descriptions, which are otherwise excellent).
|
||
5. **"Writer demo — Anua" vs "Writer demo — Anya" (01 modal vs 02/05/07).** A name inconsistency inside the "I remember you" modal reads as the app misremembering — the single worst polish bug a memory product can have. Audit demo/seed data for the typo.
|
||
6. **Hexagon wallpaper dominates sparse screens (03, 05, 13).** At low data volume, 70–80% of Memory Center / Agent Center / Evolution is decoration. Replace dead space with functional empty-state content: suggested searches, sample memories, "create your first…" actions.
|
||
7. **Dead-stat placeholder next to live data (05-agent-center.png).** "avg success —" sits beside an agent with a real lastRunAt. Compute the stat from the runs that exist, or hide it until N ≥ 1; an em-dash in a stats row reads as broken telemetry.
|
||
|
||
## Bottom line
|
||
|
||
The memory pillar is real and verifiable — the briefing API serves the same personalized context the screenshots show, and the "I REMEMBER" modal is the best moment in the product. The self-evolution pillar is currently one badge and two calendar promises wrapped in an empty flagship tab. And the single chat transcript offered as evidence contains an unhandled error. Fix complaints 1–3 and this is a 21–22/25 product; today it's a very promising 18.
|