I ❤️ Drizzle
SQL is amazing but writing a SQL without guardrails is not the best experience. This is what I learned when I started working on a hobby project with....
FULLSTACK & MOBILE ENGINEER
I BUILD WEB, MOBILE AND DEV TOOLS WITH NEW TECH
ENGINEER FROM COLOMBO, SRI LANKA. STARTED WITH GAME DEVELOPMENT, FELL IN LOVE WITH SOFTWARE. NOW I BUILD WEB APPS, MOBILE APPS AND DEVELOPER TOOLS.
AI-FIRST SINCE CURSOR'S FIRST CODE COMPLETIONS. NOW I BUILD WITH CODING AGENTS LIKE CLAUDE CODE AND CODEX, AND WRITE MCP SERVERS FOR THEM. USUALLY FIRST IN LINE FOR NEW TECH.

FREELANCE ENGINEER
MOBILE ENGINEER (REACT NATIVE & FLUTTER)
SENIOR SOFTWARE ENGINEER
JUNIOR ENGINEER
SOME NEAT STUFF
TYPE-SAFE PAGINATION FOR DRIZZLE ORM
const await paginatedQuery result = ({
table: users,
page: 1,
limit: 10
});EXPO GO FOR FLUTTER
Hot-reload a Flutter app on an Android phone anywhere on the internet, with app state intact and no USB, adb, shared Wi-Fi or VPN. The phone dials out to a Cloudflare Worker relay, then Dart VM Service traffic runs over a direct WebRTC data channel. Hot reload takes 1.6 s over the internet. Ships a CLI, a player APK, and an MCP server so coding agents can drive sessions.
CRYPTO PRICE ALARMS THAT WAKE YOUR PHONE
Sounds a full-screen alarm when a token crosses the market cap you set, even when the app is closed, using native alarm code on iOS (AlarmKit) and Android. I built the mobile app, the website and the web app, with groups, invite links, CI releases to TestFlight and Google Play, and over-the-air updates.
STREAMING PLATFORM FOR INDEPENDENT FILMS
Client work through Codeforge Labs. Viewer, filmmaker and admin web apps, an Expo mobile app and a Hono API on Cloudflare Workers. I built the video pipeline: resumable uploads to R2, queue-driven FFmpeg encoding to HLS, and playback gated by subscription. Lead contributor on a three-person team.
ISSUE TRACKING FOR TEAMS THAT FIND JIRA TOO HEAVY
Codeforge Labs' own product. A board, list, sprints, wiki and comments that all update live. Coding agents can read and update issues through its MCP server, and you can hand an issue straight to an agent. Lead contributor on a three-person team.
MULTIPLAYER PIRATE GAME IN THE BROWSER
Up to four captains sail one sea: take contracts, hunt bounties, dig up buried treasure and fight Spanish forts. Rendered with WebGL2. Each crew's world runs in its own Durable Object on Cloudflare.
MCP SERVER FOR REACT NATIVE UPGRADES
Model Context Protocol server that helps with React Native version upgrades by providing structured upgrade guidance and compatibility checks.
GOT A COOL PROJECT IN MIND?
NEED A TALENTED ENGINEER?
MY INBOX IS ALWAYS OPEN