Launchpad
FreeNot checkedYour founder command center, on your own server. Self-hosted project management for solopreneurs: projects, ideas, revenue, legal, tech debt, site monitoring, T
About
Your founder command center, on your own server. Self-hosted project management for solopreneurs: projects, ideas, revenue, legal, tech debt, site monitoring, Telegram briefings, and MCP for Claude. Bun + Hono + React + SQLite.
README
Your founder command center, on your own server.
MIT License Self-host PRs Welcome
Track projects, ideas, revenue, legal compliance, tech debt, and daily activity, all in one place. Single-user by design, privacy-first, Docker-ready. Self-host in 10 minutes.

What it does
- Project pipeline: stage-aware tracker (idea → building → beta → live → growing → sunset)
- Idea inbox: capture raw ideas before they slip away
- MRR tracking: revenue history with month-over-month scoreboard
- Launch checklist: 80+ curated items by stage and project type (for-profit or open-source)
- Tech debt tracker: severity × effort triage
- Goals: numeric targets with progress tracking
- Legal compliance: curated catalog for 12+ countries + EU with LLM-powered review
- GitHub integration: commits, PRs, and issues per project
- News feed: Hacker News + RSS with LLM relevance scoring
- Site monitoring: built-in HTTP pinger, Telegram alerts on down/recovery, no external service
- Telegram bot: capture ideas by message + receive a morning briefing
- MCP connector: Claude (Code, Desktop, Claude.ai) reads your project data and writes build-log / tech-debt entries directly. See docs/mcp-setup.md
Tech stack
- Runtime: Bun
- Backend: Hono on Bun; raw SQL via
bun:sqlite; in-code migrations - Frontend: React 18 + TypeScript + React Router v6 + TanStack Query v5
- Styling: Tailwind CSS + shadcn/ui
- AI: Anthropic Claude (configurable: Anthropic / Ollama / OpenAI-compatible)
Self-host quickstart (Docker)
- Clone:
git clone https://github.com/glebstarchikov/Launchpad && cd Launchpad - Env:
cp .env.example .env, then setJWT_SECRET(openssl rand -hex 32) andLAUNCHPAD_USER_EMAIL - Up:
docker compose up -d - Visit: http://localhost:3001, register your user, sign in.
Important: Register your account immediately after the first start. Registration is permanently closed once the first user exists. This is by design for a single-user app.
Data is persisted in Docker volumes (launchpad_data for the SQLite DB, launchpad_uploads for files).
For Coolify deployment, the full env reference, and Telegram setup, see the Deployment: Coolify, Environment variables, and Telegram bot setup sections below. For the MCP (Claude connector) setup, see docs/mcp-setup.md.
Pre-built image (faster)
Skip the build step by using the pre-built image from GitHub Container Registry. Replace the build: . line in docker-compose.yml with:
image: ghcr.io/glebstarchikov/launchpad:latest
Deployment: Coolify
- New Resource → Application → select your GitHub repo → branch
main - General tab:
- Build Pack:
Docker Image - Docker Image:
ghcr.io/glebstarchikov/launchpad:latest - Ports Exposes:
3001
- Build Pack:
- Environment Variables tab → click Developer view → paste the contents of
.env.exampleand fill in your values - Persistent Storage tab → add two volumes:
- Destination:
/data(SQLite database) - Destination:
/uploads(file attachments)
- Destination:
- Deploy, then open the URL and register your account immediately
The pre-built image (
ghcr.io/glebstarchikov/launchpad:latest) is updated automatically on every push tomainvia GitHub Actions.
Local development
Requirements: Bun ≥ 1.0
bun install
cp .env.example .env # edit as needed
bun dev
# Open http://localhost:3001
Environment variables
See .env.example for the full list with comments. Required:
| Variable | Description |
|---|---|
JWT_SECRET |
Long random string, generate with openssl rand -hex 32 |
LAUNCHPAD_USER_EMAIL |
Your login email, must match the email you registered with; used by the Telegram bot and cron |
Optional integrations:
| Variable | Description |
|---|---|
LLM_PROVIDER |
anthropic or ollama (default) |
LLM_API_KEY |
Anthropic API key (if using anthropic provider) |
GITHUB_PAT |
GitHub personal access token (repo:read scope) |
TELEGRAM_BOT_TOKEN |
Telegram bot token from @BotFather |
TELEGRAM_CHAT_ID |
Your Telegram chat ID (from @userinfobot) |
TELEGRAM_BRIEF_HOUR |
Hour (0 to 23) for morning briefing in server local time (default: 9) |
WHISPER_MODEL_PATH |
Path to whisper.cpp model for voice idea capture |
MCP_API_KEY |
Bearer key for the MCP connector, generate with openssl rand -hex 32. Leave blank to disable. |
LLM features
Launchpad optionally uses an LLM for:
- Daily morning briefing summary (via Telegram)
- Legal compliance item personalization when adding a country
- On-demand legal compliance review (diff against curated catalog)
Ollama (local, free):
ollama serve
ollama pull llama3.1
# .env: LLM_PROVIDER=ollama
Anthropic:
# .env:
# LLM_PROVIDER=anthropic
# LLM_API_KEY=sk-ant-...
Telegram bot setup
- Create a bot via @BotFather → get
TELEGRAM_BOT_TOKEN - Get your chat ID via @userinfobot → set
TELEGRAM_CHAT_ID - Set both in
.envand restart
Once configured:
- Send any message to the bot → saved as an idea in Launchpad
- Every morning at
TELEGRAM_BRIEF_HOUR(default: 9 AM server time) → briefing with yesterday's summary + top news signals
Resetting your password
# Docker
docker exec -it <container_name> bun scripts/reset-password.ts [email protected] newpassword
# Local dev
bun scripts/reset-password.ts [email protected] newpassword
Upgrading
Schema migrations run automatically on startup. Pull and restart:
git pull
docker compose up -d --build
Tests
bun test server/tests/
Contributing
Issues and PRs welcome. Read CONTRIBUTING.md first. It covers local setup, testing conventions, and commit style.
Security
Found a vulnerability? See SECURITY.md for the responsible disclosure process. Please don't open a public issue.
License
MIT, see LICENSE.
Part of what I build at glebstarchikov.nl.
Installing Launchpad
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/glebstarchikov/LaunchpadFAQ
Is Launchpad MCP free?
Yes, Launchpad MCP is free — one-click install via Unyly at no cost.
Does Launchpad need an API key?
No, Launchpad runs without API keys or environment variables.
Is Launchpad hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Launchpad in Claude Desktop, Claude Code or Cursor?
Open Launchpad on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Gmail
Read, send and search emails from Claude
by GoogleSlack
Send, search and summarize Slack messages
by SlackRunbear
No-code MCP client for team chat platforms, such as Slack, Microsoft Teams, and Discord.
Discord Server
A community discord server dedicated to MCP by [Frank Fiegel](https://github.com/punkpeye)
Compare Launchpad with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All communication MCPs
