Workspace + Commerce Platform

Garage:
AI across a workspace platform

A workspace and commerce platform — offices, meetings, webinars and a storefront. I built its AI layer: assistants, meeting intelligence and generative media.

Betty · Ask Cabinet · Note-taker3 LLM providers20–40% fewer input tokens
VIEW PRODUCT
Closed source
Commercial product — the AI features sit behind sign-in.

Architecture

No product screenshots — this is a backend system. The diagram below is the system itself.

AI surface across the workspace product

Figure 05 — AI surface across the workspace product.

Open full size ↗

Assistants

Betty and Ask Cabinet

BETTY — WORKPLACE ASSISTANT

Three tool schemas, one shape

OpenAI, Anthropic and Gemini tool-calling normalised to a single internal shape — one adapter per provider, because the three vendors disagree on schema shape and the assistant should not.

Reads real data

Time-tracking records and leave history, not a canned knowledge base.

Writes real records

Creates actual leave requests, which notify founders over Socket.IO.

ASK CABINET — QUESTION A FILE DIRECTLY

Gemini File API upload

The video or PDF is uploaded, polled until ready, then answered in one shot.

Recording transcription

Produces a timestamped transcript, a summary and action items.

Cached back onto the file

Results are written back to the file record and fired automatically on upload.

Meeting intelligence

The note-taker

CAPTURE

Hidden subscribe-only bot

Joins the LiveKit room without publishing, so it never appears as a participant with media.

One socket per participant

A dedicated Deepgram nova-2 socket per participant, giving attribution without a diarization model.

Incremental persistence

Transcript segments are persisted as they arrive, so a crash can rehydrate rather than lose the meeting.

Resolved-participant email

Distribution goes out by email to the resolved participant list.

ADAPTIVE SUMMARIZATION

Single-pass under budget

One gpt-4o pass when the transcript fits a 15,000-token budget.

Map-reduce above it

Speaker-boundary chunks through gpt-4o-mini, merged by gpt-4o.

Per-chunk success floor

The merge only proceeds when enough chunks succeeded, rather than silently summarising a hole.

The pipeline picks its own shape from the transcript length rather than always paying for map-reduce.

TRANSCRIPT PREPROCESSING AS A COST LEVER

Filler-word set

A known filler set is stripped before the transcript reaches the model.

Disfluency collapsing

Repeated disfluencies are collapsed rather than repeated verbatim.

Same-speaker merging

Consecutive turns from one speaker are merged into a single block.

20–40% fewer input tokens

The cut lands before inference, so it is a cost lever rather than a quality trade.

GENERATIVE MEDIA

AI ad video

Product image to a rendered short-form reel; vision analysis feeds script generation behind a swappable provider interface.

Simulated audience

Proposes plausible attendees and a timed chat script, so a webinar can be rehearsed against an audience.

Schema re-validation

Generated output is treated as untrusted: re-validated against a schema, with messages truncated before render.

Roster attribution guard

Any chat line attributed to a name outside the generated roster is dropped rather than displayed.

PER-ORG ENCRYPTED KEY VAULT

Bring your own key

Organisations store their own AI provider keys, encrypted at rest.

Graceful fallback

A stored key that is expired or out of quota falls back to the platform key.

Reported provenance

The response reports which key was actually used, so the fallback is never silent.

TECHNICAL ARCHITECTURE

backend

  • Node + TypeScript

    Express API surface

  • MongoDB

    Primary datastore

  • BullMQ on Redis

    Async media and AI jobs

realtime

  • LiveKit + mediasoup

    Meetings, webinars and the note-taker bot

  • Socket.IO

    Live notifications and assistant events

  • Deepgram nova-2

    One socket per meeting participant

ai

  • OpenAI

    gpt-4o and gpt-4o-mini summarization

  • Anthropic + Gemini

    Normalised into one tool-calling shape

  • Per-org key vault

    Encrypted provider keys with platform fallback