Small experiments on how people behave.
From one person to eight billion. Each thing I build is a question about people at a different size. Pick one on the scale.
People in the experiment, log scale
World Chaos Map · live since January 2026
Can one fair rule, and no opinions, rank the whole world's chaos from the news?
Method
Every four hours, read 486 audited feeds plus GDELT. Score each article on evidence of harm. No country appears in any list, cap or override.
Readings
- v3.2 deleted every country-specific patch from v2.
- Replayed on 7 Oct: France 79 → 62, Myanmar 55 → 68, Syria 26 → 51.
- Of 1,162 feeds listed, only about 420 had ever worked. 486 remain.
Next
Confidence for each story, a check on alarming claims, and conflict data from UCDP.
Instrument
A simplified, in-browser version of the real rules, using the real constants from v3.2.0. The live model reads far more patterns, checks where the event happened and how widely it was reported, then works across days and weeks.
Public Opinion · early, not public yet
If anyone can ask and anyone can vote, does the crowd get clearer or louder?
Method
A public sentiment layer for the internet. Ask a question, vote, and watch collective opinion move in real time. Clarity, not outrage.
Readings
None yet. It is still on the bench.
Instrument
Should social apps show you why a post is in your feed?
Vote to see the crowd. In this demo the crowd is simulated.
One Sentence · live, invite only
Can strangers write a story that holds together if each one sees only the line before theirs?
Method
No profiles, no likes, no audience. You read one sentence, write the next, and never see the story again. Email checks exist only to keep it human.
Readings
Live since January 2026. one-sentence.org ↗
Instrument
The line before yours
Demo story. Nothing you type leaves this page.
MaetriXs · building since August 2025
If you count hellos and catch-ups like reps, do people make more of them?
Method
A fitness tracker for your social life. Log the people you actually meet, earn XP, and watch your connection graph grow. A two minute quiz finds your social archetype first.
Readings
Waitlist open. maetrixs.com ↗
Instrument
Demo. Do the same thing twice and the bond gets thicker instead of adding a stranger.
VerumVeil · three ciphers, 2024
Can a secret sit in plain sight, in a row of faces, and stay a secret?
Method
Three ways to hide in plain sight. AI Sentence Crypt turns your message into an ordinary sentence that means something else. SkipCode, borrowed from Sherlock's The Empty Hearse, buries it among innocent words. Emoji Crypt, the one here, turns it into faces. The password decides everything.
Readings
Honest result: Emoji Crypt is a substitution cipher. It hides a short note from a glance, but frequency analysis would crack a long one. GitHub ↗
Instrument
Runs in your browser. Change the password and try to open it.
Last Drink · in design, name not final
Can a drinking app reward going slower instead of drinking more?
Method
Points stop at hourly, nightly and weekly caps. Water between rounds earns points. There is no progress bar to chase, and alerts flag sudden spikes. Safeguards borrowed from gambling, from day one.
Why me
Five years behind London bars. I have watched the third drink turn into the sixth more times than I can count.
Instrument
Start the night. Two an hour earn points. Water counts only between drinks.
LifeOS · research since February 2026, working name
Can parts of how one person thinks and behaves be modelled honestly, and updated as they change?
Method
Cognitive psychology, behaviour data and machine learning, building toward a personal digital twin. My final year project is the first narrow, testable piece.
Readings
Early. The research plan lives on shawsuraj.com ↗
Instrument
When did you wake up this week? The model guesses tomorrow.
An average with an honest range. A real twin has to explain the late nights, not just widen the range. That gap is the research.
Off the scale
Not every experiment is about people. These ones poke at data, machines, mail servers, games and movies.
Who gets declined, and how much can the rest borrow? Three notebooks, six models, and a regression score so good it made me suspicious.
2026SpSky PortalcourseworkA Django portal for an engineering org, with a live network map of which teams depend on which.
2026CaSmart Campus APIcourseworkA REST API for rooms, sensors and their readings. JAX-RS on embedded Jetty, nothing but memory.
2024NuNuntiussecurityExplored email spoofing through a small web form. Retired once SPF, DKIM and DMARC bounced every message, which was the lesson.
2022CwClimateWatchwebA PHP site on climate action, with sign up and login. Looking back, the first sketch of watching the world.
2020MbMovie Barcodemedia
Turns any video into a barcode of its colours, one stripe per frame. Python, v1.5.
2019WfModSec WAFsecurityOne script that turns a Linux VM into a web application firewall. Tested with a target, a WAF and an attacker on one network.
2021BsBattleshipgameBattleship in the terminal, plus sea monsters. Hit the Kraken and it eats your score. Hit Cetus and every ship moves.
Whatever I build next lands on the scale or on this shelf.
Every project, in a plain list
The facts without the toys. For the full picture of me, my tech CV and GitHub.
| Project | What it is | Built with | Status |
|---|---|---|---|
| World Chaos Map2025 | Scores every country from 0 to 100 from the news, every four hours. 486 audited feeds, rule based, no manual overrides. | TypeScript, React, Vite, MapLibre, Supabase, Postgres, GitHub Actions, Vercel | Live |
| One Sentence2026 | Strangers write a story together, one sentence each, seeing only the line before. | React, TypeScript, Vite | Live, invite only |
| MaetriXs2025 | A fitness tracker for your social life. Log real meetings, earn XP, grow a connection graph. | React, TypeScript, Tailwind | Building |
| Public Opinion2026 | A public sentiment layer for the internet. Ask, vote and watch opinion move in real time. | React, TypeScript, Supabase | Early, private |
| Last Drink2026 | A drink tracker for nights out that rewards pacing. Hourly and nightly caps, water points, no progress bar. | In design | Design |
| LifeOS2026 | Research programme on modelling how one person thinks and behaves. My final year project is the first piece. | Python, machine learning, cognitive psychology | Research |
| Loan Approval2026 | Predicts declined loans and maximum loan size across 54,000 applications. A tuned decision tree caught 65% of declines at 90% precision. | Python, pandas, scikit-learn, Jupyter | Coursework |
| Sky Portal2026 | Portal for an engineering org: teams, messages, meetings, and a network map of team dependencies. | Python, Django, SQLite, vis.js | Coursework |
| Smart Campus API2026 | REST API for campus rooms, sensors and nested sensor readings. | Java, JAX-RS, Jersey, Jetty | Coursework |
| VerumVeil2024 | Hide messages in plain sight with three password based ciphers: AI Sentence Crypt, SkipCode and Emoji Crypt. | Python, CLI | Prototype |
| Nuntius2024 | Explored email spoofing through a web form. Retired once SPF, DKIM and DMARC blocked delivery. | Python, PHP, ngrok | Retired |
| ClimateWatch2022 | A site on climate action with accounts, sign up and login. Looking back, my first attempt at watching the world. | PHP, MySQL, Bootstrap, jQuery | Done |
| Movie Barcode2020 | Turns any video into a barcode of its colours, one stripe per frame. | Python, OpenCV, NumPy | Done, v1.5 |
| ModSec WAF2019 | Script that turns a Linux VM into a web application firewall, tested in a three machine lab. | Bash, ModSecurity, Apache | Done |
| Battleship2021 | Console Battleship against the computer, with sea monsters: the Kraken eats your score, Cetus moves every unsunk ship. Group project at Brunel. | Java, Maven | Done |
Nothing matches that yet.