AI ProductsCase study

CloseLoom: AI-Native CRM for Indonesian B2B

Delivered scope

Multi-tenant foundation in place: continuously tested RLS isolation, two foundation stories done, the rest a documented backlog

Conceptual artwork. Not a photograph or screenshot of the client's system.
Client
Agentive Labs product
Category
AI Products
Location
Indonesia
Completed
June 13, 2026

The problem

Indonesian B2B startups run lean teams that cannot be on customer chat around the clock. CloseLoom, our own product still in build, answers with a Command Center: instead of an endless inbox, the operator sees AI-drafted action cards, with graduated autonomy the operator controls: fully manual, AI-assisted, or fully autonomous during off-hours and vacation.

What we are building

A pnpm monorepo with two applications and one shared package:

  • apps/web, Next.js 16 App Router with an RSC-first design, where API Route Handlers serve as the backend with no separate service.
  • apps/widget, a Vite + Preact embeddable widget installed on the customer’s site.
  • packages/shared, shared Zod schemas and interfaces (LLMProvider, ChannelAdapter) that make models and channels swappable.
  • Supabase Postgres 17 in the Singapore region with pgvector for the knowledge base, and Inngest for background jobs. Per-workspace customer API keys live in Supabase Vault, never in env files.

Engineering decisions

Tenant isolation at the database level. Every tenant table is guarded by Row Level Security gated on is_workspace_member(workspace_id). The RLS-aware Drizzle client injects JWT claims per transaction, and the isolation is continuously verified by its own test suite rather than checked occasionally.

Two database clients, two purposes. One RLS-aware pool for Route Handlers and RSC; one service-role pool used only by Inngest functions, where every helper demands an explicit workspaceId. There is no implicit tenant context that could leak.

Specification before code. The project runs on the BMAD workflow: a PRD, architecture document, epics, and one story file per unit of work, with a debt register (deferred-work.md) recording what was deliberately deferred. The pre-commit gate (type check, format, lint, related tests) and CI repeat the same gate on every PR.

Status

As of June 2026, CloseLoom is pre-launch and says so plainly. Of nine epics, only the foundation is underway: stories 1.1 and 1.2 are done, the rest sit as a backlog with a sprint status anyone can audit. We present it as a case study in discipline and architecture, not as a shipped product.

From this study to your project

Does your team face a similar problem?

Tell us about the workflow and its constraints. We start with a scope we can describe and verify.

Next case study

Document Processing Agent for Logistics Operations