Under the hood
Platform
Architecture.
This site is one app in a four-app Turborepo monorepo. Each app is independently deployable, shares a common type-safe API layer, and is designed to scale without rewriting anything.
apps/
packages/
Apps
Four apps. One codebase.
Each app has a single responsibility. They share UI components, utils, and the tRPC API layer — but deploy independently.
mlebotics.com
Public-facing site. Static-first, zero JS by default. Fastest possible load for SEO and brand.
console.mlebotics.com
User dashboard. Auth-gated, real-time data via Firebase. tRPC API layer connects to shared backend.
studio.mlebotics.com
Internal content and config editor. Build and manage robots, workflows, and AI task templates.
docs.mlebotics.com
Developer documentation. API references, SDK guides, integration walkthroughs, and changelogs.
Shared packages
One change. Every app benefits.
Shared packages live in packages/ and are consumed via pnpm workspace resolution. No duplication, no drift.
@mlebotics/api Shared tRPC router definitions — type-safe API contract used by console, studio, and docs.
@mlebotics/ui Component library with shared design tokens, buttons, inputs, and layout primitives.
@mlebotics/utils Pure utility functions — date formatting, validation helpers, constants.
@mlebotics/config Shared TypeScript, ESLint, Tailwind, and PostCSS configs across all apps.
@mlebotics/sdk-js Public JavaScript/TypeScript SDK for interacting with the MLEbotics platform API.
Tech stack
Every choice was deliberate.
No trend-chasing. Each tool was selected because it solves a specific problem at scale.
Roadmap
Built in phases. Shipped continuously.
Each phase builds on the last. Nothing is thrown away — only extended.
Foundation
- Turborepo monorepo with pnpm workspaces
- Shared packages: ui, utils, api, config, sdk-js
- Astro marketing site (this site)
- Firebase Auth + Firestore setup
- Vercel deployment pipeline
Platform Core
- Console dashboard (project management, live metrics)
- Studio editor (robot/workflow/AI template builder)
- tRPC API layer with shared router
- User auth flows and role-based access
- Firebase real-time listeners in console
Developer Layer
- Docs site with full API reference (MDX)
- Public SDK (sdk-js) + npm release
- Webhook system for external integrations
- Plugin/marketplace architecture
- OpenAPI export from tRPC schema
Scale & Ecosystem
- Edge-deployed API routes (Vercel Edge Functions)
- Multi-region Firestore + read replicas
- Event bus for cross-app messaging
- Autonomous agent execution environment
- Robot firmware OTA update pipeline
Scalability
Designed to grow without breaking.
Scalability isn't a feature added later — it's a structural property baked in from the start.
Monorepo isolation
Each app is fully independent — it can be extracted, scaled, or replaced without touching others. Turborepo's task graph ensures only changed packages rebuild.
Edge-first deployment
All Next.js apps target Vercel's edge network. Static pages are served from CDN. Dynamic routes stream from the nearest region to the user.
Type-safe API boundary
tRPC eliminates the client–server contract drift that breaks scale. A single router file is the source of truth — rename a field and TypeScript catches every call site instantly.
Shared package versioning
Internal packages use workspace:* resolution. Breaking changes in @mlebotics/ui are caught at compile time before any app deploys. No silent runtime regressions.
Real-time by default
Firebase Firestore listeners mean the console scales to thousands of concurrent users without polling. State is pushed, not pulled.
CI with remote cache
Turborepo remote cache means a cold CI run on an unchanged app takes seconds, not minutes. Time-to-deploy stays flat as the codebase grows.
See what runs on this platform
Every project is a direct product of this architecture.