scroll to dive into the system · drag to look around · tap a planet

Toronto, ON · Full-Stack Software Engineer

I ship complete, reliable systems end-to-end — web, desktop & AI.

From database migration to CI/CD release to a live UI. Production JavaScript / TypeScript, React, Node.js, Python & Rust — with the test discipline and observe-before-fix habits that keep real systems running.

  • 15apps & services at Tacel
  • 90tagged releases on my flagship
  • 479automated tests
  • 3languages at production depth

Experience

The short version — the full platform tour lives on Jupiter.

Full-Stack Developer

Tacel · Toronto, ON

2024 — Present

Primary developer of the company's internal software estate — 15+ apps and services: 14 production Electron/React desktop apps descending from a shared template I designed, a next-gen Tauri 2 + Rust rebuild, two Next.js sites, and the Python/Node services underneath.

Desktop suite — platform architecture

One shared Electron template → 14 production apps, each inheriting JWT auth, cross-app chat, scheduling, Socket.IO realtime, and self-updating installers for free.

RMA operations platform

The full returns lifecycle across three coordinated apps — approvals, repair costing, credits, audit logging. The shipping app alone spans ~200 IPC channels.

Sage 300 ERP sync — Python ETL

A self-healing hourly ETL mirroring ~50 ERP tables in 2–10 minutes via per-row MD5 hash diffs and 8 parallel workers.

CI/CD on a $0 budget

GitHub Actions on self-hosted runners across 12 repos — coverage ratchet, Playwright E2E, AST-enforced test gates, Semgrep rules.

Featured projects

The headliners — the full hangar is on Mars.

Flagship · solo build

Job Application Tracker

A local-first platform for tracking and managing job applications — a Chrome MV3 extension paired with an Electron desktop “brain.” Captures every application as you apply across LinkedIn / Indeed / ATS sites, then keeps statuses truthful by syncing and classifying your inbox: interviews, assessments, offers, and rejections update themselves.

  • ~32K LOC production JS: token-guarded REST + SSE server, SQLite with 13 forward migrations.
  • Email-intelligence pipeline (Gmail/IMAP sync + LLM classification) with evidence-quorum truth gating.
  • 5-provider LLM chain (Anthropic, OpenAI, Ollama, Codex CLI, deterministic fallback) with local↔cloud routing.
  • 479-case suite + a DOM-replay harness with 36 real-page fixtures, gated by GitHub Actions CI. Private codebase.
Chrome MV3ElectronNode.jsSQLiteLLMCI/CD
LDT · my own company

TEMPO — attendance kiosk

A local-first touchscreen time-clock built and deployed under LDT, my company — a self-contained Rust binary running a kiosk on a Raspberry Pi, in production at a manufacturing company.

  • Rust (Axum) + SQLite; React + TypeScript UI served as static files by the binary — no Node at runtime.
  • Serial barcode scanning, Chromium kiosk shell, offline-first, management console + reporting.
RustAxumSQLiteRaspberry PiReact
Live client · revenue-facing

AYHAN’S Barbershop

Production client site with a self-serve admin console and a complete handoff package.

  • Astro 6 + React islands; Supabase Postgres (~20 tables) with Row-Level Security.
  • Edge Functions + 3 pg_cron jobs; SerpAPI reviews; Twilio SMS confirmations; 16 Vitest tests.
AstroReactSupabaseTwilio
Systems · native desktop

Nexus

Native Windows control-center in Rust + Tauri — typed IPC commands to a Svelte frontend.

  • ~29.6K LOC across 18 backend modules; embedded Monaco editor + xterm.js terminal.
  • OS-level process management and live CPU / RAM / GPU telemetry.
RustTauri 2SvelteIPC

Or take the scenic route

Keep scrolling — a guided flight past every world, Mercury to Neptune.