Mostly things I actually need: a heart monitor that works through WiFi, a robot that quizzes me before tests, and apps that make revising less painful. When something doesn't fit in code, it usually ends up in a poem.
I don't like making demos that only work once. If I build a study app, I actually revise with it. If I build a heart monitor, it has to find a real heartbeat.
I'm a Grade 9 student studying for my IGCSEs. Most of my free time goes into making things: apps, Android tools, electronics, and a small desk robot that I taught to quiz me.
I like practical and research work over pure theory. I learn best by building something and testing it. It usually breaks the first few times, and working out why is honestly my favourite part.
When I'm not coding, I write. Poems are where I put the stuff that doesn't fit in a program.
Currently
Grade 9, IGCSE
Prefers
Practical & research work
Main language
Python (for now)
Hardware
Arduino, ESP32, Reachy Mini
Next up
Focused ultrasound
Also into
3D modelling, literary pieces, robotics, electronics
Want to talk?
If you have a question about one of my projects, a competition, or a poem, just email me.
Everything I have built and written in 2026, in the order it happened.
7projects finished
2poems written
1major competition final
June
Cortex
Built an offline AI study companion, with the AI written from scratch.
July
RadioBeat begins
Found the problem (silent AFib at night) and wrote my first proposal for InnovateX 2.0.
July
Periodic Table
An interactive table of all 118 elements, made while revising chemistry.
August
Breathing and heartbeat, live
RadioBeat read breathing, then a heartbeat, straight from WiFi signals.
September
InnovateX 2.0 Dubai Finalist
Submitted the final RadioBeat project, and made it to the finals.
September
IQ Lab, Reachy and the Translator
A cognitive test battery, a robot study buddy and a live screen translator.
2026
“Sibling” and “Mirrored Tree”
Two poems, both up on my Literary Works page.
Next
Focusing sound
Learning the physics of ultrasound, then building a focused ultrasound rig from the signal generator up. See the plan
Future scope
What I want to build next.
RadioBeat reads your body without touching it. Next, I want to build something that can actually reach inside it, using sound instead of radio, and without any cutting.
Near-future plans · not built yet
The idea
Focused ultrasound.
A scanner sends sound in to look around. Curve the transducer instead, and every part of the wave arrives at one point at the same moment. The tissue on the way in stays cool. The focal spot, a few centimetres deep and a few millimetres across, gets hot enough to treat. There is no cut and no needle.
Most people know ultrasound as a way to see inside the body. What I find more interesting is that it can also treat things. Hospitals already do this. Focused ultrasound is used on essential tremor and on some tumours, and in trials it can open the blood brain barrier just long enough to let a drug through.
I want to build the whole chain myself, from the bottom up. Start with the physics, then a signal generator, then something realistic to aim it at, then the focused beam, and last a simulation to check whether my measurements mean anything at all. Five steps, roughly one a year.
01Now to 2027
Learn the sound.
Before building anything I need the physics properly, not just the exam version of it: wavelength, acoustic impedance, why sound reflects at a boundary, how much a beam loses on the way through tissue, and how a curved face turns a flat wave into a point.
A learning journal, written up with my own diagrams after each session
A pulse oximeter on an Arduino: red and infrared light through a fingertip, heart rate drawn live in Python
It measures the same thing as RadioBeat but with totally different physics, which is exactly why I want to build it
ArduinoMAX30102Pythonmatplotlib
022027
Make the sound.
A generator that puts out a clean, controllable ultrasound signal. Therapeutic work sits roughly between 1 and 5 MHz, far above anything I have driven before, so this is where my electronics has to get serious.
An AD9833 direct digital synthesis module, set over serial, feeding an amplifier stage
The schematic drawn properly in KiCad instead of on paper
Python on the laptop to set the frequency and draw the output waveform
An enclosure modelled in Fusion 360 and printed on the P1S
KiCadAD9833ArduinoPythonFusion 360
03Early 2028
Build something to aim at.
You cannot test on a person, and water is too easy. Phantoms are gels mixed so that sound travels through them at close to the speed it travels through human tissue, which is what makes a test mean anything.
Moulds designed in Fusion 360, with slots for wire and bead targets set inside the gel
Gelatin and agar recipes, cast, cured, and photographed at every stage that goes wrong
Speed of sound measured through each phantom and compared with published tissue values, so I know how honest the phantom is
A DICOM viewer in Python, to open a real scan, scroll it, and measure distances using the pixel spacing stored in the file itself
Fusion 360Agar & PVA gelspydicomPython
04Late 2028
Aim it.
The real build. A single element focused transducer needs more than a signal. It needs power, and it needs the electronics matched to the element, or most of that power reflects straight back into the amplifier instead of going into the water.
A power amplifier and an impedance matching network, on a fabricated PCB rather than a breadboard
A housing printed to hold the element at exactly its focal distance, with a water coupling face
A hydrophone on a Raspberry Pi ADC, moved point by point to map pressure against position
Actually measuring where the focal spot lands, instead of just assuming I know
KiCadPCB fabRaspberry PiHydrophone
052029
Check the maths.
One measurement could be a fluke, and a simulation could just be wrong. I only trust them when they agree. I learned this on RadioBeat, which doesn't show a heart rate unless two different methods agree to within 12%.
The same transducer modelled in k-Wave, giving 2D pressure maps of the focal zone
Simulation laid over measurement and compared on three numbers: focal distance, −6 dB beam width, peak pressure
If they disagree, finding out why is the interesting part
k-WavePythonNumPy
Why it matters
What focused sound can already do.
Heat one spot.
Hold the focus still and the temperature there climbs far enough to destroy tissue, while everything around it is left alone. This is how focused ultrasound treats tumours and tremor today.
Nudge a brain circuit.
Short, low-power bursts through the skull can calm down or wake up a small part of the brain. There are no electrodes and no surgery, and the effect wears off.
Drop a drug in one place.
A drug carried inside a capsule that only opens where the beam lands, so the dose goes to the tumour instead of the whole body.
The honest version. All of these are near-future plans, not built yet. The dates are my best guess, and they could easily slip. When I do build them, the electronics, the code, the CAD and the write-ups will be my own work, and I will always say clearly which parts came from someone else.
Skills & tools
What I use.
The tools and hardware behind my projects.
Main language
Python.
It's what I use most, from RadioBeat's signal processing to my robot's brain.
Watching your heartbeat through the air, using only WiFi.
0things to wear
±0.5breaths/min accuracy
2.7BPM median heart-rate error*
6weeks to build
The problem
Atrial Fibrillation (AFib) is an irregular heartbeat that can cause strokes. It is often silent, comes and goes, and usually happens while you sleep, which is exactly when nobody is checking. Every device that could catch it has to be worn, and most people take their smartwatch off at night.
How can I keep track of someone's heartbeat all through the night, and warn them if it becomes dangerously irregular, without them having to wear or touch anything at all?
How it works
Every breath and heartbeat moves your chest a tiny amount, and that changes how WiFi signals travel across a room. One ESP32 sends a steady WiFi signal, and an M5StickC Plus2 reads its Channel State Information (64 channels, about 40 times a second). My Python program then:
Cleans the radio's own noise and removes reflections from the room
Finds breathing (7 to 36 breaths a minute), then subtracts it and its echoes
Averages over four minutes using only channels that agree, to find the heartbeat
Measures the gaps between beats (RMSSD, pNN50, entropy) to spot AFib
Only warns if five separate checks all pass, to avoid false alarms
What it can do
Measure breathing rate with nothing worn and nothing touching the person
Flag an irregular rhythm, and refuse to judge when the signal is too noisy
Count how many people are breathing in range
Ignore fans and air conditioning automatically
Run as a web app with a live view, recorded sessions and optional accounts
Being honest
Breathing is reliable. The heartbeat is at the edge of what this hardware can do: it picks up movement down to about 1 mm, and a heartbeat moves the chest about 0.45 mm. *The accuracy numbers come from test signals with a known answer, not yet from real people. RadioBeat cannot replace an ECG or diagnose anything. It can only suggest that someone should get checked.
Not availableNo code is available to download for this project.
Robotics · AI
Reachy Study Buddy.
My Reachy Mini desk robot, turned into a voice tutor that listens, sees and moves.
What it does
Listens to what I say and replies out loud
Reading mode: I read whole textbook chapters aloud and it quizzes me on what I just read
Looks at worksheet questions through its camera
Follows my face and moves its head, antennas and base to stay lively
Shows emotions with its antennas: wagging when excited, drooping when sad
Understands plain movement commands like “look up” or “dance”
How it's built
The brain is a local AI model (Qwen, running through Ollama), so it's free and nothing leaves my laptop. Whisper turns speech into text on the GPU, and Piper speaks the replies. Face tracking uses a calibrated camera model so the head follows smoothly.
PythonOllama / QwenWhisperPiper TTSComputer visionReachy Mini
Code of this project
You can download the full code and try it yourself. It's for personal and school use only. Every file has my copyright on it, and the rules are in LICENSE.txt.
reachy-study-buddy.zip122 KB · Needs Python 3.12, Ollama and a Reachy Mini robot. Setup steps are in README.md.Download code
Note: my personal question bank is not included. Quizzes from chapters you read aloud still work.
AI · Education
Cortex.
An AI study companion where the “AI” is written from scratch and works fully offline.
What's inside
Question answering over your own notes using TF-IDF and cosine similarity
Summaries, auto-generated quizzes, flashcards and mind maps
Spaced repetition that adapts to how well you remember
A maths engine: symbolic differentiation, integration and equation solving with worked steps
Handwriting recognition for digits and maths symbols (k-NN), trainable on your own writing
A Live Tutor with voice and a shared whiteboard
Reads PDFs and Word documents right in the browser
Vanilla JSNLPk-NNWeb Speech API
Code of this project
You can download the full code and try it yourself. It's for personal and school use only. Every file has my copyright on it, and the rules are in LICENSE.txt.
cortex.zip86 KB · Open index.html in a browser, or run Cortex.bat for the desktop app with voice.Download code
Android
Adhvik's Translator.
An Android app that translates any text on my screen into English, live.
What it does
Translates Spanish, Malay, Russian, Korean and Japanese on screen as it appears
A floating on/off button I can park anywhere, plus a Quick Settings tile
Choose one area of the screen to translate per app
Understands romanized Hindi and Russian typed in English letters
Everything runs on the phone: OCR and translation never leave the device
How it's built
It's an Android accessibility service. Google ML Kit reads Latin, Korean and Japanese text, and Tesseract reads Russian (Cyrillic), which ML Kit can't. Labels are tracked between frames so they don't flicker.
KotlinAndroidML KitTesseract OCR
Code of this project
Not availableNo code is available to download for this project.
Desktop app
Lumina.
A private journaling app that feels like its own little operating system.
Features
Rich-text diary with moods, weather, tags and writing prompts
Insights: streaks, mood heatmap, weekly charts and a tag cloud
A lock screen with a live clock, PIN pad and changing nature scenes or your own photos
Lumi, a built-in AI assistant for chat and study tools
A command palette (Ctrl+K) to jump anywhere
Packaged as a desktop app, with zero outside requests
Vanilla JSPythonpywebviewPyInstaller
Code of this project
You can download the full code and try it yourself. It's for personal and school use only. Every file has my copyright on it, and the rules are in LICENSE.txt.
lumina.zip593 KB · Open index.html in a browser, or run Lumina.bat (needs Python) for the desktop app.Download code
Statistics
IQ Lab.
A set of thinking tests I built to see how my scores change over time. One score on its own does not say much.
How it works
Five areas: reasoning, knowledge, visual, working memory and speed
Every puzzle is generated fresh by code
Scored with item response theory, with age norms
Tracks the trend from one sitting to the next
Scripts that test the scoring by simulation and check every puzzle can be solved
There's no official standardisation sample, so the absolute score might be a few points off. That offset stays the same every time, which is why the trend is the part to trust.
JavaScriptStatisticsIRTSupabase
Code of this project
You can download the full code and try it yourself. It's for personal and school use only. Every file has my copyright on it, and the rules are in LICENSE.txt.
iq-lab.zip99 KB · Open index.html in any browser. Everything runs offline.Download code
Note: Supabase code not included. The download works fully offline, because I took out the optional cloud sign-in and sync.
Chemistry
Periodic Table.
An interactive table of all 118 elements that explains why each one sits where it does.
Atomic number, mass, and the number of protons, neutrons and electrons
Group, period and block
Electron configuration and electron shells
A written explanation of why the element belongs to its family, like why it is a noble gas or a metalloid
Tiles show the rounded mass, and the detail panel shows the exact value
I built it while studying chemistry, because knowing why an element is in its group is what actually helps in exams.
HTMLCSSJavaScriptNo dependencies
Code of this project
You can download the full code and try it yourself. It's for personal and school use only. Every file has my copyright on it, and the rules are in LICENSE.txt.
periodic-table.zip15 KB · Open index.html in any browser. One file, no setup.Download code