Inspiration

I came up with this product idea because I wanted to solve several problems I constantly encounter while learning:

  • I always get caught up in details and I fear that I might miss something important if I don't get to the bottom of it.

  • When there is too much information provided, I feel overwhelmed and have no idea where to start.

  • I rarely apply what I have learnt and I never feel ready to do so.

When LLMs became widely available, I started asking ChatGPT about topics I was curious about and found its explanations extremely helpful. However, I noticed that my conversations could become incredibly long as I continued asking follow-up questions. Eventually, I would lose sight of my original learning goal and sometimes forget why I had started the conversation.

That inspired me to build Bird: an AI-powered, bounded, and structured learning experience.

A learner gives Bird:

  • A topic they want to understand
  • The outcome they are working toward
  • Optional context or source material

Bird identifies the essential concepts and presents them in a structured learning sequence. Each concept is explained through four aspects:

  1. What it means
  2. Why it matters
  3. How it works
  4. A concrete example

Learners can record any open or unresolved questions without having to keep those concerns in their heads. They can then apply what they have learnt by answering questions generated specifically for each concept.

How I built it

I built the project with Codex, powered by GPT-5.6 Sol. Codex acted as my development collaborator, while GPT-5.6 Terra powers the learning experience inside Bird. The application is written primarily in TypeScript across both the frontend and backend.

I started by explaining my product philosophy to Codex, which then created an initial version of the interface and user flow. Because I didn't have a clear picture of how I wanted the product to look, we went through several design iterations before settling on the final approach. I had a general idea of the experience I wanted to create, and Codex helped translate that idea into a working implementation.

The application first asks GPT-5.6 Terra to create a stable overview of the topic: the key components, their learning sequence, their roles, and the relationships between them. It generates the detailed learning content separately, one component at a time.

The frontend renders the topic as a graph and tracks the learner's current, completed, and upcoming components. Selecting a component opens its detailed content beside the selected node so the learner can retain the surrounding visual context.

The backend uses typed API routes, domain validation, and structured model instructions. The domain layer handles learning progress, sequential completion, saved answers, open questions, and component relationships, while the application layer translates those relationships into a graph layout.

Challenges I faced

Turning a vague idea into a real, usable product

The project began as a broad concept rather than a fully defined product. Converting that idea into something usable required resolving many unknowns and making numerous decisions about the product’s features, structure, user experience, priorities, and technical implementation. A major challenge was not just building the product, but progressively defining what the product should be. Throughout this process, Codex acted as both a development collaborator and a thought partner—helping me articulate my ambiguous ideas, recommending practical approaches, and transforming uncertainty into concrete decisions.

Finding the right UI direction without a clear vision

At the beginning, I did not have a clear picture of how I wanted the interface to look or feel. This made it difficult to provide precise prompts or design instructions. Instead of following a fixed specification, the process became highly iterative: we explored different layouts, visual styles, and interaction patterns, evaluated what worked, and refined the design based on each result. Codex often had to interpret incomplete instructions, propose sensible design directions, and help me discover what I wanted through experimentation.

What I learnt

From a technical perspective, one of my most valuable lessons was the importance of optimisation and choosing tools that are appropriate for the task. Initially, generating the topic map took a considerable amount of time. By switching to GPT-5.6 Terra and using low reasoning effort, we significantly reduced the loading time while still producing useful results. This showed me that a more powerful approach is not always the most effective one—the best solution often depends on finding the right balance between quality, speed, and complexity.

More broadly, I learnt that the right solution is not always obvious at the beginning. It often becomes clearer through experimentation: trying different implementations, observing what works and what does not, and refining the approach based on those results. I also found that talking through my thoughts with Codex helped me clarify ideas that initially felt vague or disconnected. The conversational process allowed me to organise my thinking, identify gaps, and turn abstract ideas into more concrete product decisions.

There are still many aspects of the project that could be improved. However, it captures the core idea and experience I originally imagined. This process taught me that building a product does not require having every detail resolved from the start. A meaningful outcome can emerge through iteration, reflection, and a willingness to adjust the direction as the project develops.

Built With

Share this project:

Updates