Full-Stack Developer (Solo) · 2025–Present
PrivateSpine — Property & Business SaaS
Multi-tenant property and business management SaaS — 5 Next.js apps (mall, farm, biz, super-dashboard, tenant portal) in a Turborepo monorepo with AI chat, PDF reporting, and tenant-isolated data.
Private
Spine — Property & Business SaaS
Problem
Property and business operators (malls, farms, and multi-location businesses) need tenant-isolated dashboards, reporting, and AI assistance without standing up separate infrastructure per client.
Approach
Built a multi-tenant SaaS as 5 Next.js apps (mall, farm, biz, super-dashboard, and tenant portal) in a Turborepo monorepo, with Supabase row-level security isolating each tenant's data.
Tech highlights
Turborepo + npm workspaces across 5 Next.js 14 apps; Supabase RLS for tenant isolation; Deno Edge Functions and pg_cron for scheduled automation (invoicing, rent reminders, penalties, lease expiry); a Mistral tool-calling assistant over live mall data with role-scoped tools, user confirmation and server-side re-authorisation for write actions, and AI_ACTION audit logging; payments recorded through an atomic, idempotent Postgres RPC; @react-pdf/renderer for report generation; Apache Superset for analytics dashboards.
Results
Running across multiple internal apps in active development — full write-up and demo coming soon.
Challenges
Enforcing strict tenant isolation across 5 apps sharing one Supabase instance — getting row-level security policies right so no query could ever leak data between tenants — while keeping shared Turborepo packages, types, and Supabase migrations in sync so a change in one app didn't silently break the others.