Akash
Wadhwani

Interaction Designer & Front-End Builder.

Akash Wadhwani in clay
I make complicated things
easier to understand.

Hi, I'm Akash. I design and build interactive products end to end: the idea, the design, and the code. For most of the last decade I've done one job in different costumes, taking technology people find complicated, or a little intimidating, and making it feel friendly enough to trust.

I've done it building web for 40 million visits a month at Deloitte, getting century-old engineers onto software they feared at Rolls-Royce, and spending five years co-founding OatMlk into seven countries. Lately on the human side of AI, at Radix and Transak, taking a team from scared of it to using it every day.

Now I run sheets.works, shipping a new interactive piece almost every day. 77 so far, 450,000 visitors in three months, one in The New York Times. I don't hand off mockups, I build the real thing in code. The whole job: take something complicated and make it obvious.

More and more, I work with a small crew of agents, and I have learned how to get the best out of each. A few of them never sleep: one keeps a page updated for me, one keeps an eye on Hacker News, and two wait on standby to fix things the minute a comment thread finds a bug. Different ones are good at different jobs, so I move between them. They are my team now, along with a small corner of the internet that kicks the tyres on everything before it goes out.

See all 77 Data Drops →

Places I've worked

From a Big Four consultancy to my own studio. Click any logo to see what I did there.6
Deloitte
2017–2018
Rolls-Royce
2019
OatMlk
2020–2025
Radix
2025–now
Transak
2026
sheets.works
2026–now

Places I've lived

Home keeps moving. Here's the whole map of it.5
Kanpur
1995–2014
Bengaluru
2014–2017
Mumbai
2017–2018
London
2018–2020
Kanpur
2020–now

The work I'm proudest of. Each one is the real, working thing, so have a look, play with it, and read the story behind it.

Browse all 77 Data Drops →

GradtopiaA live university-mentoring marketplace, designed and built end to end.

Gradtopia connects students with mentors from the UK's top universities for paid guidance, tutoring and admissions help. I was the solo designer and developer: I designed and built the whole product, the part you see and the part you don't.

147mentors
~40UK universities
full-stackdesigned + built solo
livepayments & chat
Gradtopia mentor search, 147 mentors across UK universities A Gradtopia mentor profile with booking and packages Gradtopia booking flow with packages and secure checkout
Problem
The best academic guidance, from people who recently got into Oxford, Cambridge or LSE, lives inside private networks. If you don't already know someone, you can't reach it. Gradtopia opens that door: any student can find, message and book a real graduate mentor.
Two-sided
A marketplace has to work for both sides at once. Mentors need a fast way to build a profile, list services and get paid; students need to search, trust a stranger, and book in a few clicks. I designed the flows for both, with an admin and safeguarding layer to keep it safe.
What I designed & built
Everything on screen and behind it: mentor and student onboarding, search and filtering, profiles, a booking flow with packages and a free intro call, real-time messaging, calendar invites and Stripe checkout. 147 mentors across ~40 UK universities signed up.
The stack
React and Framer Motion on the front; Node, Express and PostgreSQL on the back; Stripe for payments, Socket.io for live chat, JWT auth and calendar invites. I designed it and vibe-coded the whole thing end to end with Claude, then deployed and ran it live.
Outcome
A live product with 147 real mentors, full booking and Stripe payments built in, shipped end to end by one person. The clearest proof of what I do: take a hard, two-sided problem and ship the whole thing.

Built with React · Framer Motion · Node / Express · PostgreSQL · Stripe · Socket.io. Designed & built solo, vibe-coded 100% with Claude.

The Listening Museum67 mechanical keyboards, sound-mapped. Click one and play it.

Pick a keyboard, then type, and you hear exactly how it sounds, from a 1985 IBM Model M to a modern thock. The idea was simple, really: I wanted to make something for the keyboard nerd in me, and for everyone else who has ever loved the sound of a good key. The full version maps 67 of them.

Pick a keyboard above, then type or tap the keys below to hear it.
TYPE
67keyboards mapped
500+real samples
122kGoogle impressions
100k+visits
Problem
Enthusiasts choose switches partly by sound, but you can't feel a sound through a screen. Every keyboard sound test online is the same thing, a video of someone else typing. Passive, and the wrong sense for it.
Insight
A keyboard's sound belongs to your own fingers. So don't show it to people, let them make it. Your typing, your sound.
Decisions
I gathered 500+ recordings from the open keyboard community instead of re-recording, so the sound is honest and credited to its makers. I gave each keyboard one playable specimen card, not a spec sheet, and wired every sample to your live keystrokes, so you play the keyboard, not a clip. Then I cut everything else, one specimen at a time, so the sound is the loudest thing in the room. When Hacker News flagged inconsistent recordings, I fixed it live in the thread.
Build
Vanilla, in the browser, on Web Audio. 67 keyboards and 500+ samples wired to a live on-screen keyboard, so any key you press plays the real switch. I scaffolded the page with Codex, then designed it and wired the audio with Claude.
Data
67 keyboards sound-mapped from the open-source community, each tagged with its switch type, spring weight and travel, from a 1985 IBM Model M to a modern thock.
Outcome
Written up in The New York Times. #1 on Google for “listening museum,” with 122k Search impressions and 100k+ visits. Front page of Hacker News (182 points, 55 comments), where I kept fixing it live from the feedback.
Feedback
“I was charmed to learn of the Listening Museum, a site where visitors can bask in the sounds of 36 keyboards and typewriters. The specimens are tagged with quirky designations for the sounds they make, like ‘pingy clack,’ ‘bright click’ and ‘rounded thock.’”
— Melissa Kirsch, The New York Times

Made with Structure: Codex · Design, build & deploy: Claude · Images: ChatGPT · Research: Claude · Copy: Gemini → GPT → Claude · QA: Gemini

Every Starlink, Orbiting NowA live, spinnable globe of every Starlink in orbit right now.

A live, spinnable globe of every Starlink satellite in orbit right now, each dot plotted from the public catalogue and propagated in your own browser. Drag to spin it. Tap any dot for the real satellite. I wanted to take something invisible and everywhere and make it small enough to hold, and find one real satellite passing over your head this second.

Loading the constellation…
drag to spin · tap a dot
10,500+satellites plotted
livepropagated in-browser
#1on r/Space, 2 days
47ksite views
Problem
Starlink is everywhere over your head and completely invisible. A single company has built most of the active satellites in orbit in about seven years, and that is impossible to picture, from the ground or from a number.
Insight
Make the invisible something you can hold. The whole constellation, spinnable in your hand, right down to one named satellite passing over you this second.
Decisions
I plotted every single satellite, not a sample, so it is the real constellation. I propagated it live in your own browser, so the positions are current, not a screenshot. The hardest part was trust: it runs on someone else's public data, so I went to the people who maintain the catalogue to make sure the lineage was honest. Beautiful mattered, but right mattered first.
Build
A spinnable WebGL globe. 10,500+ satellites propagated live in your browser with SGP4, NORAD's own model; tap any dot for the real satellite. The snapshot refreshes on my server every couple of hours. I scaffolded it with Codex, then built the globe and the orbital math with Claude.
Data
10,500+ satellites from CelesTrak's public GP catalogue, originally tracked by the US Space Force, propagated with SGP4.
Outcome
#1 on r/Space, the largest space community on the internet, for two days, and 47k views on the site.
Feedback
“This is really cool. Just posted about it on my Bluesky.”
— Jonathan O'Callaghan, British Science Journalist of the Year 2024 (Scientific American, NYT, BBC)

Made with Structure: Codex · Design, build & deploy: Claude · Images: ChatGPT · Research: Claude · Copy: Gemini → GPT → Claude · QA: Gemini

Point by PointThe 2025 Roland-Garros final, replayed shot by shot.

We took the hand-charted shot data of the 2025 Roland-Garros men's draw and turned it back into tennis. Every point, replayed shot by shot on the clay. This is the final, Alcaraz against Sinner, and every shot you see is a real one, charted by hand from the actual match. Press play, or pick any point on the timeline.

Press play, or pick any point below.
Loading the match…
11,258points charted
1,610shots in the final
102kpoints played
27ksite visitors
Problem
A scoreline tells you who won, never how. The shot data exists, but it lives as rows in a spreadsheet, beautiful to a stats nerd and invisible to everyone else.
Insight
Turn the rows back into the thing they came from, motion on a court, so you can watch a point instead of reading it.
Decisions
I reconstructed each rally's ball path from the charted shots and animated it on the clay, one point at a time, with a timeline of every point in the match. It is an honest reconstruction, not ball tracking, and I say so plainly on the page. The goal was never perfect physics, it was to make a row of data feel like a rally again.
Build
An animated clay court that replays any point shot by shot, with a scrubber timeline of every point in the match. Every shot you see is a real charted one. I scaffolded it with Codex, then built the court and the animation with Claude.
Data
50 matches of the 2025 men's draw, 11,258 points, every shot's direction and depth hand-charted by the volunteer Match Charting Project. The final alone is 385 points and 1,610 shots.
Outcome
27k visitors on the site, and 102k points played in the browser.
Feedback
“Super cool. This is amazing! Wow, congrats.”
— Danilo De Rosa, a newsletter subscriber

Made with Structure: Codex · Design, build & deploy: Claude · Images: ChatGPT · Research: Claude · Copy: Gemini → GPT → Claude · QA: Gemini

The Whole History, DrawnEvery Indian railway line since 1853, on a living map.

Every railway line ever opened in India, drawn from the original section-by-section opening records, from the first train in 1853 to the Chenab bridge in 2025. Drag the timeline and watch the network grow. This one is personal: it is the country I am from, and somewhere in there is the year the line first reached my home town.

Drawing the network…
0stations0km2026
7,927dated stations
850line sections
98%on true alignments
22kpeople explored
Problem
170 years of Indian railway history is buried in section-by-section opening ledgers, dates and mileages but no map. The maps that exist flatten all of it into a single “today,” so you can never watch the network grow, or find the year the line first reached your home town.
Insight
Turn the ledger back into a map you can feel grow, year by year, and watch a partition cut the network in two.
Decisions
The hard part was honesty. 28,000 km of line runs today that the records cannot yet date; I refused to hide it or invent a date, and drew it in grey beneath the dated lines in ink. Colonial spellings had to be translated (Cawnpore to Kanpur). Where I could not date something, I said so. A map of a country's memory has to be careful with the truth.
Build
A custom canvas renderer that projects 850 dated line geometries and thousands of station points, redrawn live as you scrub a timeline from 1853 to 2025. The “find your station” search runs entirely in your browser. I scaffolded it with Codex, then built the renderer with Claude.
Data
850 dated line sections and 7,927 dated stations, placed against a gazetteer of 13,000+ stations (Wikidata, DataMeet) and routed along today's real rail alignments from OpenStreetMap. 98% of the routed mileage follows the true track.
Outcome
22k visitors on the site, and featured in Datawrapper's Data Vis Dispatch, the field's weekly roundup of the best work.
Feedback
“Thanks for sharing your work, the tooltips, wow!”
— Michael Do Thoi, Datawrapper

Made with Structure: Codex · Design, build & deploy: Claude · Images: ChatGPT · Research: Claude · Copy: Gemini → GPT → Claude · QA: Gemini

These four are the ones closest to my heart.
There are 77 in all.

Browse every Data Drop →

Featured in

A few places the work has shown up.4
The New York Times
feature
Hacker News
front page ×2
9to5Mac
feature
Forbes
30 Under 30

Tools used

Everything here is designed and built end to end with these.6
Claude
ChatGPT
Gemini
HTML
CSS
Three.js

What it takes to ship one

Every drop is built to feel easy. None of them are. Each one begins as a heap of raw data and ends as something you can play with in a second. Here is everything that happens in between.

77 of these so far, almost one a day. 450,000 people have come by.

And that is only what survived. I gather the data, clean it, and throw most of it away, so for every figure that lands on a page, far more got cut. What is left still runs to more than a thousand data files and tens of thousands of images. The deleting is as much the job as the building.

The range

From the quick and the fun to the deep and the unreasonable. One person made all of it.

Fun and fast
  • Ryanair, mapped for real
  • Toy Story
  • The Weasley family clock
  • Every Android mascot
  • The Royal Oak watch lineage
Deep and heavy
  • Tokyo's station melodies2,522 stations, 637 jingles
  • Every London pub, and the ones that closed~5,500 pubs, 17 steps
  • Every iPhone ad, 2004 to 2026752 found, 726 kept
  • Sachin's whole Test career200 innings, hand-charted
  • AI and the bottom rung21 peer-reviewed papers

One drop, end to end

Take the London pubs drop. Before a single pixel was drawn, the data went through seventeen steps. This is the part nobody sees.

  1. Pull every London pub from OpenStreetMap
  2. Scrape the public registry of pubs that have closed
  3. Build a specimen card for each one
  4. Download the photographs
  5. Read the closure stories out of old web pages with OCR
  6. Tag every pub to its London borough
  7. Render the first-draft maps
  8. Re-render them against real geography
  9. Convert the whole set to GeoJSON
  10. Parse the rich closure records, field by field
  11. Classify the pub names and spot the chains
  12. Pull the official closure statistics
  13. Scrape who owns which chain
  14. Process the statistics
  15. Render the neighbourhood vignettes
  16. Geocode every closed pub
  17. Render the final, living map

Making it effortless

Effortless for the reader means relentless for me. Every drop earns its polish before it ships.

Works on a phone
Every layout folds down to tablet breakpoints and mobile drawers, two to six of them per drop.
Three of every image
Maps and heroes ship at desktop, tablet and phone sizes, so nothing weighs more than it has to.
Tested on a real phone
Before anything goes live I screenshot it on a phone-sized screen and fix whatever breaks.
Loads, never traps
Loading states, work done in your own browser, and gates that fail open so a network blip never traps a reader.
Quiet by design
I cut the chrome back, again and again, until the data is the loudest thing in the room.

The studio behind the studio

I don't lean on one AI. I keep a team of them, each pointed at the one thing it is genuinely best at, and I move between them.

Structure
Codex scaffolds the page fast. I take the controls back before it has to deploy, where it falls apart.
Design and build
Claude, for the design and the functionality.
Images
ChatGPT.
Research
Claude, and Grok for anything on X, the one model with real access to it, to read the room and find the right people.
Words
Gemini drafts, GPT checks, Claude finishes, Gemini reads it one last time. The fact-checking rides the same chain.
The final read
Gemini. It catches what the others miss.
Hands on, deploy
Claude, every time.

And a few that never clock off:

Every day
One agent keeps a live page current on its own, without me touching it.
Every 15 minutes
Another watches Hacker News and tells me the moment something is happening.
On standby
Two more wait with the full picture, ready to fix the bugs a Reddit thread finds the minute I post.

My team is my agents, and a small corner of the internet that prepares each piece before it goes wide.

The ones not done with me

I almost never abandon a piece. I either ship it, or I keep pushing. Two are worth being honest about.

Killed on conviction

AI and the bottom rung

I built the whole research dossier, twenty-one papers deep, and then stopped believing the data. So I never shipped it. I would rather kill a piece than put out something I no longer trust.

Still beyond the tools

Unlock every iPhone

Some of the ideas in it are still above what today's AI can do. I have not dropped it. I keep pushing, and one day the tools will catch up and I will get it right.