Architecture & Components
Onoots OS is a pnpm monorepo: 7 deployable apps, 7 shared packages, and 1 edge worker built on a curated set of external services. This page maps every component, color-coded by its role in the architecture.
| Color | Category |
|---|---|
| 🔵 Blue | Internal apps |
| 🩵 Cyan | Internal packages & workers |
| 🟣 Purple | Data |
| 🟠 Orange | Artificial intelligence |
| 🔴 Red | Payments |
| 🟡 Amber | Streaming & video |
| 🟢 Green | Infrastructure & orchestration |
| 🩷 Pink | Communications |
| 🟤 Brown | E-signature |
| 🌊 Teal | Maps & geodata |
| ⚪ Gray | Security & anti-bot |
| 🟦 Indigo | Web3 |
🔵 Internal apps (apps/*)
| App | Role |
|---|---|
| proptech | Real-estate vertical (proptech.onoots.com): CRM, Buyer Desk, bilateral marketplace, swarm buying |
| supply | Procurement / supply vertical |
| ai | Public landing (products.onoots.com) + multi-product hub |
| platform | Subscription & billing console (platform.onoots.com) |
| learn | Academy LMS (learn.onoots.com) with video on demand |
| live | Live events (live.onoots.com): WebRTC, HLS, Q&A, simulcast |
| mobile-buyer | React Native / Expo mobile app for the Buyer Manager |
🩵 Internal packages & workers (packages/*, workers/*)
| Package | Role |
|---|---|
| @onoots/core | Shared multi-vertical engine (~70% reuse) |
| @onoots/billing-core | Per-org token pool, plan gates, Stripe → notifications bridge |
| @onoots/buyer-core / @onoots/buyer-api-client | Buyer Desk domain logic and API client |
| @onoots/inventory-core | Inventory engine |
| @onoots/jurisdiction | Jurisdiction packs (PE, CA-ON) |
| @onoots/swarm-runtime | Temporal worker for swarm buying workflows |
| workers/live-hls | Cloudflare Worker serving signed HLS from R2 |
External services by category
| Category | Service | Function | Used by |
|---|---|---|---|
| 🟣 Data | Supabase | Postgres + Auth + RLS + Storage — single database for the whole ecosystem | all apps |
| 🟠 AI | Anthropic (Claude) | AI agents via the AI SDK: BRA, guardrails, copilots | proptech · supply · ai |
| 🟠 AI | Vercel AI SDK / Gateway | Model abstraction layer (cheap / guard / reasoning tiers) | proptech · supply · ai |
| 🔴 Payments | Stripe | Subscriptions, checkout, customer portal, webhooks | platform · billing-core |
| 🟢 Orchestration | Temporal.io | Durable workflows for swarm buying | swarm-runtime · proptech |
| 🟢 Infrastructure | Railway | Hosting for the Temporal worker | swarm-runtime |
| 🟢 Infrastructure | Vercel | Hosting & CI/CD for all Next.js apps + Analytics | all web apps |
| 🟢 Infrastructure | Cloudflare Workers + R2 | Edge worker for signed HLS + live video segment storage | live |
| 🟢 Infrastructure | Expo / EAS | Mobile runtime and builds | mobile-buyer |
| 🟢 Infrastructure | GitHub | Monorepo, PRs, integration flow | whole repo |
| 🟡 Streaming | LiveKit | Live WebRTC, egress, simulcast, SIP trunk | live · proptech · supply |
| 🟡 Streaming | Cloudflare Stream | Academy video on demand: TUS uploads, signed JWT, webhooks | learn |
| 🟡 Streaming | YouTube (RTMP) | Multi-platform simulcast destination | live |
| 🩷 Communications | Resend | Transactional email | proptech · supply |
| 🩷 Communications | Twilio | SMS / voice | proptech |
| 🩷 Communications | Web Push (VAPID) | Browser push notifications | proptech · supply |
| 🟤 E-signature | DocuSign | Contract e-signing (JWT grant + HMAC webhooks) | proptech · supply |
| 🟤 E-signature | Dropbox Sign | Alternative / embedded e-signing | proptech · supply |
| 🌊 Geodata | Mapbox | Interactive listing maps | proptech · supply |
| 🌊 Geodata | Google Maps | Complementary maps & geocoding | proptech |
| 🌊 Geodata | Walk Score | Walkability score per property | proptech |
| ⚪ Security | Cloudflare Turnstile | Anti-bot on public forms | proptech · supply |
| ⚪ Security | Google reCAPTCHA | Alternative anti-bot | proptech |
| ⚪ Security | VirusTotal | Uploaded-file scanning | proptech |
| 🟦 Web3 | EVM blockchain (viem) | On-chain document anchoring | proptech · supply |
| 🟦 Web3 | Pinata (IPFS) | IPFS document pinning | proptech · supply |
Architecture diagram
Users enter through the apps (blue); everything shares the internal packages (cyan) and Supabase (purple); each vertical leans on its category services.
In total: 26 external services and 15 internal components. Three categories carry deliberate provider redundancy — e-signature (DocuSign + Dropbox Sign), maps (Mapbox + Google Maps) and anti-bot (Turnstile + reCAPTCHA).
Last updated on