CyguinLaunchpad
- Add cleanup-duplicates endpoint - Cleaned up 6 duplicate scores - Repaired 9 MVPs with wrong ice_scores |
||
|---|---|---|
| backend | ||
| frontend | ||
| .gitignore | ||
| CHANGELOG.md | ||
| docker-compose.yml | ||
| README.md | ||
| SPEC.md | ||
| TECHNICAL_APPROACH.md | ||
Cyguin Launchpad
MVP prioritization and release management app using the ICE scoring framework (Impact × Confidence × Ease).
Features
- ICE Scoring: Automatically calculate priority scores for MVPs
- Real-time Sync: 5-second polling keeps all users in sync
- AI Auto-scoring: AI scores MVPs synchronously when humans save their scores
- Default Scores: New MVPs start with default scores of 3 for all voters (joe, mark, ai)
- Phase Management: Track MVPs through backlog → in-progress → done
- Category Filtering: Filter by product/category
- Bulk Import: Import MVPs from CSV/JSON
Tech Stack
- Backend: Python FastAPI + SQLite
- Frontend: React + Tailwind CSS
- Deployment: Tailscale private network (znode-tx)
Setup
# Backend
cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8000
# Frontend
cd frontend
npm install
npm run dev
API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/mvps |
List all MVPs |
| POST | /api/mvps |
Create new MVP |
| GET | /api/mvps/{id} |
Get MVP details |
| PUT | /api/mvps/{id} |
Update MVP |
| DELETE | /api/mvps/{id} |
Archive MVP |
| GET | /api/scores/{mvp_id} |
Get scores for MVP |
| PUT | /api/scores/{mvp_id} |
Update scores |
| POST | /api/llm/score |
Trigger AI scoring |
ICE Formula
Individual Score = (Impact × Confidence × Ease) / 10
Combined Score = Average of all voter scores
Priority Thresholds:
- must_have: ≥ 50
- should_have: ≥ 25
- could_have: ≥ 10
- wont_have: < 10
Deployment
The app runs on znode-tx at http://znode-tx:8000 (Tailscale network).
Backup runs every 2 hours to server and Mac OneDrive.