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



