Inspiration
Long-running Codex tasks can turn into a wall of status updates. Planning, implementation, testing, review, and approval may all happen in the same conversation, but the meaningful changes are easy to lose.
We wanted to make progress feel tangible instead of adding another checklist. Tetris became the right metaphor: a feature request becomes a route of work, meaningful milestones become blocks, and completed work becomes a line the developer can explicitly confirm and clear.
What it does
Goal Tetris is a native Codex plugin that visualizes meaningful feature milestones as a classic 10×20 Tetris board. Each requested feature receives its own board and an ordered NEXT queue.
When a milestone changes, its tetromino falls into the board and locks in place. The panel separates current work from completed work. When all milestones are complete, it shows a full line that remains until the developer selects Confirm - Clear line.
How we built it
We built Goal Tetris as a local Codex plugin with an MCP bridge, a native embedded UI, and shared JSON state. The plugin exposes tools for opening a board, creating feature boards, updating milestone states, refreshing state, and confirming completed lines.
The placement system uses deterministic, collision-aware logic instead of random positions. It evaluates legal columns and prefers fewer holes, a lower stack, and a smoother surface. This makes the board feel like Tetris while keeping previously completed work stable.
Codex was used to implement and iterate on the MCP server, native UI, state model, tests, and documentation. GPT-5.6 was used to decompose feature requests into meaningful milestones, create concise summaries, and review edge cases in the routing and confirmation flow.
Challenges we ran into
The biggest challenge was preserving trust in the visual state. A progress view becomes misleading if pending work looks complete, old blocks move when unrelated work arrives, or a completed line disappears without a human decision.
We also needed to work within the documented plugin boundary. Public APIs do not provide passive access to every private Codex event, so we designed the plugin around explicit, meaningful milestone updates instead of claiming unsupported automation.
Accomplishments that we're proud of
We are proud that Goal Tetris is more than a visual mockup. It has multiple feature boards, current and previous-work views, a real NEXT queue, canonical tetrominoes, collision-aware placement, and confirmation-gated line clearing.
We are also proud that the project is honest about its integration boundary: the board displays only explicitly recorded state, making the visualization reliable rather than decorative.
What we learned
We learned that playful interfaces can communicate serious operational state when their rules are deterministic and easy to understand. We also learned that confirmation matters: users should control when a completed outcome is visually cleared.
Building for Codex taught us to design around supported interfaces, make state transitions explicit, and leave room for future platform capabilities without relying on private behavior.
What's next for Goal Tetris
Next, we want to add richer board analytics, configurable milestone types, and optional team-level views. We also want to support a future documented Codex session-event stream if it becomes available, so the board can receive supported updates with less manual orchestration.
We plan to refine accessibility, add localization controls, and make the development dashboard an even better testing environment while keeping the native Codex panel as the main product experience.
Built With
- codex-native-ui
- css
- deterministic-algorithms
- gpt-5.6
- html
- javascript
- json-state
- model-context-protocol-(mcp)
- node.js
- openai-codex
- react
- tetris
- vite
Log in or sign up for Devpost to join the conversation.