Skip to main contentSkip to footer

Vibe Coding the SkillForge
The 2026 itenium AI Bootcamp

The skill matrix at itenium is currently an Excel file.

For an IT consultancy, this is obviously unacceptable. The cobbler’s children have no shoes, the mechanic drives a rust bucket, and the IT consultancy tracks skills in a spreadsheet.

Enter SkillForge: our custom app where we “forge our skills.”

SkillForge fav iconEmpower your team with continuous learning. Track progress, manage courses, and build skills together.
– CEO Steven Robijns, moments before authorizing $1200 in AI token spend

Category:

trends

Tags:

funproduct

Share this article on:

The Teams

Six teams. Six ridiculous names. Six different interpretations of the backlog.

The participating teams

Team Nickname Vibe
Obsidian The Hallucination Hunters Chasing phantom features
Royal Purple The Tab Tab Tab Engineers Automation over hesitation
Teal The Prompt & Pray Engineers Minimal tokens, maximum hope
Crimson The Yolo Deployers 27,000 lines of code. 18 features.
Emerald The Token Burners Burned bright. Won everything.
Midnight Blue The Main Branch Pushers No Staging. No fear.

Everyone

Everyone participated in this vibe coding exercise. And by everyone, we do mean everyone. The backoffice staff. The people who normally recoil at the sight of a terminal. The ones who think “git” is something you say when frustrated.

Backoffice Coding

What could possibly go wrong.

They all got Claude Code accounts. They all started prompting. Some of them even merged code.

The developers watched in a mixture of horror and fascination as non-technical colleagues casually asked Claude to “add a button that does the thing” and… it worked?

Sort of.

The Application

SkillForge Logo We set up a React 19 + .NET 10 + Postgres application. The stack was modern, the ambitions were high, and the Excel file was about to become obsolete.

SkillForge was designed to be the ultimate L&D platform for consultants, the PRD had 43 functional requirements:

  • User management with role-based access
  • Skill catalogue with proficiency levels and prerequisites
  • Personalized learning roadmaps
  • Goal tracking with coach validation

The Guardrails

The whole thing was vibe coded with Claude Code, but we’re not complete animals. As responsible adults, guardrails were set up to prevent the AI from shipping absolute chaos to production.

eslint/eslint: Find and fix problems in your JavaScript code.

typicode/husky: Git hooks made easy. Pre-commit validation.

microsoft/playwright: E2E testing. Because someone has to check if this works.

prettier/prettier: Prettier is an opinionated code formatter.

webpro-nl/knip: ✂️ Knip it before you ship it!

vitest-dev/vitest: Next generation testing framework powered by Vite.

nunit/nunit: NUnit Framework

nsubstitute/NSubstitute: A friendly substitute for .NET mocking libraries.

testcontainers/testcontainers-dotnet: A library to support tests with throwaway instances of Docker containers

dotnet/roslynator: Roslynator is a set of code analysis tools for C#, powered by Roslyn.

SkillForge logo The idea was simple: Claude Code does the heavy lifting with a very small CLAUDE.md instructing it to implement everything in red/green TDD. Every PR must pass linting, tests, and code review. In theory, this prevents disaster.

In practice… well, …

The Dashboard

Because what’s a competition without a scoreboard… Teams could watch their token count tick up in real-time. Nothing motivates quite like seeing your AI bill climb while your feature count stays flat.

  • Tokens burned: the true measure of effort
  • Tests passing: the true measure of… something working?
  • PRs merged: the true measure of not breaking main
  • Lines added: the true measure of nothing, as Team Crimson proved

We vibe coded the dashboard, with the Competence Coaches improving the dashboard during the bootcamp, which resulted in some weird discrepancies like the biggest commit (lines added) being bigger than the total amount of lines added of the entire team, and also the dashboard being down for several hours. Maybe we should have had an AI harness for the dashboard as well? Naah…

The Dashboard
The cleaned up dashboard (with vibed issues fixed;)

Tokens Burned

Total burned: ~$1200

That’s roughly $35 per person. Or, as we prefer to think of it: the cost of one really awkward team dinner, but instead we got a functioning application and excellent blog post material.

Biggest Spender

As can be seen on the dashboard, Onur was leading in the “most tokens burned” category, he was one of the participants whom took the “Tips & Tricks” from the intro powerpoint to heart and was using git worktrees.

The rest of his team had other ideas on what to do while waiting for Claude Code to finish hallucinating non-existent APIs however, they created a few mini games!

Deploy Panic

A frantic game where you try to ship features while everything is on fire. Surprisingly accurate simulation.

Mini game deploy panic
Friday 16:58 — Client is waiting — Boss is watching — Jenkins is judging you

You can play Deploy Panic @ itenium right now!

Itenium Runner

An endless runner where you dodge obstacles. The obstacles are bugs. The runner is your sanity. Play Itenium Runner now!

Mini game itenium runner
It is rumoured that this game was created with just 2 prompts

More Waiting

Others had even other ideas on what to have Claude do, including adding memes to their SkillForge application. I didn’t even know Claude could create memes ;)

Memes were created

The Winners

Team Emerald, The Token Burners were selected by Claude as the winning team based on evaluate-teams.md which was, obviously, also written by Claude. The snake eats its own tail.

The winning team logo

Emerald is the clear winner with near-complete PRD implementation. They nailed the coaching workflow: goal assignment with deadlines, readiness flags that track aging (days since raised), live session mode with focused validation view, and immutable audit trails. The CSV-based skill seeding is elegant and production-ready. Coach dashboard includes 21-day inactivity detection with visual highlighting. Activity history tracks validations, goal creation, flag raises, and resource completions as a timeline.

They went home with the Certificate of Legendary Achievement

Certificate for the winning team

The Runner Up

The final dashboard was very Crimson colored with most commits, largest commit and most churn, somehow they still managed to score the least amount of points on the team evaluations. We’re not sure how it happened, but it’s just not possible that Claude made a mistake somewhere so, yeah, …

Final Team Scoring

Place Team Score Verdict
🥇 Emerald 169/200 Winner – Only feature-complete implementation
🥈 Obsidian 118/200 Strong foundation, needs goals/coaching
🥉 Teal 114/200 Best code quality, needs more features
4th RoyalPurple 112/200 Great skill data, stubbed coaching
5th MidnightBlue 107/200 Clean skills/resources, no goals
6th Crimson 99/200 LMS foundation, not a coaching platform

The Takeaway

Can you vibe code a production application in one day?

AI Took our Jobs

It Depends :)

With the right guardrails (linting, tests, PR reviews), AI assistance (Claude Code), and motivated teams (competition + leaderboards), you can go from “Excel skill matrix” to “functional React/.NET application” in about 8 hours.

But was it worth the tokens?

We got an app, a blog post, the memory of watching non-technical staff successfully merge code, new memes and 2 mini games.

So yes, definitely ;)

The Layoffs
We’re still safe — for now ;)

Behind the Prompts

The parts Claude couldn’t generate:

Extras

Other interesting reads