Skip to content

Book 2: Ship

Time Boxing, OpenAI Codex book cover

Before you start

Requires: Book 2 Offer

Estimated time: ~30 minutes with your LLM

You have a vault full of organised knowledge and a validated offer with paying early adopters. Now you need to build the thing. SpecKit is a specification-driven development workflow that turns product descriptions into working code through a repeatable four-stage cycle: Specify, Plan, Tasks, Implement.

Each stage produces a concrete artefact that feeds into the next, so nothing gets lost in translation between what you imagined and what gets built.

SpecKit is implemented as a set of skills installed in your LLM’s skills directory. Each skill auto-activates when you describe the relevant task.

  1. Specify. Describe what you want built in plain language. The speckit.specify skill generates a structured specification with an overview, user stories, requirements, and acceptance criteria.
  2. Plan. The speckit.plan skill reads your specification and produces a technical blueprint: which files need to change, the implementation order, and any risks.
  3. Tasks. The speckit.tasks skill breaks the plan into a flat, ordered list of discrete tasks.
  4. Implement. The speckit.implement skill works through the task list one task at a time, writing code, running tests, and moving on.

The four stages form a loop. After implementing a feature, you may discover that the spec needs updating, or that the plan should change for the next feature. This is expected. The spec is always the source of truth.

In the Offer page, you found 10 early adopters. They paid. They are waiting. The offer PDF you shared with them is your build constraint now.

You can only build what the offer promised. Not more. Not less. Without this constraint, you would spend three weeks adding features nobody asked for. With the constraint, you build what people paid for, and you ship it to them.


OpenAI Codex is the AI coding tool you will use throughout this book. It submits tasks to a sandboxed cloud environment and returns the result for you to review.

Install OpenAI Codex CLI

macOS

Open Terminal and run: npm install -g @openai/codex. Once the installation finishes, run codex to verify it launches. You will need Node.js 18 or later installed first. If you do not have Node.js, download it from nodejs.org.

Windows

Open PowerShell and run: npm install -g @openai/codex. Once the installation finishes, run codex to verify it launches. You will need Node.js 18 or later installed first. If you do not have Node.js, download it from nodejs.org.

Codex requires an active OpenAI account with either an active subscription or API credits. Go to platform.openai.com and make sure your account is ready. When you first run codex, it will walk you through authentication.

For detailed setup instructions, see the OpenAI Codex CLI guide.

The complete Time Boxing starter project is available on Gumroad: Get the Time Boxing repo

Step 2
Clone the Time Boxing repository from https://github.com/evalincius/odd-time-box-mob-app (branch: develop) into my project directory.

Step 3: Follow the README Setup Instructions

Section titled “Step 3: Follow the README Setup Instructions”

Open the README.md file in the repository and read through the setup instructions. If you get stuck on any step, ask your LLM for help.

Step 3
I have read the README for this project. Can you help me follow the setup instructions to get all dependencies installed and the development environment ready?
Step 4
Run the app in my Android emulator and walk me through what I should see on screen.

Before moving on, confirm these three things:

  1. The app launches without crash screens or error messages in your terminal.
  2. Navigation works by tapping each tab in the bottom bar (Today, Review, Settings).
  3. The core interaction responds: tap the floating action button and confirm the create form opens.

If any of these checks fail, copy the error message from your terminal and paste it into Codex.

Step 5: Build a New Feature — Quick Timebox Templates

Section titled “Step 5: Build a New Feature — Quick Timebox Templates”

Now you will use the SpecKit workflow to add a real feature. The app will track the user’s recent timebox history and display 3 to 5 quick-create buttons on the Today screen based on their most common category, duration, and type combinations. Tapping a button pre-fills the Create Timebox screen.

Describe the feature to your LLM. The speckit.specify skill will auto-activate and generate a structured specification:

Step 5
Create a specification for the following feature: Add a Quick Timebox Templates feature to the Time Boxing app. Track the user's recent timebox history and identify their most common category + duration + type (hard/soft) combinations. Display 3 to 5 quick-create buttons on the Today screen, above the timebox list. Each button shows the category name and duration (e.g. 'Work 25m' or 'Learning 45m'). Tapping a button opens the Create Timebox screen with the category, duration, and type pre-filled. The user only needs to add a title and start time. Base the templates on the last 30 completed timeboxes. If the user has fewer than 3 completed timeboxes, show a helpful message instead of buttons.

Once the specification is created and you are happy with it, ask your LLM to generate the implementation plan (the speckit.plan skill will auto-activate), then to break it into ordered tasks (speckit.tasks), and finally to implement them (speckit.implement). Review the output at each stage.

The app is built. Now put it in the hands of the people who paid for it.

Your 10 early adopters from the Offer page are waiting. Share a development build (APK for Android, TestFlight for iOS). Send it to each early adopter with a short message: “Here is the time boxing app you signed up for. I would love to hear what you think.”

Run lightweight UAT. Ask each person to do three things: create a timebox and complete it, check the review screen after a few sessions, and adjust a setting. If they can do all three without asking you a question, the core experience works.

Collect feedback simply. A shared note, a WhatsApp group, or a reply to your message. Close the loop: when you fix something based on their feedback, tell them.


You have taken a starter project, set up a development environment, and built a real feature using the SpecKit workflow with OpenAI Codex. The Time Boxing app is yours to keep building.

Head to the Scale page to learn how to grow beyond your first 10 early adopters with outreach, content, and the Core Four framework.