Your capstone
Every student ships their own deployed agentic AI application by Demo Day. Pick one of the five templates below or propose your own — then lock a one-page spec for it.
All summer, Kamal builds Socratic Angle — a personal study tutor — live in class as the shared reference. Your capstone has the same engineering shape but lives in a different domain. Each week you apply the lesson from the Socratic Angle build to your own product. The templates below are starting points, not rails: they exist so you can choose a domain quickly, not invent one from scratch.
The five templates
Each template stresses a different multi-modal output lane, so the one you pick shapes which generation tooling you\'ll get deepest in. Every template below maps cleanly onto bars 1–5 — the detail under each is a worked starting point, not a fixed spec. Make it yours.
Cooking Plan Agent Document-heavy
Ideation → grocery → recipes → macro/calorie tracking. Turns a weekly goal ("hit 150g protein/day on a $90 budget") into a planned week of meals, a deduped shopping list, and a nutrition dashboard.
Who it\'s for. Someone who wants to eat to a macro or budget target but loses hours every week deciding what to cook and what to buy.
Sources
- Recipe site fetch — off-the-shelf HTTP-fetch MCP pulling recipes + ingredient lists.
- Nutrition data — off-the-shelf MCP over a food/nutrition API (e.g. USDA FoodData Central) for per-ingredient macros.
- Pantry & constraints log — custom MCP authored in Claude Code: what's already in the pantry, dietary constraints, dislikes, weekly budget.
Relevance filter — your first Skill
A recipe is relevant if it fits the user's dietary constraints and dislikes, lands inside the weekly budget, moves the day toward its macro target, and matches the user's cooking time and skill ceiling.
Named Skills
- Recipe Scorer — given a recipe + the user's constraints/macros/budget, score 0–10 for fit and explain the dock.
- Grocery Consolidator — given the week's chosen recipes, merge into one deduped shopping list with combined quantities and aisle grouping.
- Macro Balancer — given a draft week, adjust portions and swaps to land daily calories/protein inside target bands; return structured JSON.
Multi-modal outputs
PDF weekly meal plan + shopping list (WeasyPrint); printable recipe cards or generated dish images; optional Sunday-night email digest (Resend).
Background planning
Every Sunday 6 PM, generate next week's plan (Macro Balancer). Re-plan when the pantry log changes, a meal is marked skipped/swapped, or the budget is edited mid-week.
Wardrobe Stylist Image-heavy
Closet inventory + calendar + weather → daily outfits and event lookbooks. Stops the morning "what do I wear" stall and prepares put-together looks for whatever the day holds.
Who it\'s for. Someone with a full closet who still wastes time deciding what to wear and wants to look right for the weather and the day's events.
Sources
- Weather — off-the-shelf MCP over a weather API for today + the week ahead.
- Calendar — off-the-shelf Google Calendar MCP for events and their implied dress codes.
- Closet inventory — custom MCP authored in Claude Code: tagged garments with photos, colors, formality, season, and last-worn date.
Relevance filter — your first Skill
An outfit is relevant if it suits the day's weather, meets the formality of the day's events, holds together on color/pattern, and avoids items worn in the last few days or currently in the laundry.
Named Skills
- Outfit Composer — given the day's weather + events + available closet, return ranked complete outfits with rationale.
- Color & Formality Matcher — given a candidate combination, score harmony and formality fit 0–10.
- Gap Spotter — given upcoming events and the closet, flag what's missing (e.g. "no business-formal shoes for the Thursday interview").
Multi-modal outputs
Generated lookbook images / outfit flat-lays; a daily outfit card image; optional morning email with the day's pick.
Background planning
Every morning 6 AM, generate today's outfit from weather + calendar. Re-plan when a calendar event is added, the forecast shifts, or an item is marked unavailable (laundry).
Home Maintenance Agent Document + photo log
Track house systems (HVAC, filters, gutters, lawn, appliances) → reminders, shopping lists with the right part numbers, and a photo-documented repair log.
Who it\'s for. A new homeowner overwhelmed by the recurring maintenance spread across every system in the house, who keeps forgetting filter sizes and service dates.
Sources
- Weather / seasonal — off-the-shelf MCP driving seasonal tasks (freeze warnings → winterize; spring → gutters).
- Manufacturer manuals — off-the-shelf HTTP-fetch MCP pulling spec sheets and recommended service intervals from PDFs.
- House systems registry — custom MCP authored in Claude Code: each system with model, install date, filter sizes, service interval, and last-serviced date.
Relevance filter — your first Skill
A task is relevant if it's due or overdue given the system's interval and last-serviced date, or triggered by the season or an incoming weather event — surfaced ahead of when it actually bites.
Named Skills
- Task Scheduler — given the systems registry + season, compute which tasks are due/overdue and rank by urgency; return structured JSON.
- Repair Diagnoser — given a photo + a symptom description, return likely causes, severity, and the parts/tools needed.
- Shopping List Builder — given due tasks, produce a parts/consumables list with exact specs (filter sizes, bulb types, fluid grades).
Multi-modal outputs
Photo-documented repair log as a PDF or web gallery; reminder emails; annotated before/after photo cards.
Background planning
Weekly scan for due tasks. Re-plan when a task is marked done (reset its interval), a freeze/heat warning lands, or a new system is registered.
Workout Companion Audio + video (coaching)
Weekly training plan + energy-matched YouTube playlists + a form-check video Skill + recovery cards. Describe your lifts on Sunday; have a personalized week, audio briefings, and playlists waiting Monday.
Who it\'s for. Amateur strength athletes who can't afford a coach but want adaptive weekly plans, energy-matched playlists, and AI form feedback on uploaded video.
Sources
- YouTube Data API — off-the-shelf MCP for technique videos and music tracks.
- Calendar — off-the-shelf MCP to fit sessions around the week's availability.
- Training log — custom MCP authored in Claude Code: logged sessions, loads, soreness/RPE notes, and program intent.
Relevance filter — your first Skill
Relevant items are videos of compound strength lifts (squat / deadlift / bench / overhead press / row) at intermediate-to-advanced loads, plus periodization articles. Not relevant: general motivation, supplements, or equipment reviews unless about technique.
Named Skills
- Vibe-Energy Matcher — given a session phase and a track's metadata, score 0–10 for fit.
- Form Check — given a clip + the lift, return 3 timestamped feedback points with severity (correction / cue / positive).
- Weekly Synthesizer — given last week's sessions + soreness/RPE + program intent, produce next week's plan as structured JSON.
Multi-modal outputs
Audio briefings (ElevenLabs TTS); video recaps / form-check overlays (Marp + ffmpeg); recovery cards.
Background planning
Every Sunday 8 PM, generate next week's plan (Weekly Synthesizer). Every morning 6 AM, generate today's audio briefing + playlist. Re-plan on soreness/RPE log changes or a skipped session.
Travel Architect Maps + recap video
Multi-day itinerary + restaurant picks + packing list + photo plan + post-trip recap video. Turns a destination and a few preferences into a coherent day-by-day plan without hours of research.
Who it\'s for. Someone planning a multi-day trip who wants a coherent, geography-aware itinerary and good food without spending evenings cross-referencing tabs.
Sources
- Maps / places — off-the-shelf MCP for restaurants, attractions, hours, and proximity.
- Weather + transit — off-the-shelf MCP for destination forecast and flight/transit timing.
- Trip preferences log — custom MCP authored in Claude Code: budget, pace, interests, dietary needs, and must-sees.
Relevance filter — your first Skill
An activity or restaurant is relevant if it fits the traveler's budget and pace, matches their interests and dietary needs, is open when they'd go, and sits near the rest of that day's plan.
Named Skills
- Itinerary Optimizer — cluster candidate activities by geography and opening hours into balanced day plans; return structured JSON.
- Restaurant Matcher — score a venue 0–10 against preferences, budget, and dietary constraints.
- Packing List Builder — given destination weather + planned activities, produce a packing list grouped by category.
Multi-modal outputs
Map-annotated itinerary images; a post-trip recap video (Marp + ffmpeg); a packing-list PDF; optional daily briefing email during the trip.
Background planning
Re-plan the itinerary when a booking changes, the forecast shifts, or an activity is added/removed. Generate a daily briefing each morning during the trip.
Propose your own
You can propose a domain that isn\'t on the list — that\'s encouraged if you have a real itch to scratch. The bar is simple: it has to hit all seven acceptance criteria above without contortion. Before you commit, gut-check it against these:
- Configurable goal. A user can state a goal/domain in one page and the agent works toward it.
- Real background work. There\'s genuine reason for the agent to run unattended and re-plan — not just answer on demand.
- Three honest sources. You can name ≥3 distinct source types, and at least one warrants a custom MCP server (i.e. there\'s no off-the-shelf one).
- Two output lanes. The product genuinely wants ≥2 outputs beyond plain text — and you can say which.
- Two real judgments. The agent makes ≥2 domain-specific judgment calls worth turning into named, eval-backed Skills.
If any of those feels like a stretch, the idea probably needs reshaping — or one of the five templates is a better fit. Bring a proposal to Kamal for a quick yes/reshape.
What happens next
- Choose a template, or get a propose-your-own idea approved by Kamal.
- Fill out the capstone spec template and review it with Kamal.
- Lock your spec, then fork the Socratic Angle reference repo into your own capstone repo and wire your first Skill (the relevance filter) against your domain — dev-interactive in Claude Code, then headless via the Agent SDK.