Ground-up redesign mocks for Islandflow
Reworked the existing mock routes into four distinct product-interface hypotheses that reuse Islandflow fundamentals in new operating models: an evidence canvas, anomaly queue, replay room, and market atlas.
Summary
The mock pages at /mock1 through /mock4 now explore genuinely different frontend directions instead of modest rearrangements of the same dashboard. The work also fixes a mobile shell overflow that made the mock routes horizontally drift on narrow screens.
Changes Made
- Replaced the previous four mock concepts with
Evidence Canvas,Anomaly Queue,Replay Room, andMarket Atlas. - Refactored shared mock primitives for evidence cards, flow tape rows, chart fields, confidence checks, replay tracks, and score dials.
- Rebuilt the mock CSS around distinct grid systems for each concept while preserving the dark operational Islandflow palette.
- Updated mobile top-bar wrapping so the existing app shell no longer causes page-level horizontal overflow at 390px width.
Context
The user wanted new frontend ideas that were not just incremental edits to stale dashboard patterns. The product brief calls for a composed, forensic market terminal where evidence and trust matter more than ornament. These mocks intentionally keep the core materials, options flow, dark prints, replay, feed health, signal confidence, and symbol context, but reorganize them around different workflows.
Important Implementation Details
The mock routes remain static React surfaces under apps/web/app/dashboard-mocks.tsx, so they are safe to evaluate without touching live data wiring.
Relevant Diff Snippets
This is an intentional excerpt of the concept model and mobile shell fix, rendered with Diffs SSR.
6 unmodified lines78910111213141516171819202122232425262728293031323334356 unmodified linesvariant: MockVariant;};const variants: Record<MockVariant, { title: string; premise: string; mode: string; layout: string }> = {mock1: {title: "Command Deck",premise: "Closest to the reference: left navigation, ticker ribbon, dense evidence panes, replay rail.",mode: "Dense ops",layout: "classic"},mock2: {title: "Investigation Stack",premise: "A calmer analyst layout with the selected symbol story in the center and context wrapped around it.",mode: "Forensic",layout: "focus"},mock3: {title: "Signal Wall",premise: "Prioritizes alert triage and cross-symbol scanning before a user drills into price action.",mode: "Triage",layout: "signals"},mock4: {title: "Replay Lab",premise: "A replay-first structure with timeline, event tape, and causality context always visible.",mode: "Replay",layout: "replay"}};6 unmodified lines78910111213141516171819202122232425262728293031323334353637383940414243444546476 unmodified linesvariant: MockVariant;};type Concept = {title: string;shortName: string;premise: string;bestFor: string;layout: string;};const concepts: Record<MockVariant, Concept> = {mock1: {title: "Evidence Canvas",shortName: "Canvas",premise: "A selected anomaly becomes the organizing object. Price, options, prints, news, and replay evidence attach around one decision path.",bestFor: "single-symbol investigation",layout: "canvas"},mock2: {title: "Anomaly Queue",shortName: "Queue",premise: "The terminal behaves like an alert operations room: ranked work enters from the left, evidence resolves in the center, and confidence checks stay pinned.",bestFor: "live triage under volume",layout: "queue"},mock3: {title: "Replay Room",shortName: "Replay",premise: "Historical sessions become inspectable rooms. The time spine leads, with every event and chart panel synchronized to the replay cursor.",bestFor: "after-action review",layout: "replay"},mock4: {title: "Market Atlas",shortName: "Atlas",premise: "Symbols are mapped as related territories. Sector pressure, cross-asset flow, and event clusters reveal where attention is concentrating.",bestFor: "cross-market scanning",layout: "atlas"}};
2817 unmodified lines281828192820282128222823248 unmodified lines30723073307430753076307730783079308030813082308330843085308630872817 unmodified lines.terminal-topbar {position: sticky;top: 0;z-index: 30;padding: 12px 10px;}248 unmodified lines.mock-terminal {min-height: calc(100vh - var(--topbar-height));padding: 18px;color: var(--text);background:linear-gradient(180deg, oklch(0.18 0.018 238 / 0.8), transparent 220px),linear-gradient(135deg, oklch(0.12 0.015 230), oklch(0.1 0.012 255));}.mock-header {display: grid;grid-template-columns: minmax(220px, 0.8fr) minmax(280px, 1.2fr) auto;gap: 14px;align-items: center;margin-bottom: 12px;}2817 unmodified lines28182819282028212822282328242825248 unmodified lines30743075307630773078307930803081308230833084308530863087308830892817 unmodified lines.terminal-topbar {position: sticky;top: 0;z-index: 30;flex-wrap: wrap;align-items: stretch;padding: 12px 10px;}248 unmodified lines.mock-redesign {min-height: calc(100vh - var(--topbar-height));padding: 18px;color: var(--text);background:linear-gradient(180deg, oklch(0.18 0.018 240 / 0.88), oklch(0.11 0.012 250) 280px),oklch(0.11 0.012 250);}.mock-redesign-header {display: grid;grid-template-columns: minmax(340px, 1fr) auto;gap: 14px 18px;align-items: end;margin-bottom: 12px;}
Expected Impact for End-Users
Users evaluating the frontend can now compare four different ways of thinking about Islandflow: case investigation, live alert operations, replay analysis, and market-wide pressure mapping. This should make design critique more specific than asking whether the current dashboard feels good.
Validation
- Ran
bun --cwd=apps/web run build, which completed successfully. - Ran
bun test apps/web/app/routes.test.ts apps/web/app/terminal.test.ts, 78 tests passed. - Opened
/mock1through/mock4in the in-app browser and captured desktop screenshots. - Checked all four mock routes at a 390px viewport and confirmed no page-level horizontal overflow after the top-bar wrapping fix.
- Ran
git diff --check -- apps/web/app/dashboard-mocks.tsx apps/web/app/globals.css.
Issues, Limitations, and Mitigations
- The mock data is still static. That is intentional for concept comparison, but the chosen direction will need real data integration later.
- The chart visuals are CSS-generated placeholders rather than
lightweight-chartsinstances. They communicate layout and emphasis, not production chart behavior. - Internal flow tables keep horizontal scrolling on narrow screens because preserving table structure is more useful than crushing columns.
Follow-up Work
- Create Beads issues for the selected direction after review.
- Prototype live data wiring for the preferred concept, especially evidence-linking and replay synchronization.
- Run a focused accessibility pass once a direction graduates from mock to product surface.