Day 1 Capstone Definition

What You'll Build Across Two Days

Meet StackLog

The capstone you'll build across two days


What StackLog Is

StackLog is a personal dev journal for developers.

It stores notes, insights, and research findings as structured entries — created by an AI agent (the MCP server you build Day 1) and browsed through a web app (you build Day 2).

One sentence to hold onto:

An AI captures your dev insights. A web app lets you find them again.


The Problem It Solves

WHY — developers lose insights created during coding sessions; there's no frictionless way to capture them.

WHAT — an AI-powered capture layer (MCP) plus a browsable web interface.

HOW — you tell an agent "save this"; it writes a structured entry. Later you search or filter to get it back.

Success = retrieve any past insight in under 10 seconds.


Who Uses It

Two personas the app is designed for:

Alex — solo developer Uses StackLog daily to log research and debugging insights. Frustrated by losing context between sessions. Success: finds any past insight in under 10 seconds.

Jordan — team lead Uses StackLog weekly to review what the team has been working on. Frustrated by lack of visibility. Success: a weekly summary surfaces patterns without manual review.


What It Does (MVP Features)

The core feature set you'll spec and build:

Every feature has a measurable success metric — that's a spec rule, not a nicety.


What It Is Not (Out of Scope)

Just as important as the feature list — this is your defence against scope creep:

When the agent tries to add login in Lab 6, the out-of-scope list is what stops it.


Why StackLog Is the Right Capstone

It's deliberately chosen to exercise everything:

You don't just learn the concepts. You build the thing that uses all of them.


The Two-Layer Architecture

StackLog has two data stories, built on different days — and that's the point.

Day 1 — the capture layer A custom MCP server (TypeScript) that an AI agent calls. It writes to a simple JSON store.

Day 2 — the app layer A React + Express + SQLite web app that displays and searches entries.

The agent never touches the database directly. It acts only through the tools the MCP server exposes. (Constrain the power.)


Day 1 Architecture — The Capture Layer

What you build today: the data layer the agent writes through.

        ┌─────────────────────────────┐
        │        AI AGENT             │
        │   (host: Antigravity)       │
        │  "save this insight for me" │
        └──────────────┬──────────────┘
                       │  calls a tool (MCP)
                       ▼
        ┌─────────────────────────────┐
        │   StackLog MCP SERVER       │   ◄── you build this (Lab 2)
        │   TypeScript · stdio        │
        │                             │
        │   • create_entry  (write)   │
        │   • search_entries (read)   │
        └──────────────┬──────────────┘
                       │  reads / writes
                       ▼
        ┌─────────────────────────────┐
        │   stacklog-entries.json     │   ◄── the persistent store
        │   (the agent's memory)      │
        └─────────────────────────────┘

Two tools, one JSON file. That's the entire Day-1 data layer — and an AI model will call code you wrote.


Full System — The Two-Day Bridge

By tomorrow evening, the whole picture (referenced now, built across both days):

   DAY 1  ·  CAPTURE                         DAY 2  ·  APPLICATION
   ────────────────                          ─────────────────────

   ┌───────────────┐                         ┌───────────────────┐
   │   AI AGENT    │                         │   React + Vite    │
   │ (Antigravity) │                         │   frontend UI     │
   └───────┬───────┘                         │  feed · search ·  │
           │ MCP tool call                   │  tags · summary   │
           ▼                                  └─────────┬─────────┘
   ┌───────────────┐                                    │ HTTP (REST)
   │ StackLog MCP  │                                     ▼
   │    server     │                          ┌───────────────────┐
   │ create_entry  │                           │  Express API      │
   │ search_entries│                           │  GET/POST /entries│
   └───────┬───────┘                           └─────────┬─────────┘
           │ writes                                       │ reads/writes
           ▼                                              ▼
   ┌───────────────┐      ······· the bridge ·······   ┌───────────────────┐
   │ stacklog-     │                                     │   SQLite          │
   │ entries.json  │                                     │   stacklog.db     │
   └───────────────┘                                     └───────────────────┘

           └─────────── same entries, written Day 1, displayed Day 2 ──────────┘

Note: Day 1 persists to JSON; Day 2's app uses SQLite. Two stores, one data story — the entry the agent wrote yesterday is the entry the app shows today.


The Moment It All Connects

The finale every team performs:

  1. Open the agent. Send a prompt.
  2. Watch the Day-1 MCP server create a new entry.
  3. Open the browser. Refresh the Day-2 app.
  4. The entry you just created appears on screen.

"One prompt. Two days of work. One live system."


Anchor This

StackLog = a dev journal where an AI writes the entries and a web app reads them back.

Day 1, you build the tools the AI uses (MCP server → JSON). Day 2, you spec and build the app that displays them (React → Express → SQLite).

The data written by one becomes the data shown by the other. That bridge is the whole workshop in miniature.