Arjun.
Product engineer who ships across the stack. Five years building React and TypeScript web apps, most recently a platform migration at Qilin Labs that made the product much faster and the codebase easier to maintain. Lately I build Android apps in Kotlin and Compose, and developer tools like a local Figma MCP server with its own pixel-level verification oracle. I also maintain @astra-ui-lib/core on npm.
A production-grade React component library with CVA-powered variants, polymorphic components, and accessibility-tested primitives. Automated semver and npm publish via Changesets + GitHub Actions. Tree-shakeable ESM/CJS output with jest-axe a11y tests.
- CVA-powered variant system for type-safe component APIs
- Polymorphic components with full TypeScript inference
- jest-axe accessibility tests in CI
- Automated versioning and npm publish via Changesets + GitHub Actions
Decoded the proprietary BLE protocol of my Gixxer SF 150's instrument cluster from scratch (GATT walk on the live bike, decompilation, runtime hooking), then built REDLINE, a Kotlin/Jetpack Compose Android app that pushes Google Maps navigation to the cluster with live telemetry and ride analytics. 14k LOC, 205 tests, fully on-device.
- Decoded all 7 BLE frame types from live captures + decompiled source
- Google Maps → cluster navigation, replacing the stock app
- Live telemetry dashboard, ride analytics, GPX/CSV export
- Evidence-based RE: every hypothesis verified, wrong turns logged
A local Figma MCP server I built that gives an AI coding agent full-fidelity read access to a live Figma file, plus verify_node, an oracle that renders the agent's generated code in headless Chromium and pixel-diffs it against the real design, turning “looks right” into a pass/fail gate. ~15k LOC TypeScript across a 4-package monorepo; 35 MCP tools; fully local.
- 35 MCP tools: design IR, tokens, components, screenshots, coverage
- verify_node: render + pixel / SSIM / a11y diff vs the live Figma node
- Local SQLite + FTS5 cache with delta-sync (sub-50ms search)
- Browser Figma via a plugin↔WebSocket bridge, no Desktop, no cloud API

A multi-tenant library management platform that handles book catalogs, circulation tracking, automated fines, reports, and bulk import. Built with Go, React, and PostgreSQL, designed to work for any library, from school collections to public archives.
- Smart book catalog with full-text search and ISBN lookup
- Circulation tracking with barcode scanning and overdue alerts
- Automated fine calculation with configurable rules
- Multi-tenant architecture with row-level security

A freeform drawing and whiteboard tool combining Rough.js hand-drawn aesthetics with perfect-freehand pressure-sensitive strokes. Supports shapes, freehand, eraser, undo/redo, and export to PNG.
- Hand-drawn style shapes via Rough.js rendering
- Pressure-sensitive freehand with perfect-freehand
- Full undo/redo history stack
- Export canvas to PNG for sharing

An analytics dashboard built with Next.js and Mantine UI featuring interactive Recharts visualizations, NextAuth-powered authentication, and multiple dashboard layout variants for different data views.
- Interactive charts and data visualizations with Recharts
- Multiple dashboard layout variants
- NextAuth authentication with role-based access
- Server-side rendering for fast initial loads
A detailed walkthrough of incrementally migrating a production React app from Create React App to Next.js 14, achieving 60% faster load times and Lighthouse scores above 90.
I build single-page applications for a living. My own portfolio is plain HTML. Here's why that's not a contradiction, and why most websites shouldn't be SPAs.
Performance audit and frontend rework of TradersConnect. Lighthouse from 67 to 100, GTmetrix from C to A, fully loaded time from 3.3s to 1.0s. Zero frameworks.
AI is a multiplier, not a replacement. A practical workflow for getting speed from AI tools without sacrificing code quality.