Jin Oh · Full-stack developerContact

Index of drawings

Work

Five case studies with architecture, trade-offs and results — then everything else I’ve shipped.

Five systems. One developer.

Payments, real-time kitchens, map search over 100,000 listings, a general ledger that replaced QuickBooks, and hardware licensing nobody had documented. Each one designed, built and shipped by me.

  1. P-01 · Multi-tenant SaaS · Web + Android

    Eatro

    All-in-one restaurant SaaS — online ordering, payments, reservations and a kitchen tablet app.

    Postgres tables, all under RLS
    65
    schema migrations
    104
    Next.js 16React 19TypeScriptSupabase (Postgres, Auth, Realtime, Storage)Stripe ConnectExpo / React Native
    Read the case study →
    Eatro marketing site — “Run your restaurant on one platform”
  2. P-02 · Multi-tenant SaaS · Web + iOS/Android

    Velvet Studio

    Salon CRM and booking platform with SMS marketing, loyalty tiers, in-person payments and AI assistants.

    Supabase Edge Functions
    32
    schema migrations
    129
    React 19TypeScriptViteSupabase (Postgres, Auth, Realtime, Edge Functions)CapacitorExpo / React Native
    Read the case study →
    Velvet Studio website home page
  3. P-03 · Consumer platform · iOS + Android + Web

    Reoca

    AI-powered real-estate platform and professional network for Ontario — iOS, Android and web.

    active listings
    100,000+
    metadata records
    8M+
    FlutterDartReactTypeScriptPHP (WordPress REST)MySQL
    Read the case study →
    Reoca website home page with property search
  4. P-04 · Enterprise system · Web · Under NDA

    Wholesale ERP & Accounting

    Two generations of an order, logistics and double-entry accounting system for a wholesale food distributor.

    lines of code, two generations
    ~100k
    database tables
    ~65
    React 18ViteSupabase (Postgres, Auth, RLS, Edge Functions)PHPWordPress plugin architectureMySQL
    Read the case study →
    orderacceptshiprouteorderreserveapproveauto-postclosemigrateUSERSales repGen 2 portalAPPReact portalReact · ViteDBSupabase Postgres~42 tables · 47 RLS pol…SVCGeneral ledgerDouble-entry · period l…APPFinancial reportsP&L · BS · TB · AgingUSERB2B customerGen 1 shopUSERAdmin approvalChecklistEXTQuickBooks dataIIF · XLSXSVCWordPress ERPGen 1 · PHP · 36 REST r…SVCProcessing stationsWork ordersSVCRoutes & picklistsPer truck, per dayEXTGoogle Directions25-stop chunks
    Client under NDA — architecture only
  5. P-05 · Enterprise · In-house · 2018 — present

    Mircom Group of Companies

    Eight years as the in-house developer who takes enterprise systems from legacy to modern — licensing, web, data and AI.

    transfer success (from 65%)
    97%
    faster page loads
    32%
    .NET / C#Flutter WebMS-SQLReactNext.jsTypeScript
    Read the case study →
    requestRESTlicencelocalwritesame schemapipelinelog timesummariseUSERDealers & customersModern browsersAPPESD portalFlutter WebSVC.NET APIC#DBMS-SQLSchema preservedAPPNext.js appReact · TS · MUI · AWS…SVCWindows bridgeCustom C# appAPPCorporate WordPressCustom theme & pluginsEXTLegacy Joomla300,000+ recordsDEVICESecurity dongleWibuKey · CodeMeterUSEREngineers & execsMulti-officeAPPAI time trackerNext.js · SupabaseAILLMOpen WebUI
    Enterprise systems — architecture