Minimal viable fleet: Railway for agents only, everything else static/free.
| Dashboard (Vercel Pro) | $20 |
| API Worker (Cloudflare) | $5+ |
| Database (Supabase Pro) | $25 |
| Agents (Railway, 10ร) | $50-100 |
| Total | $100-150/mo |
| Setup Wizard (GitHub Pages) | FREE |
| Dashboard (GitHub Pages) | FREE |
| Fleet Config (JSON in repo) | FREE |
| Agents (Railway, 10ร) | $50-100 |
| Total | $50-100/mo |
flowchart TB
subgraph GP["๐ GitHub Pages (FREE) ยท menonpg.github.io/neo-agent"]
direction LR
WZ["/wizard/
onboarding form"]
DB["/dashboard/
fleet status"]
DC["/docs/
setup guides"]
end
subgraph REPO["๐ GitHub Repo (FREE) ยท menonpg/neo-fleet (private)"]
direction LR
FJ["fleet.json
registry"]
CU["customers/
configs"]
WF[".github/workflows/
automation"]
end
subgraph RW["๐ณ Railway (pay per agent ยท ~$5-10/mo each)"]
direction LR
R1["neo-lw-auto"]
R2["neo-anasto-1"]
R3["neo-internal"]
end
GP -- "customer submits form" --> REPO
REPO -- "GitHub Action spawns" --> RW
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ GITHUB PAGES (FREE) โ
โ menonpg.github.io/neo-agent/ โ
โ โ
โ โโโ /wizard/ โ Customer onboarding form โ
โ โโโ /dashboard/ โ Fleet status viewer (static) โ
โ โโโ /docs/ โ Setup guides โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โ Customer submits form
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ GITHUB REPO (FREE) โ
โ menonpg/neo-fleet (private) โ
โ โ
โ โโโ fleet.json โ Agent registry โ
โ โโโ customers/ โ Customer configs โ
โ โโโ .github/workflows/ โ Automation โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โ GitHub Action spawns
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ RAILWAY (PAY PER AGENT) โ
โ โ
โ โโโ neo-lw-auto โ LW Automotive agent โ
โ โโโ neo-anasto-1 โ Anasto customer agent โ
โ โโโ neo-internal โ Our internal agent โ
โ โ
โ Each ~$5-10/mo depending on usage โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Options: GitHub Issue template or Google Form โ manual review โ spawn.
# .github/ISSUE_TEMPLATE/new-agent.yml
name: Request New Agent
body:
- type: input
id: company
attributes:
label: Company Name
validations:
required: true
- type: dropdown
id: provider
attributes:
label: AI Provider
options:
- GitHub Copilot
- OpenAI
- Anthropic
Simple JSON file in repo tracks all agents.
{
"agents": [
{
"id": "neo-lw-auto",
"customer": "LW Automotive",
"railway_service_id": "srv_xxx",
"status": "running",
"provider": "github-copilot",
"channel": "telegram",
"domain": "automotive",
"created_at": "2026-06-28"
}
]
}
GitHub Pages fetches fleet.json and renders status cards.
async function loadFleet() {
const res = await fetch(
'https://raw.githubusercontent.com/menonpg/neo-fleet/main/fleet.json'
);
const data = await res.json();
container.innerHTML = data.agents.map(agent => `
<div class="card">
<h3>${agent.id}</h3>
<span class="${agent.status}">${agent.status}</span>
<p>${agent.customer}</p>
</div>
`).join('');
}
Workflow dispatch creates Railway service and updates registry.
# .github/workflows/spawn-agent.yml
name: Spawn Agent
on:
workflow_dispatch:
inputs:
agent_id:
description: 'Agent ID (e.g., neo-customer-1)'
required: true
provider:
type: choice
options: [github-copilot, openai, anthropic]
jobs:
spawn:
runs-on: ubuntu-latest
steps:
- name: Create Railway Service
env:
RAILWAY_TOKEN: ${{ secrets.RAILWAY_TOKEN }}
run: |
# Create service via Railway API
# Inject secrets, deploy, update fleet.json
Every 30 min, check each agent and update status.
# .github/workflows/health-check.yml
on:
schedule:
- cron: '*/30 * * * *'
jobs:
check:
runs-on: ubuntu-latest
steps:
- name: Check Agent Health
run: |
for agent in $(jq -r '.agents[].railway_url' fleet.json); do
curl -sf "$agent/health" && STATUS="running" || STATUS="unhealthy"
# Update fleet.json
done
Without a backend, secrets are handled manually:
Customer provides token via secure channel. We add to Railway env vars manually.
Token passed as workflow input, set via API, never stored in git.
Per-customer secrets: CUSTOMER_LW_TOKEN. Referenced in spawn workflow.
| Feature | Full Version | MVP |
|---|---|---|
| Onboarding | Automated wizard | GitHub Issue / Form |
| Secret entry | Web form + validate | Manual via secure channel |
| Dashboard | Live updates | Refresh to see changes |
| Billing | Stripe integration | Manual invoicing |
| Health alerts | Slack/email | Check dashboard |
| Just us (1-2 internal agents) | $10-20/mo |
| + 5 customer agents | $35-70/mo |
| + 10 customer agents | $60-120/mo |
All infrastructure (wizard, dashboard, registry) = FREE via GitHub
"Ship the MVP. Add complexity when revenue justifies it."