Inspiration

The best AI moments happen when a big, messy, intimidating problem suddenly becomes one clear answer. That's the "crux" - the decisive point everything cuts down to. Most AI apps stop at a wall of chat text and make you do the last mile. We wanted the opposite: bring your hardest problem, get the answer - as a real, structured, trustworthy interface, not another paragraph to parse.

What it does

Crux is a studio of AI tools, each of which cuts a hard problem down to the answer.

Eight expert tools across life, work, dev, and education:

  • Plain Speak - decode a document written to confuse you (lab result, insurance EOB, lease, legal notice) and tells you what to actually do.
  • Decision Lens - reasons through a hard choice and commits to a real recommendation.
  • Meeting Intelligence - turns a messy transcript into decisions, owners, due dates, and risks.
  • Data Detective - paste messy CSV, get the analysis and the anomaly an analyst would find.
  • Root Cause - from a bug + stack trace to the true defect, a fix diff, and a unit test that proves it.
  • Ship Review - a rigorous diff review that catches the bug, the security hole, and the missing test.
  • Socratic - an adaptive tutor that teaches, quizzes, and grades your free‑text answers.
  • Flashcards - distills any topic into a spaced‑repetition deck.

Plus Instant Tools - the breadth engine: describe any small task and Crux assembles a bespoke, working micro‑app for it on the fly.

Every tool returns a typed, structured result rendered as a purpose‑built interface, and reveals the model's short reasoning trace so you can watch it think.

How we built it

  • Built with Codex. Codex was our pair‑engineer for the entire build - scaffolding the Next.js app, designing the typed AppSpec/renderer contract, writing every tool's schema and prompt, the custom Crux brand mark, and the offline demo fixtures.
  • Powered by GPT‑5.6. At runtime every tool calls GPT‑5.6 via the OpenAI Responses API with a strict JSON schema. Two engines share one idea - force the model into a typed contract:
    1. Depth (AI Studio): each of the 8 tools sends input to GPT‑5.6 and gets back a strongly‑typed result object (plus a reasoning trace) that we render into a bespoke UI.
    2. Breadth (Instant Tools): the user's intent + an AppSpec schema + two exemplars go to GPT‑5.6, which returns a declarative AppSpec JSON; a generic renderer turns it into a live micro‑app. A local planner provides graceful fallback with no API key.
  • Stack: Next.js 15 (App Router), React 19, TypeScript, Tailwind v4, OpenAI Node SDK.

Challenges we ran into

  • Making models return interfaces, not prose. The hard part was designing one typed AppSpec contract flexible enough for a debugger and a lesson and an arbitrary generated tool, and getting GPT‑5.6 to honor it every time.
  • Graceful degradation. The whole studio runs in a polished demo mode from authored fixtures when no OPENAI_API_KEY is set, so judging never hits a dead end.
  • Trust. Surfacing the model's reasoning trace so answers feel accountable, not magic.

What we learned

Structured outputs change the product, not just the payload. When GPT‑5.6 is forced to emit a schema, you can build interfaces that commit to an answer - and that's what makes AI feel like a tool instead of a chat box.

What's next

More tools, user‑savable generated apps from the breadth engine, and shareable "crux" result cards.

Built With

Share this project:

Updates