Projects
Things I built when I probably should have been asleep. Models that learned in secret, crawlers that asked Reddit nicely, and tools that write the boring code so 3 a.m. me doesn't have to.
Side projects
ostinatoIn progress
A lightweight job scheduler in Go, backed by Postgres. Laid down so far: config and structured logging, a schema for cron schedules and one-off tasks with timezones, timeouts and misfire policies, partial unique indexes that stop a schedule firing twice or running two tasks at once, and sqlc-generated queries on pgx.
Go · PostgreSQL · pgx · sqlc · DockerRepositoryvit-burnStudy
A Vision Transformer written from scratch in Rust on the Burn framework, built to learn Rust. Convolutional patch embedding, learned position embeddings, multi-head attention encoder blocks and a pooler, assembled from a config.
Rust · BurnRepositoryMalayaLLaMAStudy
Teaching Llama 2 Malayalam. A SentencePiece BPE tokenizer trained on Malayalam text from CulturaX is merged into Llama's vocabulary, the 7B model gets continued pretraining with LoRA under DeepSpeed ZeRO-2, and a 4-bit LoRA pass with TRL fine-tunes it for chat.
PyTorch · Transformers · PEFT · DeepSpeed · SentencePieceRepositoryFederatedGPTComplete
nanoGPT trained with federated learning on Flower. A server runs a custom FedAvg strategy that checkpoints the global model each round, and Dockerised clients train a character-level GPT on their own shards of Indian court judgments, so the raw text never leaves a client.
PyTorch · Flower · DockerRepositoryLegalEaseComplete
A legal-assistance platform built as a team. I built the ML service: a FastAPI app with a legal named-entity recognition endpoint on a spaCy transformer pipeline, and a retrieval chat endpoint that embeds the question with MiniLM, finds relevant case law in Pinecone and answers with an LLM. It ships as a Docker image through GitHub Actions.
Python · FastAPI · spaCy · Pinecone · DockerRepositorytorchtemplatesReleased
A command-line tool, published on PyPI, that scaffolds PyTorch projects. Its init command creates a pip-installable package, and new-pipeline generates the config, dataset, model, training loop, k-fold splits and utilities for image, text or tabular data from Jinja2 templates.
Python · Click · Jinja2RepositoryHeatSense.aiComplete
Heat-wave and air-quality prediction for tier-2 cities in Telangana from monthly weather, AQI, energy and vehicle-sales data. Regression models estimate AQI and temperature, and a classifier with an adjustable tolerance flags heat-wave conditions on a map dashboard. First Runner-Up, NASSCOM Telangana AI Mission 2023.
PyTorch · pandas · ReactRepositoryreddit-multimodal-crawlerReleased
A PRAW wrapper, published on PyPI, that turns subreddits into datasets. It collects posts and comments with their image and video URLs, scores titles and bodies with VADER sentiment, hashes author names with bcrypt, and exports to CSV or TSV.
Python · PRAW · pandas · NLTKRepository