> 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 can 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. This uses 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*
