nakki✳︎
a few ideas
floating around ⤴︎
i also like math a lot
Computer Science and Mathematics at UCL

NakshatrVelagapudi

I enjoy building apps, using AI for cool things, and applying maths in unique ways.
Let me know if you’d like to turn an idea into reality!

Take a look ↓
LONDON, UK ✳︎ MATHS & CS @ UCLSCROLL TO FIND OUT MORE ↓
UKMT SENIOR MATHS CHALLENGE — GOLD ✳︎ PERSE CODING CHALLENGE — TOP 5% NATIONALLY ✳︎ BEBRAS / RASPBERRY PI TRAILBLAZERS — DISTINCTION · TOP 100 OF 5,380+ ✳︎ BPHO COMPUTATIONAL PHYSICS — GOLD ✳︎ A-LEVEL CS NEA — 70/70 ✳︎
A FEW THINGS I’VE BEEN WORKING ON

Stuff I’ve made.
And what I learned.

A mix of apps, hackathon projects, and ideas I wanted to try out.
Here’s how they turned out.

the project pile ↴︎
01 / THE BIG ONE OUT IN THE WORLD

Illustra

Your brain has enough tabs open.

As a solution, I created a centralised intelligent study tool to aid you. It manages notes, study materials (that you upload), flashcards and also contains an AI that runs locally on your computer (meaning it can be used both online and offline)

On-device AIDesktop appLead developer
Meet Illustra ↗︎
IDEA →
SHIPPED.
● ● ●your very own study desk↗︎
Illustra desktop app showing notebooks, materials, flashcards and linked notes.
yes, this is the actual app ↑
KOTLIN / COMPOSE / LLAMA.CPP / SQLITEPlay with the web demo ↗︎
02 / THINKING A FEW MOVES AHEADADAPTING TO NEW CHALLENGES

3/465Optiver AI Chessathon

A chess engine with a need for speed.

Out of the 465 teams globally, we topped the swiss qualifer round and reached the 32-team London knockout, in which we finished third overall. Read 'More about the engine' for more information.

Python / NumbaPyTorch / NNUELLVM / AVX2
AI Chessathon ↗︎
£250TEAM PRIZE
one core and 2 GB of RAM to work with.
1ST IN SWISS QUALIFIERS · 3RD IN FINALS~40% FASTER WITH AVX2 ↗︎
03 / THREE DAYS, ONE IDEALEADING A TEAM

Cambridge
HackEdHackathon Winner

An AI platform that turns lessons into revision tools.

For this, to match the hackathons theme, we created a web-app application to turn any lesson content uploaded (by teachers) into notes that are distributed to students in the class intelligently, based on each students strengths and weaknesses (which is constantly updating with more assignments). Along with the generated notes, we created anki-style flashcards and practice questions all using the OpenRouter API. I was the leader of the team and handled the full-stack development of the project.

Next.jsDjangoOpenRouter
Read the Dulwich article ↗︎
THE LEARNING LOOP

Lesson to revision.

↗︎ Notes✳︎ Flashcards? Questions
LESSON IN→IDEAS OUT
WE
WON! ✳︎
a little illustration of the idea
3 PEOPLE / 3 DAYS / ONE WORKING PLATFORMNEXT.JS FRONTEND / DJANGO BACKEND
04 / AI AGENT PAYMENTSDESIGNING SAFEGUARDS

Cantor8
Hackathon4th Place

A wallet that lets AI agents spend within limits you set.

Our five-person team built an AI-agent wallet with spending rules enforced by smart contracts. I implemented per-period and lifetime caps, predictable allowance resets, and controls to revoke an agent’s spending access. We won a £1,000 team prize.

PythonDamlSmart contracts
Big ideas.
Bounded budgets.
£1,000TEAM PRIZEconcept illustration · real safeguards
7 REFUSAL CASES TESTEDPER-PERIOD CAPS / LIFETIME CAPS / REVOCATION
SCHOOL PROJECTS, TAKEN FURTHER

A couple more
things I’ve built.

Some nice physics and a game

05 / MAKING SENSE OF LIGHTMATHS INTO MODELS

BPhOComputational PhysicsGold

Python simulations of how light bends, focuses and splits into colour.

I built models and interactive visualisations across twelve computational tasks, exploring lenses, prisms, refraction and rainbows. I used ray tracing and numerical methods to compare the physics with simulated and experimental data.

Python / NumPyMatplotlibTkinter
LIGHT LABMODEL SKETCH / 01
LIGHT INPRISMCOLOUR OUT
n₁ sin θ₁ = n₂ sin θ₂ follow the ray ↗︎
an illustration of the simulations
12 COMPUTATIONAL TASKSREFRACTION / LENSES / DISPERSION / RAINBOWS
06 / BUILDING EVERY MOVING PARTGAME DEVELOPMENT

A-Level CS NEA70/70

An eight-level platformer, built in Python and Pygame.

I built a modular game with movement physics, buffered controls, collision detection and saved personal bests. Its 2,000+ lines of code included a level system, asset caching and save files. By caching and reusing loaded assets, I cut level-loading time from 650 ms to 170 ms.

PythonPygameGame physics
THE JUMPING KNIGHTPYTHON / PYGAME
Knight platformer screenshot with an interactive portfolio hub overlay
PLAYER 010/3 GEMS
↗︎
LEVEL HUBMINI RUNS
LEVEL 01 SELECTED

← → to move · SPACE to jump
Collect 3 gems. Reach the portal.

TAKE A BREATHER.
NICELY DONE.Run complete!
SPACE TO JUMP · ESC FOR HUB

650 ms → 170 msLevel loading with asset caching
Reusing loaded assets instead of reloading them
2,000+ LINES / 8 LEVELSPHYSICS / COLLISIONS / LEVELS / SAVES
Nakshatr Velagapudi wearing glasses, a navy suit and a striped tie
UCL — University College London
More about me

Hi again.
I’m Nakki.

I’m studying Maths & Computer Science at UCL. I like the bit where an abstract idea becomes something you can actually click, play, or learn with.

Outside these projects, I lead technology at UCL Hedge Fund Society. I’ve also taught 20+ beginners how to build and evaluate models. Making things is fun. Helping someone else make their first thing is pretty great too.

See what’s on my GitHub ↗︎
GOT AN IDEA? A QUESTION?LONDON, UK ↗︎

Let’s make
something click.↗︎

Nakshatr’s Portfolio

Choose your theme.

Select a theme to explore my portfolio. You can change it at any time.