I am an undergraduate computer science student at IIIT Hyderabad. I have contributed 400+ issues/PRs across 30+ repositories over the past seven years - starting with my first PR for Google Code-In when in 2018, to most recently working with MIT Media Lab’s Large Population Models (LPM) team on their AgentTorch project for differentiable agent based learning since April 2024.
I’m the co-maintainer for the popular node.js libraries express-rate-limit and express-slow-down used to shield servers from DDOS attacks, contributor to vercel/serve, Refined Github, FPM, Beckn, Sunbird Registries and Credentials, and have created projects such as Dabbu (a knowledge platform), office-text-extractor, as well as yeet (a package manager for Arch Linux), amongst others. I participated in the national ONDC Grand Hackathon in 2022 and my team won a special mention award. I was also invited to give a talk titled 'A 12 Grader's Journey to Opensource Contribution via Sunbird and Beckn' at the Sunbird DPG Tech Fusion Conference in 2024.
2.7k stars, 7.6M dl/month (list of authored pull requests)
Rewrote the library in Typescript, created the modern store interface and continue to maintain it alongside @nfriedly, the original author. Help in maintaining 7 out of the 8 stores written for the library, and helped rewrite the default memory store to make it more memory-efficient.
230+ stars, 95k dl/month
Helped with the rewrite in Typescript, and achieving feature parity with express-rate-limit. I continue to maintain it alongside @nfriedly, the original author.
part of the Large Population Models project by MIT Media Lab
Created a custom model using the framework to simulate movement of predator and prey on a map of Central Park, NY. Also added a feature that allows for easier declaration of substeps using decorators.
Currently working on improving the Python API, creating interactive simulations for various use cases such as solar panel adoption, zoning policy, as well as integrating it with Beckn.
9.1k stars, 6.6M dl/month (5 merged pull requests)
Refactored the library, added tests, and transitioned to ESM + Typescript.
22.8k stars, 80k+ users (14 merged pull requests)
Contributed to 8 popular features, including useful-not-found-page, restore-file, quick-comment-edit, linkify-code and forked-to.
11k stars (1 merged pull request)
Restructured the documentation, rewrote parts of the installation page, added a getting started page, tutorials and examples, as well as a CLI flags reference page.
660+ stars, 187k dl/month (1 merged pull request)
Fixed a bug where the library does not export-default an expression when re-exporting the default export from another file.
160k stars (1 pull request)
Added a host validation check to the flutter doctor tool.
Documented process of creating and working with registeries, and created the registry-cli package to spin up a registry quickly and easily.
Submitted various RFCs (1, 2, 3, 4) to improve the project.
50+ stars (1 merged pull request)
Updated the library to work with the latest version of V.
30+ stars (1 merged pull request)
Added installation guide to the readme.
23.7k stars (1 pull request)
Created a script to automate adding plugins to the official channel.
(website)
The Dabbu Knowledge Platform was created with an aim to rethink the way we organize and traverse large amounts of knowledge, no matter where it is stored. Dabbu allows you to access any of your personal information (Gmail, Google Drive, OneDrive, your hard drive, etc.) as simple files and folders from the Dabbu CLI.
You can also go into the knowledge drive where you can pivot information by
topics/people/places. For example, k:/$ cd austin
will return you all your
information from Gmail, GDrive, OneDrive that has a reference to the place
Austin. You can further narrow your search by running
k:/austin$ cd ravi@example.com
. This would show you all emails and files that
are related to Austin and from/to ravi@example.com.
The feature that allows you to organise/search your files based on topics in the
files' text, uses the Latent Dirichlet Algorithm to extract the topics. In the
future, I'd like to generate a one-pager/summary related to a certain set of
topics/places/people. For example, k:/austin/ravi@example.com$ one-pager
should give me a neatly organized one pager of all Austin related things I have
discussed with ravi@example.com. This could be tackled using small AI models, or
simple natural language processing.
The specification and minimal reference implementation for a plugin-based service that allows issuers to render verifiable presentations, based on the W3C verifiable credential specification from templates, and store it in a queryable database for holders to list/retrieve.
Yet another library to extract text from docx, pptx, xlsx, and pdf files. What sets it apart is that it parses files based on their mime types, and not their file extensions. It does not spawn a child process to use a tool installed on the device, and it reads and returns text from the file if it contains plain text.
While the parsers for pdf, docx, and xlsx files use popular libraries, the parser for pptx files is written and maintained by me.
A minimalistic pacman wrapper written in bash.
A minimalistic backup tool written in bash.
tiny, adorable urls: a url shortener, written in python using flask and sqlite3.
A HTTP content negotiator for V that allows you to parse the Accept header of an HTTP request and get the preferred response media type specified by the client.
Plugins to format and lint code using Prettier and XO for my favourite editor, Micro.
A python that uses Deeplator to translate subtitles in .srt files to and from six different languages. This project was one of my first open source projects, and my submission to Google Code-In in 2018.
The following are topics I would like to research in the near future.
- Neurosymbolic AI
- Time series analysis
- Procedurally generated reinforcement learning environments
- Causal information extraction, and creating knowledge graphs
- Annotating unstructured multimodal information
- Image and video generation
- Frugal AI, running inference on edge TPUs and CPUs
- Benchmarking datasets and models
The following are areas that I have previously explored:
- Building custom ROMs for Android phones (compiled LineageOS succesfully for my own phone), and playing around with low level languages to better understand how the computer works (followed tutorials to write a kernel in assembly and rust).