A complete operational system for launching a handmade-instrument Kickstarter in 31 weeks. Milestones, gates, budget, email list, competitor research, and a live HTML dashboard, all driven by one living context file that gets updated after every weekly meeting.
Launching a Kickstarter product is not a marketing problem. It’s an operations problem. 31 weeks to go-live. Six parallel sub-projects (spec sheets, luthier contract, pricing, video production, audience building, campaign). Four stakeholders with different approval authorities. A single luthier as the only production partner. Pre-campaign budget of $4,500 in milestone payments plus operational costs. Most founders run this on a Notion board and hope. I wanted a system that would tell me on any given Monday: where are we, what’s blocked, what gate are we approaching, and who needs to decide what this week.
One folder, one living context file (instrument_project_context_from_meeting.md, 1,000+ lines, updated after every weekly meeting), and a toolchain that reads it and produces everything else.
What the system does:
render_dashboard.py): Health score, critical path (6 nodes), per-project progress bars, milestone statuses, gate readiness (G0–G6 countdowns with condition checklists), risk register ranked 1–5, budget tracking, week-by-week task lists. Opens in your browser. One command.milestone_tracker.py): Computes current week from PROJECT_START_DATE=2026-04-01. Auto-classifies milestones as completed / on-track / due-this-week / at-risk / overdue / blocked. Plain-text terminal report for fast standups.task_tracker.py): Pushes all 48+ milestones into a shared Google Sheet with two views: full milestone list (dropdown status column) and a grouped weekly view. Replaces paid project-management tools, editable by the whole team in real time.email_manager.py + templates): Zero-cost email marketing built on Gmail API + Google Sheets + Jinja2. Subscriber database (10 columns: email, name, source, subscription state, unsubscribe token, campaigns received, etc.), Spanish-language branded campaigns, mandatory unsubscribe links, web-form signup via a cPanel PHP endpoint. Replaces Mailchimp/Klaviyo ($54–180/mo).ks_research.py): Scrapes Kickstarter campaigns via their JSON endpoint (HTML fallback). Extracts goal, pledged, backers, tier structure, Early Bird discount, video presence, duration, outcome. Analyzed 10 handmade-instrument campaigns to validate the $249 cajón and $499 guitar price points against market comps.gdrive_manager.py): 8-folder hierarchy (Spec Sheets, Meetings, Contracts, Financial Model, Marketing, Kickstarter, Brand Assets, Operations) with auto-refreshing OAuth. Spec sheets, research reports, and subscriber lists auto-upload to the correct folder.The dashboard went live and stayed current. From week 3 to week 14 (April to July 2026) the dashboard was rebuilt and redeployed to GitHub Pages as the project moved, 26 deploys in all, timed to the weekly Thursday meeting. The week-3 meeting alone shipped seven deliverables.
A status and payments page for the client. In July I added a page that shows project status and the payment schedule by milestone in one place, linked from the dashboard banner. When a milestone payment was moved or merged with a later one, the page changed with it, so the founder and I always read the same numbers.
The dashboard: health score, critical path, gate readiness, risk register, budget. Opens in the browser from a single render_dashboard.py call.
10 handmade-instrument Kickstarter campaigns analyzed: pledged amounts, tier structures, Early Bird patterns, success/failure mix. Used to lock pricing and tier design.
ks_account_setup.md, not discovered in week 15.Stack: Claude Code, Python 3.13, Gmail API + Google Sheets API + Google Drive API (OAuth with auto-refresh), Jinja2 for email templates, raw HTML/CSS/JS for the dashboard, Kickstarter JSON endpoint + BeautifulSoup HTML fallback for research.
WAT framework (Workflows / Agents / Tools). Folder IDs cached in .env so every script references the same Drive structure. The context parser (tools/common.py) is the shared dependency, all downstream tools call it.
instrument_project_context_from_meeting.md, one file, the whole project state.python tools/render_dashboard.py → browser opens. Walk through the gate countdowns, risk register, budget.python tools/milestone_tracker.py → terminal shows “Week 3 of 31, X overdue, Y due this week.”.tmp/ks_research/campaigns.json and how it informed the pricing decision.“This is what it looks like when you treat a Kickstarter launch like running a small company. One context file holds the truth: meetings, decisions, risks, budget. One command renders a dashboard with gate readiness and critical path. One Google Sheet keeps the whole team aligned. The founder doesn’t have to remember; the system does.”