Skip to content
All projects

Optiva Solutions

A multi-tenant SaaS that automates the back office of small Australian businesses: quotes, invoicing, appointments, follow-ups. AI agents do the work; the client only ever sees a dashboard.

AI agent
In progress
2026
6 mois
  • FastAPI
  • Next.js
  • PostgreSQL
  • Redis
  • n8n
  • API Anthropic
  • Docker
  • pgvector
  • TypeScript
Optiva Solutions

A small business spends its days chasing invoices, answering emails, booking appointments and filing documents. Optiva does that work for them and leaves them a dashboard: the client never touches the machinery.

The architecture

A Next.js dashboard talks to a FastAPI backend, which pushes jobs onto a Redis queue consumed by a self-hosted n8n running in queue mode. The agents use Anthropic's API to extract, classify and draft. Anything involving money, Australian GST or payroll stays deterministic: a mistake there is settled with the tax office, not with a bad answer.

Tenant isolation

One database for every business, with a tenant column and PostgreSQL row level security on every table. The application role is not allowed to bypass those rules: one client's query cannot read another's rows, even when the code gets it wrong.

Credentials for connected accounts — Gmail, Outlook, Xero, MYOB, QuickBooks — are encrypted at rest. Two-factor authentication, rotating refresh tokens, per-company API keys, an audit trail: this is where my cybersecurity training earns its keep every day.

Scale

About a hundred migrations, some fifty API modules, 547 tests, a Docker Compose deployment behind Nginx on a server in Sydney. By far the largest project I have run, and the one that taught me the most about what breaks when several businesses share one database.

Gallery

  • Accounting
  • Inbox