ℹ️ About this workshop Oct 1, 2026

A hands-on introduction to Spec-Driven Development (SDD): moving from ad-hoc "vibe-coding" to a repeatable workflow where you settle the problem, the plan, and what counts as done before any code exists — then let an AI coding agent build it, gated by a real check and read by a human.

In about three hours you pick one of two fun cases — a Kahoot-style Trivia app or an Interactive Music Sequencer — and walk the same seven-step arc end to end. Everything runs on free, open-source tooling, so no paid AI subscription is required. To keep practising afterwards, the take-home guide introduces OpenSpec for a repeatable lifecycle on your own projects.

Based on a GroningenPHP talk: "Spec-Driven Development: from vibe-coding to integrating AI coding assistants into the software development lifecycle." This page gives proper credit to every tool and technology the workshop stands on.

🧭 The method & specification frameworks

The workshop teaches the ideas by hand first; these projects shaped the vocabulary and, in OpenSpec's case, power the take-home lifecycle.

  • OpenSpec

    By Fission AI. The lightweight spec framework used in the take-home guide (propose → apply → archive). The change that built this workshop lives in this repo's openspec/ folder.

    Spec framework MIT
  • GitHub Spec Kit

    One of the convergent frameworks that independently landed on the same four artifacts (constitution, spec, plan, tasks).

    Spec frameworkMIT
  • AWS Kiro

    Amazon's spec-driven agentic IDE — cited as further evidence the pattern is converging across the industry.

    Spec-driven IDE
  • BMAD-METHOD

    Agentic agile-driven development method referenced in the "everyone reinvented the same files" story.

    MethodMIT
  • Superpowers

    A skills/workflow framework for agents, cited alongside the others as convergent prior art.

    Agent skills

🛠️ The tooling you run

The free agent, its plugin, and the model providers that give it a brain — all usable without a paid AI subscription. See the setup guide for install steps.

  • OpenCode

    The free, open-source, model-agnostic terminal coding agent this workshop is built around.

    AI coding agentMIT
  • opencode-file-tree

    A community OpenCode plugin that adds a navigable file-tree sidebar with inline preview, so you can see specs and code as you work.

    OpenCode pluginMIT
  • Google Gemini

    The recommended default model via Google AI Studio's free tier (Gemini 3.1 Flash Lite — medium): good results, low token use.

    Model provider · free tier
  • GitHub Copilot

    Fallback model provider — free for verified students and open-source maintainers, and already set up for many attendees.

    Model provider
  • Ollama + Qwen2.5 Coder

    The fully offline fallback: run a capable open-weight coding model locally, no signup and no data leaving your laptop.

    Local modelApache-2.0
  • Node.js

    The runtime behind the npm installs for OpenCode, its plugins, and the OpenSpec CLI.

    RuntimeMIT

🧱 What you build the cases with

The apps themselves lean on plain, widely available web technologies — no framework lock-in, so the focus stays on the spec-driven workflow.

  • PHP

    The natural home stack for GroningenPHP and the backend for the Trivia case (entry point plus a questions store).

    BackendPHP License
  • Web Audio API

    The browser sound engine powering the Music Sequencer — oscillators, gain nodes and scheduling, no plugins.

    Browser audioW3C standard
  • HTML, CSS & JavaScript

    Vanilla front-end for both cases — the UI, buttons, sliders and quiz screens participants ship.

    Front-endOpen web standards
  • WebSockets / SSE

    Stretch-goal technology for the live presenter view — the "not done yet" item surfaced during the Review step.

    Real-time · stretch goal

🎨 Site & assets

Credit for the pieces that dress up these workshop pages.

  • Font Awesome (Free)

    The icon set used throughout the site and these workshop pages.

    IconsCC BY 4.0 / MIT / SIL OFL
  • The original talk

    "Spec-Driven Development: from vibe-coding to integrating AI coding assistants into the software development lifecycle" — the GroningenPHP presentation this workshop is derived from.

    Source material

Trademarks and product names belong to their respective owners. License labels are provided as a convenience and reflect the projects' own published terms at the time of writing — always check upstream for the authoritative license.