Full-stack engineer turned company builder.
Most of my work lives in private repos, but here's the gist:
| Domain | Stack |
|---|---|
| SERVERLESS SAAS | TypeScript Next.js Drizzle ORM Stripe Edge SQL Serverless Workers |
| KUBERNETES PLATFORM | k3s Helm Helmfile GitOps Docker Shell |
| BROWSER EXTENSIONS | TypeScript Chrome MV3 Firefox Vite esbuild Content Scripts |
| DEVOPS & TOOLING | GitHub Actions Docker Python Kubernetes Shell YAML |
| AUTOMATION & AI | TypeScript Python Claude API SQLite Docker Telegram |
| PERSONAL PROJECTS | TypeScript Edge SQL Drizzle ORM Cron Jobs REST APIs |
| SECURITY | Rust TOML OSV Format Advisories cargo-audit |
- Full-stack SaaS products on serverless edge - Three private commercial platforms — automotive fleet management with real-time vehicle tracking and Stripe payments, a Romanian business-registration SaaS in a Turborepo monorepo, and the ITGuys corporate website with 6-locale i18n and Claude-powered blog automation — all built on Next.js 16, Drizzle ORM, and Edge SQL databases.
- Self-hosted k3s homelab infrastructure - Helmfile-managed k3s cluster running Nextcloud, Ollama LLM inference with NVIDIA GPU passthrough serving Qwen MoE models, and Vaultwarden with nightly age-encrypted backups pushed to a private git repo — all bootstrapped from versioned shell scripts, raw Kubernetes manifests, and pinned Helm releases.
- Six TypeScript MV3 browser extensions - Full extension ecosystem covering productivity and privacy: chrome-group-discard pauses tab groups by discarding and restoring media position and form state; series-auto-skip auto-clicks skip intro/credits on Netflix and Plex; discord-purge and uninsta bulk-delete DMs on Discord and Instagram; filelist-ext tracks TV series torrents with desktop notifications; filelist-seed-purge automates qBittorrent cleanup against seed-ratio thresholds.
- Reusable CI/CD workflows and deployment tooling - shared-workflows provides one-source-of-truth reusable GitHub Actions for Node/Python testing, browser-extension publishing, and Kubernetes and serverless deploys across all repos; paired with internal deployment configs for a LibreOffice WASM PDF service on serverless workers and a vanilla-JS internal app-directory site.
- Activity tracking, bots, and AI-assisted automation - social-update collects daily events from GitHub, Obsidian, and Claude Code sessions into SQLite and drafts LinkedIn posts via Claude Opus running in-cluster; device-activity-telegram-bot (Python) monitors device login/unlock events and sends Telegram alerts with a remote /halt shutdown command; and a personal Obsidian vault maintained by a Claude Code vault-keeper pipeline.
- Personal finance tracker and gaming ROI tools - A single-user monthly investment tracker with time-weighted return calculations, automated 30-minute balance syncs from multiple brokers, and 10-year forecasts; plus gw2roi — a Guild Wars 2 crafting ROI analyzer that fetches market data hourly, ranks top items by profit, and serves results on a public board.
- Open-source Rust crate security advisory database - advisory-db maintains 900+ TOML security advisories for Rust crates published on crates.io, exported to OSV format for osv.dev integration and consumed downstream by cargo-audit, cargo-deny, trivy, and GitHub Dependabot.
📡 Currently exploring self-hosted LLM serving on k3s (Ollama + Qwen MoE with GPU passthrough) while weaving Claude API automation into web apps and personal scripts




