Portfolio
The homepage shows the highlights. Everything is here: client work, side projects, and open source, in detail.
Client work
Tarkalabs
Principal Consultant · Jul 2014 – present
Leading software development projects and managing engineering teams; driving digital transformation through microservices adoption; mentoring junior engineers. Clients include:
- TuneCore (music distribution)
- Aisle (dating)
- Moove Network (employee mobility)
- JiffleNow (B2B meetings)
- Gaea Global (supply-chain software)
- Songistry (music licensing)
- DMG Pro (media)
- Klstr
- Data Cloud
- 10i Services
- Modus Go
- Duplii
ActiveSphere
Senior Application Developer · Apr 2012 – Jun 2014
Designed and implemented scalable applications; collaborated with stakeholders on scope and requirements; transitioned legacy systems to cloud-based solutions. Clients: Pulse Energy, Bounty Me, Live Network.
Dharana Software
Senior Developer · Feb 2010 – Mar 2012
Designed and implemented scalable applications for healthcare platforms: PHR (Apollo Prism) and Health Highway.
SAP Labs India
Software Engineer · Apr 2008 – Feb 2010
Collaborated in a dynamic team building a UI framework for business intelligence applications.
IBM India
Application Programmer · Aug 2006 – Apr 2008
Started my career as a Java developer, building and maintaining several in-house products.
Side projects
stromalytics
Prototype
AI-powered swimming technique analysis: upload a video of a swim, get biomechanics metrics and a personalised coaching report with drill recommendations. Pose estimation with RTMPose, coaching reports with Claude.
kridha pratiyogita
Prototype
A multi-tenant sports management platform for organizations, teams, and tournaments, built in Rust with Leptos and PostgreSQL. The name means "sports competition" in Sanskrit.
share-a-canvas
Prototype
Create and share business canvases to pitch startup ideas. The canvas that used to live on a whiteboard, made shareable. Rust backend, React frontend.
cubeschool
Prototype
A speed-cubing school: beginner layer-by-layer courses with an embedded algorithm player and validated practice. More than a decade with the cube, productized.
cursed-timer
Prototype
A console Rubik's cube timer in Rust, for speed cubers who live in the terminal: a timer that lives there too.
Open source
Editors & agentic tooling
- lattice ★ 5 A modal, GPU-accelerated, plugin-first text editor in Rust, built with coding agents at scale.
- ruby-upgrade-toolkit ★ 12 A Claude Code plugin for upgrading Ruby projects safely.
- org-fractional-cto ★ 1 Run fractional-CTO engagements out of Org mode.
- engineering-knowledge-framework ★ 4 AI-native engineering knowledge systems.
Vim plugins
- vim-table-mode ★ 2245 Instant table creation in Vim, maintained since 2013.
- vim-dotoo ★ 567 Org-mode task logging and time tracking for Vim.
- vim-prosession ★ 263 Handle Vim sessions like a pro.
- vim-zoom ★ 247 Zoom in and out of individual windows.
- vim-open-url ★ 63 Open URLs from within Vim.
- vim-marp ★ 30 Presentations from within Vim.
- vim-markify ★ 28 Mark quickfix results with signs.
- vim-buffer-history ★ 26 Per-window buffer jump history.
- vim-pairify ★ 25 Non-intrusive pair handling.
Rust & systems
- url-mapper-rs ★ 19 A URL mapper service in Rust.
- cursed-timer ★ 7 A console Rubik's cube timer in Rust.
- rpicctv ★ 4 Raspberry Pi pan-tilt CCTV over a JSON API, in Go.
- httpcron ★ 4 Cron with an HTTP API, in Go.
Ruby & the web
- soulmate_rails ★ 13 Redis-backed Rails autocomplete.
- react-native-image-draw ★ 6 Image drawing for React Native.
- Ninjawords-Lookup ★ 3 A Chrome extension for quick dictionary lookups.
- webrtc-broadcast ★ 2 WebRTC broadcasting in Elixir.
- dotfiles ★ 62 The single dot that has it all.
More at github.com/dhruvasagar.