The robotic-first Mars pre-deployment platform.
Deploy robotic fleets to Mars, configure missions, and build the infrastructure for a Turnkey Civilization — before humans ever set foot on the surface.
🌐 Live: marsfounder-io.vercel.app
📖 Docs: documentation/
🤝 Contributions welcome: CONTRIBUTING.md
🛡 Security: SECURITY.md
📜 Code of conduct: CODE_OF_CONDUCT.md
MarsFounder.io is a mission control and ecosystem management platform built around a Robots-First Doctrine: autonomous robotic pre-deployment is the fastest path to a sustainable Mars civilization. This platform lets founders plan, configure, and track robotic missions — treating Martian surface operations as a product, not a science project.
The core philosophy, drawn from the "Robotic Mars Pre-Deployment Program Projection", is that biological vulnerability is the primary bottleneck in planetary colonization. The 50-year strategic window before human arrival should be used to build a complete planetary network of power, compute, and life-support infrastructure: a "Turnkey Civilization" that awaits human arrival as a finished utility.
- Interesting product surface — frontend UX, API design, AI-assisted workflows, data modeling, and mission simulation all meet in one repo
- Real contributor leverage — the codebase is still early enough that a single good PR can meaningfully shape the product
- Clear technical seams — frontend, API, schema, generated clients, docs, and deployment are split into understandable workspace packages
- Plenty of open problems — testing, API completeness, mission logic, telemetry realism, UI polish, and contributor tooling all have room to improve
- Mission Builder — configure objectives, location, duration, and bot loadout before committing an asset to the surface
- Robotic Fleet Management — browse bot classes by role, spec, and hourly credit burn; build custom loadouts with tools and add-ons
- Autonomous Deployment Framework — long-form strategy document rendered directly from the repo markdown source at
/adf - AI Personas — each bot class has a named AI persona; chat with your fleet commander before a mission
- Mission Feasibility Analysis — AI-powered analysis flags risks before you deploy
- Skill Marketplace — modular software payloads for robotic hardware
- Ambient Telemetry — live Mars Sol Date, Earth–Mars light delay, and dust storm alerts
- Dashboard — mission counts, build overview, and live telemetry summary
| Layer | Technology |
|---|---|
| Frontend | React 18, Vite 7, Tailwind CSS v4, Shadcn UI, Framer Motion, GSAP, Three.js |
| Backend | Express 5, TypeScript, esbuild |
| Database | Drizzle ORM + Neon (serverless PostgreSQL) |
| AI | OpenRouter (deepseek/deepseek-v4-flash) |
| Hosting | Vercel (frontend) + Hostinger VPS / Docker (API) |
| Monorepo | pnpm workspaces |
├── artifacts/
│ ├── marsfounder/ # React SPA (frontend)
│ └── api-server/ # Express API server
├── lib/
│ ├── db/ # Drizzle ORM schema + client
│ ├── api-spec/ # OpenAPI spec + Orval codegen
│ ├── api-client-react/ # Generated TanStack Query hooks
│ └── api-zod/ # Generated Zod validators
├── documentation/ # Architecture, API reference, deployment, local dev
├── vercel.json # Vercel build config (frontend)
└── Dockerfile # Multi-stage Docker build (API)
Full documentation: documentation/architecture.md
- Node.js v22+
- pnpm (
npm install -g pnpm)
- Clone the repository
- Install dependencies:
pnpm install
- Create a
.envfile at the repo root with:DATABASE_URL=<your Neon connection string> OPENROUTER_API_KEY=<your OpenRouter key> - Push the database schema:
export $(grep -v '^#' .env | xargs) && pnpm --filter @workspace/db run push
API server (terminal 1):
export $(grep -v '^#' .env | xargs) && PORT=3000 pnpm --filter @workspace/api-server run devFrontend (terminal 2):
cd artifacts/marsfounder && PORT=5173 BASE_PATH=/ pnpm run devFrontend runs at http://localhost:5173. The Vite proxy forwards /api/* calls to localhost:3000.
Browser → Vercel (static frontend) → Hostinger VPS (Express API, Docker) → Neon (PostgreSQL)
- Build command (auto-detected from
vercel.json):pnpm --filter @workspace/marsfounder run build - Output:
artifacts/marsfounder/dist/public - Production requests use relative
/api/*URLs. vercel.jsonproxies/api/:path*to the VPS API, soVITE_API_URLshould remain unset in production unless you intentionally serve the API over HTTPS directly.
The repo includes a Dockerfile at the root. To deploy or redeploy on the VPS:
# First time
git clone https://github.com/nikkogibler/MarsFounderIO.git /opt/marsfounder
cd /opt/marsfounder
cat > /root/marsfounder.env <<'EOF'
PORT=3000
NODE_ENV=production
DATABASE_URL=<your Neon connection string>
OPENROUTER_API_KEY=<your OpenRouter key>
CORS_ORIGIN=https://marsfounder-io.vercel.app
EOF
docker build -t marsfounder-api .
docker run -d \
--name marsfounder-api \
--restart unless-stopped \
-p 3000:3000 \
--env-file /root/marsfounder.env \
marsfounder-api
# To redeploy after a git push
cd /opt/marsfounder
git pull
docker build -t marsfounder-api .
docker stop marsfounder-api && docker rm marsfounder-api
docker run -d --name marsfounder-api --restart unless-stopped \
-p 3000:3000 \
--env-file /root/marsfounder.env \
marsfounder-apiVerify the API is healthy:
curl http://localhost:3000/api/healthz
# → {"status":"ok"}The API reads CORS_ORIGIN (comma-separated list of allowed origins). Set this to your Vercel domain(s). If unset, all origins are allowed (dev-only default).
Full deployment guide: documentation/deployment.md
This project is open to collaborators. Whether you're interested in the product vision, the tech stack, or just want to build something meaningful — you're welcome here.
Start with CONTRIBUTING.md for setup, workflow expectations, and PR guidelines. Bugs and ideas should go through the GitHub issue templates so reports stay actionable.
- UI/UX improvements to any page in
artifacts/marsfounder/src/pages/ - New bot class definitions (schema in
lib/db/src/schema/bots.ts, seed inartifacts/api-server/src/lib/seed.ts) - New ambient data endpoints (light delay accuracy, weather models)
- Mission feasibility prompt tuning (
artifacts/api-server/src/lib/feasibility.ts) - OpenAPI spec completeness (
lib/api-spec/openapi.yaml) - Tests — there are none yet; any coverage is welcome
- Fork the repo and create a branch (
git checkout -b feat/your-idea) - Follow the local dev setup in documentation/local-development.md
- For larger changes, open an issue first so the direction is aligned before you spend time building
- Make your changes and open a PR against
main - Describe what you built and why in the PR description
If you want to discuss the vision, a larger feature, or a collaboration before writing code — open an issue with context and proposed scope.
MIT — see LICENSE



