Work

Work & play

Six years of shipping software, from an e-commerce internship to leading product. I work remotely. Further down: side projects I build for fun, each with a demo you can try.

Experience

Where I've worked

Intensity Labs

Remote

  1. Technical Product LeadJul 2026 – now
  2. Backend Developer and Lead QAAug 2025 – now
  • 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.
  • Product
  • Backend
  • QA
Side projects

Things I build for fun

Two Telegram bots that people use every month, and three small tools I built to scratch my own itch.

№01 · 2021 · ★ 23

thewatbot

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.

  • Deno
  • grammY
  • Wiktionary API

↓ try it

the group chat4 members
  1. Sam
    wait, what does petrichor even mean

look up a word:

Sample definitions. The real bot asks Wiktionary as you type.

№02 · 2023 · ★ 5

WeatherBot

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.

  • Deno
  • Deno KV
  • grammY

↓ try it

trip planning4 members
  1. Priya
    flying out tomorrow. is it cold there??

check the weather in:

Sample readings in the bot's format, trimmed to fit. The real bot asks WeatherAPI.

№03 · 2020 · ★ 16

portray

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.

  • Node.js
  • wkhtmltopdf
  • npm

↓ try it

import { generate } from "@darvesh/portray";

// code in, picture out
const image = await generate(code, {
  theme: "dracula",
  borderColor: "#ABB8C3",
  fontSize: 25,
  windowControl: 1,
});
Preview of the image portray would render with theme dracula, border #ABB8C3, font size 25.
theme
border
window controls

№04 · 2024

polytope

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.

  • Bun
  • Parser combinators

↓ try it

the data

item{price}{qty}
coffee3.54
keyboard1201
stickers225
desk mat301
POLYTOPE · PARSE & EVAL=SUM({price} * {qty})function SUM └─ binary * ├─ column {price} └─ column {qty}RESULT214thank you

№05 · 2026

dgrep

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.

  • mmap
  • POSIX

↓ try it

birds.txt

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.

Toolbox

What I work with

Frontend

  • React
  • DOM
  • Responsive UI
  • Animation

Interactive interfaces for e-commerce platforms and internal management dashboards. And this site.

Backend

  • NestJS
  • Express
  • Node.js
  • Deno
  • Bun

Scalable multi-tenant financial services, a sales commission system and e-commerce apps, all with modular architecture.

Data

  • PostgreSQL
  • MySQL
  • MongoDB
  • SQLite
  • Redis
  • TypeORM
  • MikroORM
  • Prisma
  • Kysely
  • Knex

Schemas for financial data, caching strategies and query tuning for real-time apps, plus type-safe data layers and complex migrations.

Cloud & infra

  • AWS
  • Google Cloud
  • Azure
  • Docker
  • Nginx
  • GitHub
  • GitLab
  • Bitbucket

Serverless functions, managed databases, VPCs, load balancers, IAM and secrets management, containers, and CI/CD with coverage reporting.

Streams & analytics

  • Kafka
  • SQS
  • WebSocket
  • SSE
  • Airbyte
  • Metabase

Streaming infrastructure and distributed event processing, automated data ingestion and commission analytics dashboards.

Telegram bots

  • grammY
  • Telegraf

5+ years building Telegram bots with hundreds of monthly users. I also help run a few Telegram bot communities.

Education

School

2018 – 2020

MSc Software Technology

Aloysius Institute of Management and Information Technology

Mangaluru, Karnataka

2015 – 2018

Bachelor of Computer Applications

SDM College of Business Management

Mangaluru, Karnataka

Languages

  • Malayalam (native)
  • English (fluent)