fin1te

Projects

Things I built that have a name.

The work at Jio is internal, so there is no source to link. topo, ack, lab and ds are public and run on their own subdomains. Everything before Jio is on GitHub, mostly Android from my college years.

2026

Rust ETL framework

Internal

DataCraft

A data processing framework written from scratch in Rust, with a drag-and-drop pipeline editor and an SDK for sources, transforms and sinks. It replaced Spark for real-time log parsing across 17 application groups.

  • MyJio pilot: 480 cores and 480 GB down to 10 cores and 4.2 GB peak, latency 10 s to 2.3 s.
  • Fleet: 8.7 TB of executor RAM down to under 200 GB; 3,500 cores down to about 200.
  • dc-sdk published through the organisation's first internal Cargo registry.
RusttokiordkafkaserdeClickHouseKafkaKubernetes

2024–26

Spark ETL framework

Internal

Generic Parser framework

The config-driven Scala Spark framework that 400+ production ETL jobs run on. I rebuilt its plugin model, wrote most of its connectors, and moved it from DStreams to Structured Streaming.

  • About 25% more throughput per core after the Structured Streaming migration, with no changes to job manifests.
  • Streaming Stats, a custom Spark UI tab built into the framework: per-batch history, true Kafka lag in records and minutes, phase breakdowns.
  • Typed plugin models, partitioned JDBC reads, and a runtime Scala notebook plugin.
ScalaSpark Structured StreamingKafkaJDBCElasticsearch

2026

Architecture diagrams

topo

An editor for architecture diagrams that explain themselves. Draw on a canvas or write a small text format that any LLM can produce; links animate, hovering traces what feeds each component, and every component carries its own notes.

  • Present mode walks an audience through a system one step at a time. Give the steps times and states and it replays an incident, with components going red and a timeline of the impact.
  • Share links carry the diagram in the URL, and one script tag turns code blocks on any page into live diagrams. Nothing is uploaded.
  • An MCP server lets coding agents validate, render and link diagrams. The small diagrams in the posts here are drawn with its core.
TypeScriptSVGViteMCP

2026

Sequence diagrams

ack

Sequence diagrams on a real time axis. Links have latency and work takes time, so arrows slant, and a playhead sweeps down while packets travel at the right relative speed.

  • Drop any message and the flow runs again: timeouts, retries with backoff, hangs, and work done twice when a retried request has no idempotency key.
  • Imports Mermaid sequence diagrams, exports SVG that animates by itself, and has an MCP server for coding agents.
  • The timing figures in the outage write-ups here are drawn with its core.
TypeScriptSVGViteMCP

2026

Browser tools

lab

Small private tools for data and platform engineers. All the work happens in the page, and a Content Security Policy stops the pages from making network requests at all, so nothing you paste leaves the browser.

  • cronmap: paste Kubernetes CronJobs, crontabs, Airflow DAGs or GitHub Actions workflows and see a week heatmap on your clock, the crowded minutes, and the runs daylight saving skips or doubles.
  • schema: JSON, Avro, Protobuf, a Spark schema or a CREATE TABLE, converted to twelve formats with a note wherever a target loses something, plus compatibility checks between two versions.
  • nines: turn an availability target like 99.95% into the downtime it allows per day, week, month and year, or work out the availability of a system built from parts in series and with redundant copies.
  • wrap: when a 16, 32 or 64-bit counter wraps at a given rate, and how many wraps can fit between two polls. It is the arithmetic behind the 497-day bug.
  • sparkmem: where a Spark executor's memory goes (reserved, execution, storage, user, overhead), per core and across the cluster.
TypeScriptViteIntlCSP

2026

Design system

ds

The tokens, components and diagram styles behind this site, topo, ack and lab. One stylesheet in cascade layers, 13.7 KB gzipped, light and dark, no framework.

  • Pinned versions stay published and never change. Each product vendors a copy and refreshes it with a script.
CSSCascade layersAstro

2026

Developer tooling

Internal

Platform MCP server

A Model Context Protocol server that lets AI coding tools look up schemas, scaffold pipelines, validate transformations and run tests against the internal data platform.

MCPJSON-RPCSSEPython

2026

Infrastructure

Internal

Bastion-as-a-Service

Three bastion engines deployed side by side on Kubernetes (JumpServer, Warpgate, Guacamole) and compared on credential vaulting, session recording, command filtering and clientless access.

KubernetesGuacamoleWarpgateJumpServer

2023

Android app

HackOverflow

Official app for HackOverflow, a three-day national hackathon I co-organised. Digital passes, countdown, schedule, team profiles, and Google sign-in for registered participants.

KotlinFirebaseFCMJetpackLottie

2021

Android app

CovidInfoLeads

One app for the second wave: live case data, vaccine slots, bed and oxygen leads, helplines and teleconsultation links, pulled together when that information was scattered across a dozen sources.

JavaSQLiteFirebaseVolleyREST APIs

2022

Android app

GDSC PHCET app

Contributed to the community app for the Google Developer Student Club chapter I led: events, resources and announcements.

KotlinFirebaseJetpack

2026

This site

fin1te.com

A static Astro site with no client framework, so each page ships a few kilobytes of JavaScript. Diagrams in the posts are drawn at build time with topo and ack, every page gets its own share card, and curl fin1te.com returns a plain-text version of the home page.

AstroTypeScriptSVGCanvasCloudflare Workers