Shivaj
Raman

I build instruments for things that are hard to measure.

Ten systems, across financial literacy, rare-disease target triage, drug-discovery lead mining, competition robotics, and a crowd sensor made of a plant. Each one takes a signal nobody had a clean read on and turns it into something you can act on — and argue with.

Repaints this page as one of 25 complete design systems.

LIVE
District of ColumbiaPresidential AI Challenge · Congressional App Challenge

Four rules that survived contact with real users.

  1. Degrade honestly

    Every upstream call has to fail softly. Partial data renders, missing data is omitted, and nothing is invented to fill the gap. When raremp's hero can't reach Open Targets it falls back to a generic helix and drops the worked example rather than showing a number it can't source.

  2. Make the score arguable

    A ranking nobody can inspect is a ranking nobody should trust. raremp exposes its weights and itemises every contribution on a first-class surface. A competitor can copy the data sources; it can't copy a score the user is allowed to disagree with.

  3. Ship the real path

    Demo mode is a way to avoid the hard part. Divendo runs on live Polygon quotes and real Supabase accounts; raremp renders from live upstreams at request time. Mocks survive as fallbacks, never as the thing being shown.

  4. Let constraints decide the product

    PocketScout excludes DrugBank, ChEMBL and Pharos because their licences don't permit what the product needs, and rejected fpocket for being GPL-3.0 with no Windows build. The licence policy isn't legal housekeeping around the product — it shaped what the product is.

0
Systems built
0
National awards, DC
0
Live data sources in raremp
0
Matches charted for Octobots

Two national challenges, both won for the District of Columbia.

Winner — District of ColumbiaCrowdLeaf AI

Presidential AI Challenge

Crowd chokepoint detection using the thigmonastic response of Mimosa pudica — a living sensor instead of a camera array.

Winner — District of ColumbiaDivendo

Congressional App Challenge

A paper-trading market on live Polygon data, wrapped in the classroom machinery a teacher actually needs to run a class.


Ten channels. Each one measures something different.

CH 01
live2025—Financial literacy platform

Divendo

Winner — Congressional App Challenge — District of Columbia

A market that behaves like the real one, inside a structure a teacher can actually run a class on.

Trading simulators have no teacher surface. Finance curricula have no live market. Divendo is both halves: paper trades against real Polygon quotes, wrapped in curriculum, a gradebook, submissions, a live classroom, and class analytics. Students include under-13 users, which makes COPPA parental consent a legal requirement rather than a feature — an under-13 signup cannot be approved until a consent email is actually delivered.

Roles
Student · Teacher · Admin
Market data
Polygon.io, live
Compliance
COPPA consent, enforced
Billing
Stripe subscription
Next.js 14React 18SupabasePolygon.ioStripeResendZustand
Visit Divendo

CH 02
competition2025Biological crowd sensing

CrowdLeaf AI

Winner — Presidential AI Challenge — District of Columbia

The sensor is a plant.

Mimosa pudica folds its leaves when it is disturbed. CrowdLeaf reads that thigmonastic response as a signal and turns it into a map of where a crowd is jamming — chokepoints found by a living sensor rather than a camera array. It won the Presidential AI Challenge for the District of Columbia.

Sensor
Mimosa pudica, thigmonastic response
Reads
Crowd disturbance as leaf movement
Output
Chokepoint map
Award
Presidential AI Challenge — DC
Computer visionSignal processingLive plant sensing

CH 03
in development2026—Rare-disease target triage

raremp

A ranking you are allowed to argue with.

A researcher arrives with a disease name and leaves with a defensible shortlist of proteins worth pursuing. Twelve upstream databases are collapsed into one traceable path — disease, then target, then structure and variants. The scoring weights are exposed and adjustable, and every contribution to a score is itemised on a first-class surface rather than hidden in a tooltip. A competitor can copy the data sources; it cannot copy a ranking the user can disagree with.

Upstream sources
12, all live at request time
Scoring
Weights exposed, user-adjustable
Worked example
CFTR · MONDO_0009061
Failure mode
Degrade honestly, never fabricate
Next.js 16React 19Tailwind v4three.jsGSAPLenisd3-forceSupabase

CH 04
in development2026—Drug-discovery lead mining

PocketScout

Druggability × novelty. One multiplication is the entire product.

A gorgeous binding pocket on EGFR is worth nothing — 82 drugs already target it. A merely good pocket on a transporter with 166 papers and zero chemical probes is the whole business. PocketScout mines the AlphaFold Database for well-formed pockets on proteins nobody has characterised and ranks them as leads. Pocket-finders ignore novelty; novelty databases ignore druggability. Neither half is the product.

Pocket detection
P2Rank 2.5.1, ~15 s per protein
Structures
AlphaFold DB — no prediction performed
Licence policy
CC0 / MIT / CC-BY only, by design
Seed run
30 human SLC transporters, no DB required
FastAPIgemmiP2RankReact 18ViteMol*Supabase

CH 05
shipped2026Explainable event discovery

Yonder

Wander well.

An AI event-discovery app that has to justify what it recommends. The anti-cheat economy is the interesting part: pressing “I'm going” is a free RSVP that grants nothing. Experience points come only from photo-verified attendance and one review per event, enforced at the database with unique constraints and triggers rather than in the client where it could be gamed.

Events
SeatGeek, live
XP
Photo-verified attendance only
Map
Mapbox GL, MapLibre fallback, no key required
Scroll
GSAP ScrollTrigger + Lenis
Next.js 14TypeScriptGSAPLenisReact Three FiberMapbox GLGroqSupabase

CH 06
in development2026—2027Competition robotics firmware

LuckyCats Auton Selector

A field you can draw a route on, at 480×240, on a robot.

Competition code for VEX V5RC team Lucky Cats, running PROS 4 with a LemLib chassis and an LVGL touchscreen UI. The Design screen is the part worth showing: tap the field to drop waypoints, build a route by hand, and run it without leaving the screen. The whole selection — alliance, route, start pose, and the custom route itself — survives a reboot as plain text on the SD card, safe to edit from a laptop. With no card inserted it falls back to defaults instead of failing.

Platform
PROS 4 · LemLib · LVGL 9.2
Screens
Landing · Run · Design · Live · Console
Persistence
/usd/auton.txt, human-editable
Route design
Tap-to-place waypoints on the field
C++PROS 4LemLibLVGL 9.2VEX V5

CH 07
prototype2025—Autonomous inefficiency detection

PHANTUM.ai

The unit of value is a finding nobody knew to look for.

Most tools for organisational waste require somebody to file a report about it — which means the waste nobody notices stays invisible. PHANTUM scans an organisation's own working artefacts and surfaces the effort being duplicated, abandoned, or ignored, without anyone having to ask.

Scanners
Duplicate work · Abandoned · Unused · Meetings
Model
Autonomous scan, not self-report
Stage
Prototype
FastAPINext.jsPython

CH 08
in development2025—Creative competition platform

VOLT

An arena, not a marketplace.

Challenges are the unit, not gigs. A challenge is posted, creators submit work, entries are judged, results are public — competitive framing around creative work, carrying real payments and file uploads on the critical path. Deliberately built on a different stack from everything else here: Pages Router, JavaScript, Prisma.

Unit
Challenge, judged and public
Auth
Google · Microsoft · credentials
Data
PostgreSQL + Prisma
On the path
File upload, payments
Next.js 14 (Pages)PrismaPostgreSQLNextAuthCloudinaryStripe

CH 09
shipped2025Team site

Octobots 20850V

The site is part of the argument that the team is serious.

A public site for a VEX Robotics team, aimed at sponsors and recruits who arrive knowing nothing. A cinematic intro leads with the team name, then the season's real match history renders to canvas as a score series — nineteen matches, actual results, not a decorative chart.

Matches charted
19, real results
Render
Score series drawn to canvas
Shape
Single page, cinematic intro
ReactViteTailwindframer-motionCanvas

CH 10
in development2026—Short-form social

On3 / On3take

Takes, groups, and a vertical feed.

A React Native application built on Expo Router — a full-height paging feed of featured “takes”, plus groups, a create flow, and profiles. Early: the architecture is in place and the surfaces are scaffolded.

Surfaces
Feed · Explore · Groups · Create · Profile
Routing
Expo Router, file-based
Stage
Early — architecture in place
React NativeExpoExpo RouterTypeScript

What I reach for, and why.

Product surfaces

Next.js App Router, React, TypeScript, Tailwind. Scroll and motion with GSAP ScrollTrigger, Lenis and framer-motion; real-time visuals with WebGL, GLSL and three.js. Charts drawn to canvas when a library would be heavier than the thing it draws.

Next.js 14—16React 18/19TypeScriptTailwindGSAPLenisWebGL / GLSL

Data and backend

Supabase with Postgres and row-level security, FastAPI services in Python, Prisma against Postgres. Live third-party data as the default path — Polygon.io, Open Targets, AlphaFold DB, UniProt, ClinVar, SeatGeek — each one wrapped so a failure degrades the page instead of breaking it.

SupabasePostgreSQL + RLSFastAPIPrismaStripeResend

Embedded and robotics

Competition robotics firmware in C++ on PROS 4, LemLib chassis control, and LVGL touchscreen interfaces running on the robot itself — where the whole UI budget is 480×240 pixels and a dropped frame costs a match.

C++PROS 4LemLibLVGL 9.2VEX V5

Scientific tooling

Structural biology pipelines with gemmi and P2Rank, molecular rendering with Mol*, and scoring models built to be inspected — weights exposed, contributions itemised, licence terms treated as design constraints.

gemmiP2RankMol*AlphaFold DBOpen Targets

Send something worth reading.

Pick the line that fits and it goes straight to the right inbox. I read everything and reply to anything specific.

Line

Partnerships, contracts, press, anything Divendo. → divendo.us@gmail.com