Case Study · Jun 2026

SkillForge

An AI-powered learning roadmap generator that turns vague goals into structured paths. Built to scratch my own itch — and broke some assumptions along the way.

Timeline
8 weeks
Stack
Next.js · Claude API
Role
Solo
Status
Shipped
[ project screenshot ]

The Problem

Every time I wanted to learn something new, I'd spend the first two days not learning — just trying to figure out what to learn, in what order, from what sources. The resources exist. The structure doesn't.

I wanted a tool that takes an honest goal ("I want to build a backend in Rust") and returns a sequenced, opinionated plan — not a list of resources, a path.

What I built

SkillForge takes a goal statement from the user, infers the implied skill level and constraints, then generates a phased learning roadmap using Claude as the reasoning engine. The output is structured: phases, milestones, recommended resources, and a clear "done" signal at the end of each step.

The hard insight wasn't technical. It was that people don't want roadmaps — they want permission to start somewhere specific.

Key Decisions

I debated whether to use a rigid prompt template or let the model reason more freely. Rigid templates produced more consistent output but felt robotic. Free reasoning produced better plans but occasionally hallucinated resource quality. The final approach uses a structured schema for the output shape, but leaves the reasoning fully unconstrained.

The other decision was to hide the AI entirely. No "generated by Claude" badge, no streaming animation. Just a result. I tested both versions — users trusted the clean version more, even though the underlying content was identical. That's worth sitting with.

What broke

My first version generated roadmaps that were technically correct but practically overwhelming. Twenty-step plans for beginners. I fixed this by adding a constraint: any roadmap for a "beginner" goal had to ship something by step 3, and the whole roadmap had to fit in a single browser viewport without scrolling. That forced better thinking.


What I learned

Building this taught me more about LLM prompt architecture than any tutorial I've read. Specifically: system prompts do not substitute for structured output schemas. They inform tone, not format. I lost a week to this misunderstanding.

I also learned that "done" is a product decision, not a technical one. SkillForge works well enough that I shipped it. It has real users. There are twenty things I'd change. That's the correct state for a v1.

Takeaways

  • Structured output schema ≠ structured system prompt. Learn the difference early.
  • Hiding AI provenance increased user trust. That has ethical implications I haven't fully resolved.
  • The "don't overwhelm beginners" constraint was the most valuable design decision in the project.
  • Shipping v1 with rough edges was correct. The feedback I got in week one restructured the roadmap for v2.