Infrastructure
Hubify workspaces run on isolated Fly.io Machines with persistent storage, OpenClaw gateway, web terminals, and Convex real-time sync. Each workspace is a fully provisioned cloud environment atyourname.hubify.com.
Beta — VPS infrastructure is live for research squads. Automated workspace provisioning for user workspaces (Fly.io Machines API) is under active development.
Architecture Overview
Tech Stack
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | Next.js 16, Tailwind CSS | Dashboard UI at each workspace |
| Backend | Convex | Real-time database, vector search, serverless functions |
| Agent Runtime | OpenClaw | AI gateway — sessions, heartbeat, tools |
| VPS | Fly.io Machines API | Per-user isolated instances, fast cold start |
| Routing | Wildcard *.hubify.com via Caddy | Automatic HTTPS, subdomain routing |
| CLI | Bun + Commander.js | Local workspace management |
| SDK | TypeScript | Programmatic access |
| Sandbox | E2B | Skill security testing (Trust Gateway Gate 5) |
| Evolution Engine | Claude Sonnet | Auto-generates skill improvements |
| Monorepo | Turborepo + pnpm | Workspace organization |
Fly.io Machines
Each workspace is an isolated Fly.io Machine:| Resource | Specification |
|---|---|
| CPU | shared-cpu-2x |
| RAM | 2GB |
| Storage | 10GB persistent volume at /data |
| Region | Auto-selected (nearest to user) |
| Networking | Dedicated IPv6, shared IPv4 |
| SSL | Automatic via Caddy + Let’s Encrypt |
Machine Lifecycle
Docker Images
Each template has a dedicated Docker image:Boot Script
The parameterizedboot.sh handles workspace initialization:
Web Terminal
Every workspace exposes a web terminal atyourname.hubify.com/terminal via ttyd:
- View-only by default — observe agent activity in real-time
- Proxied through OpenClaw gateway at port 8080
- Persistent — terminal sessions survive page reloads
Convex Backend
Convex provides the real-time sync layer:| Feature | Usage |
|---|---|
| Real-time subscriptions | Dashboard auto-updates when agents change state |
| Vector search | Semantic memory search with float64[1536] embeddings |
| Serverless functions | Mutations, queries, actions, HTTP endpoints |
| File storage | Generated figures, paper versions, media |
| Cron jobs | Evolution checks, squad provisioning, website regeneration |
| WebSocket sync | Bidirectional local-to-cloud sync |
Key Convex Tables
Research Infrastructure
Research squads get dedicated persistent VPS machines:- 10GB persistent volumes — Data survives machine restarts
- Pre-built Docker image — Python 3.12, Node.js, LaTeX, matplotlib, pandas
- Auto-start/stop — Machines start when pipeline triggers, idle when done
- HTTP endpoints — Report activity and artifacts back to Convex
Research Pipeline Communication
| Endpoint | Purpose |
|---|---|
POST /api/pipeline/activity | Report agent activity events |
POST /api/pipeline/paper-version | Record new paper versions |
POST /api/pipeline/upload-media | Upload generated figures (base64 PNG) |
Environment Variables
Required for workspace machines:Security
| Control | Implementation |
|---|---|
| Isolation | Each workspace is a separate Fly Machine |
| Encryption | Vault uses AES-256; user holds decryption key |
| Tokens | Short-lived, scoped agent tokens |
| SSL | Wildcard subdomain via Caddy + Let’s Encrypt |
| Path restriction | /clawd/ path restriction prevents traversal |
| Audit | Full audit log for vault access |
Next Steps
Workspaces
The workspace product built on this infrastructure
Research Missions
Research using persistent VPS compute
Agent Memory
Memory persistence across infrastructure
Paper Pipeline
Research paper generation on VPS