~ › gokul › projects
projects.gokulrajendiran.dev

Things I've built.

Platform internals at Zoho CRM by day; tooling that lets AI agents work inside real codebases and real browsers the rest of the time. Full write-ups live on gokulrajendiran.dev.

AI Browser + claude-web-bridge

typescript

A dual-engine browser for AI agents — Lightpanda for speed, Chromium over CDP for fidelity — plus a Manifest V3 extension that lets Claude drive the user's own logged-in browser.

  • Two engines behind one API; the agent never cares which is underneath.
  • Click-by-text, shadow-DOM-aware fills, drag-and-drop, a11y-tree snapshots, network-idle waits.
  • Bridge extension drives real sessions via chrome.debugger.
typescript · lightpanda · cdp · mv3 write-up →

Zoho CRM Core Platform

java · day job

The metadata and query internals of Zoho CRM — a 17,000-class multi-tenant SaaS. I work on the crmmeta query engine and module customization.

  • crmmeta query engine — module and field definitions to SQL, tenant-isolated.
  • In-house ORM + DS Query DSL used across 5,000+ files.
  • Multi-tier caching and query tuning that cut key response times by up to 30%.
java · struts2 / spring · postgresql · redis · kafka write-up →

Product Management App

java · mvc

The internship project (Mar–Jun 2022): learned Zoho's internal client framework cold and shipped a complete product management app — recommendations, ratings, and quoting included.

  • Recommendation module ranking products by ratings and price.
  • Ratings feedback loop that improves the catalog with use.
  • Quote generation with profile-based dynamic discounts.
java · mvc · internal client framework write-up →

Earlier Work

hackathons · college

Hackathon and college projects from before the day job.

  • Stock Market Prediction — LSTM forecasting at Smart India Hackathon, 90% accuracy.
  • Grab Scrap — circular-economy scrap exchange, IBM WIT Hackathon.
  • Online Land Registration, Research Paper Repository, Lambs and Tiger.
python · tensorflow · django · jsp · node.js write-up →