> For the complete documentation index, see [llms.txt](https://nilesh.trivedi.link/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nilesh.trivedi.link/work.md).

# Work

You should check out [my current projects](/master.md#now) and [my GitHub profile](https://github.com/nileshtrivedi).

I started programming in 1999. Starting with C, I finished many projects with Java and Javascript before discovering and falling in love with Ruby. I co-founded a B2B startup (YouSuggest.us which was a social CRM app) and learnt a lot. The companies I have worked with include GupShup, Truweight, HyperTrack, ClearTax and Meta among others. My primary work has been in building intelligent and scalable software systems but I have dabbled in things like electronics hardware, algorithmic trading, aerodynamics and mathematical music theory.

{% file src="/files/c5lwmSUrStVD9djQoqq0" %}
My outdated resume
{% endfile %}

You can contact me via [Twitter](http://twitter.com/nileshtrivedi) or [ActivityPub](https://fosstodon.org/@nilesh) or [BlueSky](https://bsky.app/profile/nilesh.trivedi.link).

## lean-detective

[This is a Lean Library](https://github.com/nileshtrivedi/lean-detective) that demonstrates how formal verification can be applied to all kind of domains. It assists with deductive reasoning in crime investigations such as murder mysteries by modeling casefiles in mathematics. A PhysicsModel is used in conjunction with credible alibi to reject impossible scenarios such as infeasible travel speeds. You literally get a theorem saying prime suspects are those who had motive, means and opportunity.

## ai-scientist

[This](https://github.com/nileshtrivedi/ai-scientist-demo) was my research project at Lossfunk - a frontier AI research lab. I build an agent that externalizes conceptual thinking and experimentation to a simulation harness, allowing the core LLM to be much smaller. The central finding was that vision, not just coding, is a key requirement for the reasoning core for such small-LLM based scientist agents.

## aicombinator

This is a GPT-powered bot that can automate complex online tasks using both the web browser and API calls. I built this for a generative AI hackathon when GPT-3's tool-calling and code-writing ability became apparent, before the word "agent" came into common parlance. This used OpenAI, Javascript, and Puppeteer: <https://github.com/aicombinator/bot>

{% embed url="<https://user-images.githubusercontent.com/19304/229281118-e143322a-1c6f-4464-9f69-9425454895f0.mp4>" %}

## Grapher: Visual Graph Editor

This is a visual editor for nested graphs: <https://codeberg.org/nilesh/grapher>. This is being used by the Foresight Institute for their civilizational technology trees at [https://foresight.org/tech-tree](https://foresight.org/tech-tree/)

This is built using Svelte and SVG.

<figure><img src="/files/CqSmPPm9vnsvuLm0bbHT" alt=""><figcaption></figcaption></figure>

## [LearnDB](https://github.com/learn-awesome/learndb)

<figure><img src="https://user-images.githubusercontent.com/19304/173263184-2b72e006-91f1-43d6-9bde-3d151272e177.png" alt=""><figcaption></figcaption></figure>

This was an attempt to build a Google Maps for learning. This got some attention at [ProductHunt](https://www.producthunt.com/posts/learnawesome) and [Hacker News](https://news.ycombinator.com/item?id=23795779). I discontinued this in 2024 to rethink learning in the age of AI.

*Ruby, Rails, PostgreSQL, TailwindCSS*

## [Better](https://github.com/nileshtrivedi/better)

![](/files/-MZaSiPEXO4WEZuP9knK)

This is a browser extension that recommends "better" alternative products and services via in-page popups, based on community-curated lists. Available for all Chromium and Firefox-based browsers..

*Javascript, Web Extension API*

## [Bizzy - A responsive design testing tool](https://bizzy.polyglot.network/)

![](/files/-MZaW6ypHRpEaSqqzbCo)

This is a fork of an old version of Sizzy that lets you test a webpage in different screen sizes.

## [Physics Simulation in Javascript](https://hasgeek.tv/jsfoo/2013-2/688-interactive-physics-simulation-in-the-browser-what-i-learned)

![](/files/-MZaWQf38Ywy27MkvWza)

I made a [physics playground app](https://mechasim.herokuapp.com) for the browser, which involved vector math, Runge-Kutta integration, impulse-based constraint solver and drawing with HTML5 Canvas API. I gave [a tech talk about this at JSFoo 2013](https://hasgeek.tv/jsfoo/2013-2/688-interactive-physics-simulation-in-the-browser-what-i-learned).

*Javascript, Canvas API, Mozilla Persona*

## [Embedded Flashcard with Spaced Repetition](https://nilesh.trivedi.pw/articles/spacedrep.html)

![](/files/-MZaSn0Gj1rW3z5af3kK)

This is a reusable UI widget which any webpage can embed for their readers to practice the content using spaced-repetition techniques. All progress is kept on localStorage so users do not need to sign up.

*VueJS, Web Components*

## [GupShup](https://gupshup.me/)

![](/files/-MZaSrFbNnwY6v_nRlMc)

I was tech lead with them from 2009 to 2013, building the enterprise platform serving 35 million users and sending out 2 billion messages every month.

*Ruby, Rails, Android, Facebook API*

## MapGap

![](/files/-MZaSypoBKKaTaLKB9ia)

I made this app at [NASA Space Apps Challenge](http://spaceappschallenge.org/) at Delhi in April 2013. It allows you to submit spots in the planet to NASA where satelite imagery is needed but missing.

*Ruby, Sinatra, MongoDB & Google Maps API*

## BugRoulette

![](/files/-MZaT950c0VIrHVYu8iC)

I made this app for events like [Pullathon](http://pullathon.com/). It lets you randomly browse open issues from GitHub repositories that you follow.

*Ruby, Sinatra, GitHub, OAuth*

## [Live Coding](http://www.nileshtrivedi.com/livecoding_js_demo/)

![](/files/-MZaTH05uclSvaHdYA2q)

Inspired from [Bret Victor's famous talk](http://vimeo.com/36579366), I made this prototype for live coding. The idea is that as you code, the tests are run automatically and their status is immediately visible to the programmer.

*Javascript*
