Full-stack software engineer building web, mobile and developer tooling, and contributing to open source.
Website · X · LinkedIn · Email
I build web apps with React and Next.js, mobile apps with React Native, and the Node.js / TypeScript services and APIs behind them, increasingly with agentic AI workflows. I also maintain small, well-tested open-source tools: a fake-data library and an AWS CLI published on npm, and a Chrome extension on the Web Store. When something breaks in a library I depend on, I send the fix upstream.
ForgeData: a zero-dependency, tree-shakable fake-data generator for TypeScript and JavaScript, built as a modern alternative to Faker.js. It ships 100+ generators across 16 modules, 9 locales, seedable output for deterministic tests, Zod-schema generation, React hooks and a CLI.
TypeScript · ESM + CJS · Vitest · Docs · npm
aws-ec2-check: a CLI that checks EC2 instance health, status checks and metadata from the terminal, so you don't have to open the AWS Console. It has filterable instance tables, --json output and clear exit codes for CI, and a documented least-privilege IAM policy.
TypeScript · AWS SDK v3 · Node.js · npm
ALLtvLive: a web app for watching 10,000+ free live TV channels in one place, with HLS playback, fuzzy search, country detection, filters by country, category and language, and favorites.
Next.js · TypeScript · Tailwind CSS · HLS.js · Live
LeadSnipe: a Chrome extension that extracts emails from any webpage, separates business from personal addresses, and exports to CSV or TXT. All processing happens locally in the browser.
JavaScript · Chrome Extension (Manifest V3) · Chrome Web Store · Website
Meet Attendance Tracker: a Chrome extension that takes Google Meet attendance automatically, with join and leave times, speaking time, class rosters (present, late or absent), analytics and CSV, Excel or PDF reports. Everything stays on the user's device.
JavaScript · Chrome Extension (Manifest V3) · Playwright · GitHub Actions · Website
easy-quick-form: a full-stack form builder with a drag-and-drop editor, response tracking, and JWT authentication with refresh-token rotation and reuse detection.
React · Express · MongoDB · TypeScript · Vitest · Live
- PapaParse (13k+ stars): fixed a crash in
Papa.unparseon null or undefined single-cell rows whenskipEmptyLinesis set. #1164, merged. - Tabularis (5k+ stars): made column masking and grid interaction settings persist across sessions. #911, merged.
- AlaSQL (7k+ stars): fixed
WITHqueries (CTEs) that read from an async source such asCSV(), which previously threw an uncaught error. #2571, merged. - Style Dictionary (4.8k+ stars): stopped
outputReferencesfrom raising false warnings for tokens removed by a filter, by sorting the filtered set while resolving references from the full set. #1763, merged.
Languages: TypeScript, JavaScript, Python
Backend: Node.js, Express, MongoDB, Redis, PostgreSQL, REST, WebSockets
Frontend: React, Next.js, Tailwind CSS
Mobile: React Native, Expo
Infra: AWS (EC2, S3), Docker, GitHub Actions, Vercel, Netlify
AI and agentic workflows: Claude Code, OpenAI Codex / ChatGPT, Google Antigravity, OpenCode
Open to freelance and full-time roles. The fastest way to reach me is email.




