Skip to content
ls -la products/

Products

// product_manifesto Things I ship and maintain myself: real architecture, real UX tradeoffs, releases that do not fall apart on Friday night.

Gealo // operations console

Multi-tenant workforce and project operations console. Tenants own billing. Projects (workspaces) own the work.

Nuxt 3 on the front, NestJS API behind it. Postgres + Mongo + Redis + S3 in the data plane. Multi-tenant from the first migration. Live at gealo.app and platform.gealo.app.

Nuxt 3NestJSPostgresMongoRedisMulti-tenant
open gealo/

tradestats // trading journal + analytics

Position sizing before the trade, an honest record after it. Per-account isolation enforced in Postgres, not in the interface.

React 19 and Vite on the front, Supabase (Postgres, Auth, Storage, Realtime) behind it. Row-level security scopes every table to the account that owns it, and the analytics RPCs run as the caller so the policies apply to aggregates too. Live at tradestats.online.

React 19ViteSupabasePostgres RLSGoogle OAuthRecharts
open tradestats/
ALSO_SHIPPING--count=1
total_items: 3[status: shipped]