Portfolio
Flagship Project · Freelance · Nevioz

Flowcraft — Full System Breakdown

A complete Business OS — Airtable + Jira + Zapier in one platform. I owned 100% of this project: architecture, backend, frontend, infrastructure, DevOps, and deployment. No team. Every technical decision was mine.

What I Built

100% solo. Every layer.

  • System architecture design — multi-tenant, hybrid EAV, RBAC
  • Two AdonisJS v6 servers: auth server (port 3333) + app server (port 3334), separate PM2 processes, separate BullMQ workers
  • Complete React + TypeScript frontend — 40+ pages and views
  • AWS infrastructure — S3, Lambda, STS AssumeRole, EC2, CloudFront SPA (custom error pages for 403/404 → 200)
  • Database schema design — PostgreSQL, all migrations, pg_trgm extension + GIN indexes
  • Redis + BullMQ queue system — 6 named queues (default, low, medium, high, imports_queue, exports_queue)
  • Google Workspace OAuth app + Microsoft Entra OAuth app (separate registrations for login vs org sync)
  • Rate limiting system — Redis sliding window, DB-driven config, cache invalidation endpoint, abuse tracking + Slack alerts
  • MCP server — Streamable HTTP, JSON-RPC 2.0, 6 tools
  • Transactional email system — Edge templates, welcome, invite, workspace sync emails via BullMQ jobs
  • Lambda XLSX export function — Node.js, STS temp credentials, S3 read/write

Feature Deep-Dives

System Design

Browser
CloudFront (CDN)
SPA delivery
React SPA
Auth Server
AdonisJS · :3333 · login/OAuth
App Server
AdonisJS · :3334 · x-org-id header
PostgreSQL
data
Redis
rate limits + cache
BullMQ Workers
job dispatch
AWS STS
AssumeRole
Slack
abuse alerts
AWS Lambda
temp credentials → XLSX export
AWS S3
read source, write XLSX
SMTP
emails
Google APIs
workspace sync
Microsoft Graph
entra sync
User-facingAWS3rd party / infra

Stack

Backend
AdonisJS v6PostgreSQLRedisBullMQ
Frontend
ReactTypeScript
Infrastructure
AWS S3AWS LambdaAWS STSEC2CloudFrontPM2
Platform
Rate LimitingRBACMulti-tenantMCP

See it running in production.