AN IDEA YOU CAN MAKE CONCRETE

“Our tennis club needs a simpler way to book.”

A useful first version starts with a real need and a few clear choices. This fictional TennisApp example shows how a conversation could become a small, reviewable piece of work.

From an idea through a plan to a product.
EviA real path from idea to app.
Illustrative workflow

Start with the person using it.

A club organizer wants members to see available times and request one court. In the intended assistant experience, Sofa helps turn that spoken idea into an editable brief. “Build a tennis app” becomes a narrower outcome: show a day’s timetable and let a member request an available slot in a local prototype.

The project and records here are entirely fictional. This example demonstrates a process, rather than a delivered customer application or a live service connected to a club.

Ask the questions that change the design.

Who confirms a booking: a member or an organizer? How long is a slot? Can a request overlap another reservation? Which time zone and opening hours apply? Who can cancel? Record an accepted booking and a rejected overlap. Leave payments, public accounts and real member data for separately agreed work.

Make the plan small enough to inspect.

  1. Write the brief. One court, one day view, synthetic reservations and a request form. Capture assumptions and the expected empty, available and occupied states.
  2. Queue bounded tasks. First display the timetable. Next add slot selection and overlap validation. Keep each task’s files, permissions, checks and stopping point explicit.
  3. Use a supported setup. In a configured local build, use the supported runner. Managed Codex is supported; other tools require an import path or adapter. Saving a task and starting it remain separate actions.

Let agreed work proceed.

Review meaningful increments, or allow an agreed bounded queue to continue without watching routine steps. A missing rule becomes a concrete question. A provider limit remains a limit. Changed scope returns to the plan; it does not silently authorize extra work.

Check the experience.

Try a free slot, an occupied slot, an overlap, an empty form and the edge of opening hours. Use the keyboard and a narrow screen. Confirm the prototype uses only synthetic records. Review the checks and record unresolved limitations.

Close the step with your decision.

Compare the result with the brief. Accept the increment, request a focused correction or leave it unaccepted. Authentication, payments and deployment become later decisions with their own scope. The full voice-to-architect journey remains a development direction; this example does not claim that Vabes autonomously ships the whole application.