Intensity Labs
Technical Product Lead↑ promoted after 11 months
- Joined to build the backend and run QA; now I lead product as well.
- I work across the whole loop: deciding what we build, building it, and making sure it holds up.
Six years of shipping software, from an e-commerce internship to leading product.
Technical Product Lead↑ promoted after 11 months
Senior Software Developer↑ promoted in 2024
Backend Developer
Full Stack Developer Intern
Two Telegram bots that people use every month, and three small tools I built to scratch my own itch.
An inline Telegram dictionary
Type @thewatbot and a word in any Telegram chat, and definitions appear as you type. Pick one and it drops into the conversation, so nobody has to leave the chat to look something up.
Definitions come from Wiktionary's REST API. The bot strips the markup, skips entries like “plural of…” and “alternative spelling of…”, and formats the rest for Telegram.
↓ try it
look up a word:
Sample definitions. The real bot asks Wiktionary as you type.
Is it cold? Weather, inline
Type @iscoldbot and a place in any chat, pick the right match, and the bot posts the current weather. Buttons under the message swap it, in place, for the forecast, sunrise and moon phase, or air quality rated on the UK DEFRA and US EPA scales.
It's built with Deno and grammY on WeatherAPI. Places you've looked up are cached in Deno KV, so an empty query offers your recent locations straight away.
↓ try it
check the weather in:
Sample readings in the bot's format, trimmed to fit. The real bot asks WeatherAPI.
Beautiful images from source code
A library (@darvesh/portray on npm) that turns a code snippet into a PNG or JPEG, with a choice of themes, border colours, font sizes, custom fonts and three styles of window controls.
It can return the image as a Buffer or as a readable stream, so you can pipe it straight into a file or an HTTP response.
↓ try it
import { generate } from "@darvesh/portray";
// code in, picture out
const image = await generate(code, {
theme: "dracula",
borderColor: "#ABB8C3",
fontSize: 25,
windowControl: 1,
});
Excel formulas over arrays of objects
Spreadsheet formulas, but for JSON: give polytope an array of objects and a formula such as =SUM({price}), and it evaluates the formula against the data. Curly braces refer to fields.
It's a work in progress, built on parser combinators and tested with Bun.
↓ try it
the data
| item | {price} | {qty} |
|---|---|---|
| coffee | 3.5 | 4 |
| keyboard | 120 | 1 |
| stickers | 2 | 25 |
| desk mat | 30 | 1 |
A 40-line grep on mmap
A tiny grep. It mmaps the file, walks it byte by byte with memcmp, and prints the line around each match. There's no read buffer and no copying, just a pointer into the mapped file.
It's case-sensitive and deliberately bare: an exercise in memory-mapped I/O.
↓ try it
mapped 2,114 Bread head at 00 matches0 B copied
press run to scan
try:
The real file, and the real quirks: matching is case-sensitive, and a line prints once for every match in it.
The demos give an idea of how each project works. They're made for this page and don't run the real projects.
Interactive interfaces for e-commerce platforms and internal management dashboards. And this site.
Scalable multi-tenant financial services, a sales commission system and e-commerce apps, all with modular architecture.
Schemas for financial data, caching strategies and query tuning for real-time apps, plus type-safe data layers and complex migrations.
Serverless functions, managed databases, VPCs, load balancers, IAM and secrets management, containers, and CI/CD with coverage reporting.
Streaming infrastructure and distributed event processing, automated data ingestion and commission analytics dashboards.
5+ years building Telegram bots with hundreds of monthly users. I also help run a few Telegram bot communities.
Aloysius Institute of Management and Information Technology
Mangaluru, Karnataka
SDM College of Business Management
Mangaluru, Karnataka