M Made Scientific MADE OS · 03 · Tools

Tools

What the fleet runs on. 33 components across 7 layers — the frontend the team looks at, the databases the agents read, the models they think with, and the box they all live on. Nothing exotic: the interesting part of this stack is how few moving parts it has.

Registry read 2026-08-04 from os_tech_stack, cross-checked against a live container sweep. One registry-vs-reality gap below.
Components
33
7 layers
Green
29
registry health
Amber
1
Vercel (fallback)
Planned
2
not adopted
Containers on bc-made
27
counted this pass
Failing key target
1
n8n on bc-made
Tier 1 · the one urgent tool finding

n8n is green in the registry and failing on the machine

Every other component on this page is either honestly green or honestly planned. This one is the exception, and it matters more than its single row suggests.

R-05

n8n — a failing key target underneath 14 planned agents

Believed workingbackend / orchestration
What the sweep found MEDIC's live-tier probe returns probed=13 ok=11 down=2 key_failing=['svc_n8n_made']. The n8n-twng-n8n-1 container is up (6 days), and its Postgres is healthy — so this is not a dead container. Something between the probe and the service is failing, and it has been flagged as a key target, meaning MEDIC is designed to escalate on it.

Why this is the most consequential tool row on the pageThree live agents name n8n as their harness — MADE BRAIN, KFSH EXEC TRAINER and PULSE. And 14 of the 32 unbuilt agents name n8n as their candidate harness. If n8n is unreliable, nearly half the roadmap is built on sand, and the three live ones are already exposed.

Live agents on n8n3
Planned/draft agents on n8n14
Probe result2 of 13 down
Container stateup 6 days
Sequence matters here. Diagnosing why the probe fails is a smaller job than building fourteen agents on a harness that intermittently doesn't answer. Do it first, or the failure gets discovered fourteen times.

Decision neededDiagnose svc_n8n_made before committing further roadmap to n8n. If it can't be made reliable, the harness choice for those 14 should be revisited — several would work as cron-worker or Edge Functions instead.

A-01

Two hosting stories, one of them amber and undocumented

Runs with a limit

WhatLovable is the primary frontend host and IDE. Vercel is registered as "secondary hosting / fallback" at health amber. Meanwhile the real serving layer for everything on this site — and for the regen apps, the client microsites, the agent services — is nginx + Traefik on bc-made, which does not appear in os_tech_stack at all.

Why it's amber not redNothing is broken. But the registry describes a two-host world (Lovable + Vercel) while the machine runs a three-host world (Lovable + Vercel + 27 containers behind Traefik). The most load-bearing piece of infrastructure Made has is missing from its own stack inventory.

Containers behind Traefik27
Traefik in os_tech_stackabsent

ActionAdd Traefik, nginx and Docker as infrastructure rows. Clarify whether Vercel is still a real fallback or a leftover.

The stack, by layer

Thirty-three components

Read top-down: what the team touches, what holds the data, what does the thinking, what it runs on, how it's watched, and what's outside the walls.

Frontend 7 · all green
ComponentRoleVendorNote
LovableIDE + cloud hostLovableKnown trap: the Secrets panel only injects Edge Function env vars — VITE_ build-time vars need code-level fallbacks or they silently arrive undefined.
ReactUI frameworkMeta
ViteBuild toolEvan You
Tailwind CSSUtility CSSTailwind
shadcn/uiComponent primitivesshadcn
@made-sci/design-systemMADE design tokensMADE-SCIOwn package — the reason apps are on-brand by construction rather than by review.
Lucide ReactIcon libraryLucide
Backend & data 9 · all green
ComponentRoleNote
Supabase (made-ai-os)AI OS masterAgent registry + config. Joe's authoring loop — canonical.
Supabase (Reporting)Auth + dataSFDC and HubSpot land here. xyopyttkhoxvnyeyijzb
Supabase (BioCreative)Auth + dataThe BC hub side of the bridge.
Supabase (Revenue Forecasting)Data warehouse
Supabase (Monday Sync)Data syncMonday boards mirror.
Supabase (Contracts)Agreement DB
Supabase (RFP Intake)Lead capture
Edge FunctionsServerless computeSupabase/Deno. The harness for SCOUT and BIBLIOGRAPHER.
PostgreSQL (Neon)Analytics read replica
Seven Supabase projects. That is a lot of database boundaries for one company, and each one is a place where an ID can fail to line up — which is precisely why three of the library's p0 skills are about identity resolution. The Context page maps which database is truth for what.
AI 4 · 3 green, 1 planned
ComponentRoleNote
Claude SonnetPrimary LLMGeneration across the fleet. SSO AGENT uses claude-sonnet-4-5; SCOUT uses claude-sonnet-5.
Claude HaikuFast / cheapThe validator tier — cheap enough to run as a second opinion on every generation. See SSO AGENT.
FirecrawlWeb scrapingCompetitive intel, event scraping, SCOUT's company-site pass.
LangchainLLM orchestrationPlanned — under evaluation for RAG, not adopted. Correctly labelled; nothing depends on it.
Not in the registry but running: litellm-made (up 3 weeks) is the model proxy in front of Anthropic, and brain-api-made is the RAG service. Both are load-bearing and both are missing from os_tech_stack — same class of omission as Traefik in A-01.
Infrastructure 4 · 3 green, 1 amber
ComponentRoleNote
GitHub ActionsCI/CD
FFMPEGVideo/audio processingAvatar and training pipeline.
launchd + Node.jsAgent schedulingLocal Mac agents. Worth flagging: anything scheduled on a laptop is off when the laptop is.
VercelSecondary hostingAmber. Registered as fallback. See A-01 — unclear whether still real.
Observability 3 · 2 green, 1 planned
ComponentRoleNote
Eyes DashboardSystem healthStatus at a glance. Fed by MEDIC's monitor_* tables.
Build TrackerDeploy trackingCommit + status log.
Agent Cost LedgerPer-run cost trackingPlanned. The one future item with a live consequence — see below.
FUTURE

No aggregate cost view — the gap that is actually worth building

Known future buildobservability

Current stateCost caps exist, but per agent. SSO AGENT enforces daily and monthly ceilings itself. FORGE carries a $15/month cap. SCOUT has a budget guard inside the Edge Function. Each is disciplined in isolation.

What's missingNobody can answer "what did the fleet cost last month, and which agent drove it." RESOLVER's last nightly run logged cumulative_cents: 0 — which either means it did no model work, or means the accounting isn't wired. Without a ledger, you cannot tell those apart.

Why it's future and not red: nobody believes this exists. It's registered as planned and the caps that matter are enforced locally. The risk is slow drift, not a live failure.

When to build itBefore the specialist ring goes live. Five new scheduled agents each doing model work is the point where per-agent caps stop being sufficient.

A-02

The registry describes a smaller system than the one running

Coverage gap

Missing from os_tech_stackTraefik · nginx · Docker · LiteLLM (litellm-made) · the brain API (brain-api-made) · the Transfer database itself. All six are running right now and several are load-bearing.

Why it matters modestlyAn inventory that omits its own serving layer and its own model proxy can't be used for capacity planning, incident response, or a vendor review. It's a good catalogue of choices and an incomplete catalogue of dependencies.

Registered components33
Known missing6+

ActionOne pass to add the infrastructure rows. Low effort, and it makes the layer counts meaningful.

External 6 · all green
ComponentRoleNote
SalesforceCRM sourcePipeline truth. RED line: the OS never writes here.
HubSpotMarketing automationEmail + form data. 26 forms catalogued; individual submissions are not stored anywhere queryable — the finding that blocks BEACON.
Monday.comProject managementOKR + board sync.
ElevenLabsText-to-speechTraining narration.
HeyGenAvatar generationAvatar videos.
VimeoVideo hostingTraining delivery.
The shape of this stack, stated plainly

One box, seven databases, two models, and a rule about what never gets written

Almost everything the fleet does runs on one VPS (bc-made, 27 containers behind Traefik) against Supabase for state and Claude for judgment, with Firecrawl for anything on the open web. That is a deliberately small surface, and it is the reason a single person can hold the whole system in their head.

The complexity that does exist is almost entirely in the seven database boundaries — which is a consequence of Made's real CRM history (Salesforce and HubSpot both being partial truth) rather than a design choice. It is also why identity resolution is the most engineered part of the skill library.

The invariant: the OS reads Salesforce, HubSpot and Monday. It writes proposals, briefs, messages and notes. It never writes pipeline, price or revenue. Every agent inherits that boundary.