CloseLoom: AI-Native CRM for Indonesian B2B
Multi-tenant foundation in place: continuously tested RLS isolation, two foundation stories done, the rest a documented backlog

- Agentive Labs product
- AI Products
- Indonesia
- 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.
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.


