Vedant Kulkarni

gamemaker0042 at gmail dot com | github.com/gamemaker1

About Me

I am an incoming 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.


Projects That I Maintain

express-rate-limit 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.

express-slow-down 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.

agent-torch 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.


Projects That I Have Contributed To

vercel/serve 9.1k stars, 6.6M dl/month (5 merged pull requests)

Refactored the library, added tests, and transitioned to ESM + Typescript.

refined-github 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.

jordansissel/fpm 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.

timocov/dts-bundle-generator 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.

flutter/flutter 160k stars (1 pull request)

Added a host validation check to the flutter doctor tool.

sunbird-rc (14 merged pull requests)

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.

beckn

Helped create a site for developer documentation using Gatsby and Astro, and dockerized the reference Beckn app implementation.

thecodrr/crayon 50+ stars (1 merged pull request)

Updated the library to work with the latest version of V.

kiranwells/micro-nord-tc-colors 30+ stars (1 merged pull request)

Added installation guide to the readme.

zyedidia/micro 23.7k stars (1 pull request)

Created a script to automate adding plugins to the official channel.


Projects That I Have Created

dabbu-knowledge-platform (documentation)

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.

verifiable-presentation/generation-service (reference impl)

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.

office-text-extractor

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.

yeet

A minimalistic pacman wrapper written in bash.

bak

A minimalistic backup tool written in bash.

tau

tiny, adorable urls: a url shortener, written in python using flask and sqlite3.

http-negotiator

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.

micro-plugin-prettier and micro-plugin-xo

Plugins to format and lint code using Prettier and XO for my favourite editor, Micro.

subtitle-translator

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.


Hackathons and Other Events

ondc-grand-hackathon (our submission)

I participated in the Hackathon with my younger brother to reimagine how kirana store owners would update their catalog online. My brother did the UX designs, while I helped create a Beckn-powered Svelte web component that enabled voice based search and creation of items in a crowdsourced product catalog. It uses the Webkit Speech Recognition API built into Chromium-based browsers and fuzzy search to return useful search results.

Our submission won a special mention award from the jury.


Areas of Interest

The following are topics I would like to research in the near future.

  • Neurosymbolic AI
  • Time series analysis
  • Agent based modelling involving LLMs
  • 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)
  • Playing around with low level languages to better understand how the computer works (followed tutorials to write a kernel in assembly and rust)