Projects

Things I build — for myself, for work, and for fun.

Accessibility

  • September A communication assistant for people with ALS, MND, or other speech and motor difficulties. Smart text editor, voice cloning, real-time transcription. Read more →
  • macOS On-Screen Keyboard A custom on-screen keyboard for macOS with typing, voice, notes, and stories — all in one place.

Developer Tools

  • Piper A native macOS notes panel that sits beside the app you work in. Captures copied text into local notes, browses a Markdown wiki, and sends notes to Claude Code. Read more →
  • XDB Think in tuples. Storage is a detail. Model your domain once and use it with any database. Read more →
  • xdb.js The browser edition of XDB. Typed collections over a tuple store, with live queries and sync to a server.
  • pi-go Provider-agnostic AI SDK for Go. Unified interface for building AI agents across LLM providers.
  • Chitragupt Go CLI that converts CLI agent session logs into shareable transcripts.
  • peanut A small task runner for Go. Every unit of work has a name, every composition is another unit of work, and one middleware reaches everything.
  • indexeddb-collection IndexedDB-backed collections for TanStack DB with cross-tab synchronization.
  • dctl Docker Compose compatible CLI for Apple containers.

At Gojek

  • XTools Reusable Go libraries used across Gojek engineering teams.
  • xkafka HTTP-like abstractions for Apache Kafka in Go. Simplifies producing and consuming with familiar handler and middleware patterns. Read more →
  • xapi Type-safe HTTP APIs in Go, middleware-friendly, built on standard library patterns. Read more →

Fun Stuff

  • Reader Do you remember Google Reader?
  • Life in Weeks A visualization of life events, career, and experiences over time.