Thittam logo
Product In Progress

Thittam

A multi-tenant SaaS platform for production management — one codebase, many verticals. Film productions, construction projects, software delivery, live events — all from a single declarative YAML vertical config.

GogRPCPostgreSQLNATS JetStreamRedisMulti-tenantSaaSNext.js

What is Thittam?

Thittam (திட்டம்) is Tamil for “plan” — and the name carries the intent precisely. It is a multi-tenant SaaS platform for production management: one codebase that adapts to any industry through a declarative vertical plugin system.

Film productions, construction firms, software teams, live event companies — each gets an instance of Thittam that speaks their domain’s language: their entity names, their phase graphs, their budget categories, their workflows. No separate codebases. No forks. One system, many verticals.

The Vertical Plugin System

The engineering differentiator in Thittam is the vertical config. Each tenant’s industry is captured in a YAML file. Services read this config at request time and adapt accordingly — the same API endpoint behaves differently for a film production tenant versus a construction firm, because the vertical tells it how.

This means adding a new industry vertical is a configuration change, not a code change.

Architecture

Nine Go microservices communicating synchronously over gRPC and asynchronously over NATS JetStream, fronted by Kong API Gateway for REST/JSON consumers.

ServiceRole
project-managementProductions, phases, crew, schedules
budget-planningBudget versions, line items, approvals
expense-trackingPOs, receipts, petty cash
general-ledgerDouble-entry accounting
inventory-managementEquipment, props, locations
reporting-analyticsCross-service reports (read-only)
iamIdentity, auth, RBAC, tenancy
notificationsEmail, SMS, push, in-app
documentFile storage, versioning, e-signatures

Persistence: PostgreSQL with tenant-per-schema isolation — each tenant’s tables live in a dedicated tenant_<uuid> schema. Redis for caching and rate limiting. MinIO for object storage.

Frontend: Next.js application at port 3100, adapting its UI to the active tenant’s vertical configuration.

Multi-tenancy Model

Data isolation is tenant-per-schema: SET search_path on the pooled connection routes each request to the correct tenant schema. No cross-tenant data leakage by design.

The full model — vertical plugin system, per-vertical UI adaptation, runbook for adding new tenants — is documented in the companion docs repository.

Status

Active development. Two demo verticals are seeded: XYZ_CBA Productions (film, INR) and XYZ Construction LLC (construction, USD). Core services are implemented; work is ongoing on reporting, document e-signatures, and the billing service.

See it

The dashboard demo is a read-only snapshot of the film vertical — XYZ_CBA Productions — covering the login, the productions list and a production’s detail, and the budgets list and a budget’s detail. Five pages, not the whole product: the other services expose no REST surface for a static export to record against.

Every value in it is recorded from a seeded local stack, not a live installation, and nothing can be saved. Sign in with the credentials the page shows.

Documentation

Architecture docs, ADRs, and API specifications live in the Thittam Docs repository — including 11 standard architecture diagrams maintained alongside the codebase.