Submit an idea, deploy a microservice, mint a token, access the API.
Live Demo: team-microservices-factory-gamma.vercel.app
Microservices Factory. Users submit a software idea, agents generate a working microservice, the system deploys it, and a bonding-curve token is created for that service. Holding the token grants access to the service API.
- Node.js 18+
- Python 3.11+
- Git
# Clone
git clone https://github.com/openwork-hackathon/team-microservices-factory.git
cd team-microservices-factory
# Backend
cd backend
pip install -r requirements.txt
uvicorn src.main:app --reload --port 8000
# Frontend (new terminal)
cd frontend
npm install
npm run devEnter your Ethereum wallet address (0x...) in the Wallet Connection panel.
Describe a microservice you want to create:
"A service that summarizes meeting notes and returns action items"
Click Submit - the idea is queued for processing.
Your service appears in the Services panel with status updates:
queued- Waiting for agentgenerating- Agent is writing codedeploying- Deploying to clouddeployed- Live and ready
Click Deploy to trigger the deployment pipeline.
Click Create Token to mint a bonding-curve token for your service.
Click Get Access to receive:
- API base URL
- Token address
- API key
curl -H "X-Wallet-Address: 0xYourWallet" \
https://gateway.example.com/proxy/{service_id}/process \
-d '{"input": "your data"}'+-------------------+ +-------------------+ +-------------------+
| Frontend |---->| Backend |---->| Generated Svc |
| (Next.js) | | (FastAPI) | | (Vercel/Cloud) |
+-------------------+ +-------------------+ +-------------------+
| | ^
| v |
| +---------------+ |
| | Gateway |-----------------+
| | (Token Gate) |
| +---------------+
| |
v v
+-------------------+ +-------------------+
| Wallet Connect | | ServiceToken |
| | | (Solidity) |
+-------------------+ +-------------------+
Components:
- Frontend: React/Next.js UI for idea submission and dashboard
- Backend: FastAPI orchestrator for service lifecycle
- Gateway: Token-gated proxy to deployed services
- Contracts: ERC20 bonding-curve tokens per service
team-microservices-factory/
βββ frontend/ # Next.js application
β βββ app/ # App router pages
β βββ lib/ # API client, utilities
β βββ package.json
βββ backend/ # FastAPI service
β βββ src/
β β βββ main.py # API endpoints
β β βββ store.py # Service registry
β β βββ generator.py # Code generation
β β βββ deployer.py # Deployment logic
β βββ requirements.txt
βββ gateway/ # Token-gated proxy
β βββ main.py
β βββ requirements.txt
βββ contracts/ # Solidity + Foundry
β βββ src/
β β βββ ServiceToken.sol
β β βββ ServiceTokenFactory.sol
β βββ script/
βββ docs/
β βββ API_CONTRACT.md
β βββ ARCHITECTURE.md
βββ render.yaml # One-click Render deploy
βββ DEPLOYMENT.md # Deployment guide
βββ README.md
| Endpoint | Method | Description |
|---|---|---|
/health |
GET | Health check |
/ideas |
POST | Submit new idea |
/services |
GET | List all services |
/services/{id} |
GET | Get service details |
/services/{id}/deploy |
POST | Deploy service |
/services/{id}/token |
POST | Create token |
/services/{id}/access |
POST | Get API credentials |
/stats |
GET | Platform statistics |
| Endpoint | Method | Description |
|---|---|---|
/health |
GET | Health check |
/proxy/{service_id}/{path} |
* | Proxy to service (requires token) |
Headers:
X-Wallet-Address: Your wallet address (required for proxy)
# Health check
curl http://localhost:8000/health
# Expected: {"status":"ok"}
# Submit idea
curl -X POST http://localhost:8000/ideas \
-H "Content-Type: application/json" \
-d '{"idea":"Hello world API"}'
# List services
curl http://localhost:8000/services
# Get stats
curl http://localhost:8000/stats- Open http://localhost:3000
- Check "Connected to API" status appears
- Enter wallet:
0x1234567890123456789012345678901234567890 - Submit idea: "Test service"
- Click Refresh - service should appear
cd contracts
forge build
forge testSee DEPLOYMENT.md for full deployment instructions.
Quick Deploy with Render:
- Fork this repo
- Go to Render Dashboard
- New > Blueprint > Connect repo
- Render auto-detects
render.yaml
Frontend is deployed on Vercel:
- Production: team-microservices-factory-gamma.vercel.app
Note: The frontend demo requires a running backend. For full functionality, deploy the backend to Render or run locally.
| Component | Technology |
|---|---|
| Frontend | Next.js 14, React 18, TypeScript |
| Backend | FastAPI, Python 3.11, Pydantic |
| Gateway | FastAPI, httpx |
| Contracts | Solidity 0.8.20, Foundry |
| Deployment | Vercel (frontend), Render (backend) |
| Feature | Status |
|---|---|
| Idea submission UI | Done |
| Service registry API | Done |
| Platform stats | Done |
| Bonding-curve token | Done |
| Token factory | Done |
| Gateway proxy | Done |
| Deployment configs | Done |
| Backend deployment | Pending |
| Contract deployment | Pending |
| Role | Status |
|---|---|
| PM | MicroForgeAgent |
| Frontend | Implemented |
| Backend | Implemented |
| Contract | Implemented |
- Live Demo (requires local backend)
- API Docs
- Architecture
- Deployment Guide
Built during Openwork Clawathon - February 2026