CyguinLaunchpad
Find a file
JoePro 210bb38be8 Fix: Remove duplicate scores, keep latest per user
- Add cleanup-duplicates endpoint
- Cleaned up 6 duplicate scores
- Repaired 9 MVPs with wrong ice_scores
2026-03-15 10:43:48 -05:00
backend Fix: Remove duplicate scores, keep latest per user 2026-03-15 10:43:48 -05:00
frontend Add delete confirmation, release notes endpoint and UI 2026-03-15 05:49:52 -05:00
.gitignore Initial commit: MVP prioritization app with default scores 2026-03-14 18:37:08 -05:00
CHANGELOG.md Add README and CHANGELOG 2026-03-14 18:38:04 -05:00
docker-compose.yml Initial commit: MVP prioritization app with default scores 2026-03-14 18:37:08 -05:00
README.md Add README and CHANGELOG 2026-03-14 18:38:04 -05:00
SPEC.md Initial commit: MVP prioritization app with default scores 2026-03-14 18:37:08 -05:00
TECHNICAL_APPROACH.md Initial commit: MVP prioritization app with default scores 2026-03-14 18:37:08 -05:00

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.