Inspiration

Most strategy tools compare options as though the environment will remain static. Real decisions do not work that way: employees, competitors, partners, providers, communities, and institutions respond.

SecondMove was built to help strategy leads rehearse that second move before committing to the first.

What it does

SecondMove turns a consequential decision into a short, responder-aware strategic rehearsal:

  1. Brief — define the decision, decision-maker, principal responder, constraints, and strategic options.
  2. Commit — choose a move, state the response you expect, record subjective confidence, and commit the key assumption.
  3. Reveal — compare the visible static answer with the responder-aware strategic result.
  4. Find the Hinge — identify what must become true within the tested assumption grid for the result to hold, weaken, or change.
  5. Act — generate a trigger-based response playbook with an immediate action, evidence to secure, early signal, pivot trigger, contingency, and model-invalidation conditions.

The flagship Automation Rollout scenario demonstrates how a seemingly attractive enterprise mandate can become strategically ambiguous once frontline responses are modeled, and how the recommendation changes when workflow trust or an external shock changes.

Why it is different

SecondMove is not a chatbot and does not ask an AI model to choose the answer.

Curated scenarios are validated with Zod and solved by a deterministic TypeScript engine. The system preserves ambiguous and insufficient states rather than forcing certainty. Subjective user confidence is documented but never changes the solver.

GPT-5.6 is constrained to an optional server-side scenario-structuring boundary: it can help convert user-confirmed natural-language inputs into a candidate structured model, but deterministic validation and solving remain authoritative. GPT-5.6 cannot select recommendations, alter canonical fixtures, override model status, or enter provider credentials into the browser.

How Codex and GPT-5.6 were used

Codex with GPT-5.6 served as the primary engineering collaborator across the build: product and model contracts, strict schemas, deterministic solver implementation, canonical fixtures and independent golden vectors, five-stage React interface, accessibility remediation, threat modeling, browser-test design, release hardening, and judge-facing documentation.

The repository preserves staged Codex mission prompts, build logs, traceability documentation, testing contracts, and Build Week attribution so judges can inspect where Codex accelerated implementation and where the founder retained product and modeling judgment.

Technical architecture

  • React, TypeScript, and Vite frontend
  • Zod runtime validation
  • Deterministic two-stage strategic solver
  • Separate canonical fixture sources and expected golden vectors
  • Vitest unit, property, regression, and documentation tests
  • Playwright browser, responsive, keyboard, accessibility, and offline-flow checks
  • Netlify deployment and server functions
  • Gated OpenAI/GPT-5.6 server boundary

Accomplishments

  • Nine independently modeled strategic scenarios
  • Deterministic static-versus-strategic comparison
  • Near-best response sets and ambiguity preservation
  • Reproducible Hinge and shock-testing mechanics
  • Trigger-based operational playbook export
  • Extensive claim discipline, provenance controls, security boundaries, and accessibility testing
  • Clear separation between pre-existing conceptual interests and implementation completed during Build Week

Challenges

The central challenge was resisting the temptation to let an AI model act as an ungrounded strategic oracle. SecondMove instead uses AI only at a bounded structuring edge while retaining deterministic, inspectable validation and solving.

Additional challenges included defining truthful ambiguity semantics, preserving model provenance across explored assumptions and shocks, preventing provider exposure, and creating a judge-readable experience without hiding the model's limitations.

What we learned

Useful decision intelligence requires more than a recommendation. Users need to understand:

  • who can respond,
  • which assumption carries the result,
  • what evidence would reduce uncertainty,
  • which signal should trigger a contingency,
  • and what could invalidate the model.

What's next

Future work would add representative-user validation, durable rate limiting for carefully controlled public custom-scenario access, additional scenario archetypes, collaborative facilitation workflows, and longitudinal decision-record comparison.

SecondMove does not predict human behavior. It provides a disciplined rehearsal of what follows under declared assumptions.

Built With

Share this project:

Updates

posted an update —

Independent product experience review (from Comet Agent): strong core rehearsal, two contained repairs

I completed an external-style product experience review of SecondMove’s flagship flow. The core result is encouraging: the strategic rehearsal arc is clearly working, with a strong commit → reveal moment, causally legible Find the Hinge, and an operational trigger-based playbook rather than generic advice.

The review scored the product 8.9 / 10 overall, with especially high marks for ten-second comprehension, commitment quality, reveal and Gap clarity, hinge causality and tested-grid qualification, distinctive non-chatbot identity, provenance/ambiguity/claims discipline, and demonstration energy. The disposition was to continue, with two focused repairs before treating the feedback path and exported artifact as polished.

Repair 1: exported brief should preserve the actual SecondMove Gap In-app, the Reveal explains whether the participant’s committed expectation is aligned, divergent, or model-indeterminate relative to the model-supported response set. In the current downloaded Markdown brief, the “SecondMove Gap” heading does not yet explicitly state that categorical Gap for non-insufficient runs, which makes the exported artifact less self-contained for later debrief. The planned fix is to pass the baseline solve result (or persisted Gap state) into the export formatter so the brief states the Gap and, ideally, both the committed and model-supported response sets.

Repair 2: feedback dialog keyboard lifecycle The feedback dialog uses semantic modal markup, but still needs complete keyboard-dialog behavior: initial focus on open, Tab/Shift+Tab containment inside the dialog, Escape to close, and restoration of focus to the opener. This is an avoidable accessibility gap on a public feedback path, even though it does not block the flagship rehearsal itself. Planned fixes include focus management and keyboard regression coverage (opener → initial focus → Tab wrap → Escape → focus restoration), plus running axe against the open dialog.

The review also confirmed several strengths that are already working well: the non-chatbot-like flagship narrative; the Reveal’s respectful treatment of the participant; clear separation of confidence from the model result; explicit “tested grid” qualification for the hinge; and a final playbook that names posture, recap, hinge, signal, trigger, contingency, evidence, unresolved questions, and invalidation conditions. Test design already covers the primary arc, offline behavior, keyboard activation, reduced motion, mobile overflow, and hinge-rail fit.

Evidence-wise, the repository correctly flags that representative-user comprehension evidence, any live provider smoke if claimed, and a platform feedback/session identifier remain external requirements. The next highest-value non-code action is to execute the existing comprehension protocol with an independent participant rather than adding more interface features.

A verification note: pnpm test:e2e could not be executed in the review environment because the Playwright Chromium executable was absent there (chromium_headless_shell not found). This was an environment limitation, not an observed test failure in the application itself.

Log in or sign up for Devpost to join the conversation.