Robert Stelea
I build hardware and software. Right now that means a GPU on an FPGA, a way to see around a corner, and a learning tool built on struggle.
Feint
A 1v1 mobile duel. Both players pick a move in secret each round. The reveal is simultaneous. Best of 3. A match takes about a minute.
There is no pay to win. You can only buy cosmetics. You master one character, then move to the next, and there is no power ceiling.
I built it in about 26 hours across 17 Cursor sessions.
Stack: Expo and React Native. Supabase Realtime syncs the reveal. RevenueCat handles purchases. react three fiber renders the 3D. Characters and animation are made in Blender.
Opti
Exam prep for the ESAT, the admissions test for engineering and sciences at UK universities.
Students work through past papers. A retrieval pipeline finds the right questions. A gate locks the answer until you show you understand. Mistakes come back through spaced repetition.
I co-founded it and I am the developer. My co-founder handles distribution.
Stack: Next.js, Supabase with pgvector, Voyage AI embeddings, Prisma, Claude API, Cloudflare Pages, Lemon Squeezy, PostHog.
Aporia
Most learning tools hand you the answer. I think you learn by struggling with the problem. Aporia is a tool to help people learn and think better. I want it to be the tool people are pointed to when they ask how to become smarter.
It grew out of Opti. It is not built yet.
FPGA GPU
I am building a GPU in Verilog on an iCE40UP5K FPGA, on an iCESugar v1.5 board. The tools are open source: yosys, nextpnr and icepack. I simulate in Icarus Verilog with Python scripts.
Built so far:
- A 16 bit ALU.
- An 8 register file with 2 read ports and 1 write port.
- A CPU fetch and decode stage.
- A shader core and framebuffer. In simulation they draw a 320 by 240 Romanian flag in 2 bit colour.
Only the pixels that changed since the last frame are recomputed. The chip has very few logic cells, so this keeps the cost down.
A dedicated accelerator computes the Life grid. The GPU displays it. Real GPUs work this way, with fixed function units next to programmable cores. VGA output is not built yet.
Evolving Game of Life
Every cell carries its own rulebook. The rulebook is 18 bits. There is one bit for each situation: the cell is dead or alive, with 0 to 8 live neighbours. Conway's rules are one value out of 262,144 possible rules.
This is artificial life on custom hardware. The circuit is fixed and the genome data evolves. It is not evolvable hardware, where the circuit itself changes.
It runs on the real chip:
- 128 by 128 cells.
- 18 bit genome per cell.
- 8% of the logic cells (465 of 5,280).
- 0 mismatches against a reference model.
- I tested the Verilog against a reference model on Conway's rules and on HighLife. Both gave 0 mismatches. On the board, a uniform Conway genome matched the simulation exactly.
- The first version held the grid in flip flops and used 61% of the logic cells. Moving the grid into memory gave four times the cells for 9%.
Next is mutation, then the statistics. I will measure two things: how much variation is left in the genomes, and whether the variation sits inside regions or between them (F_ST). I will compute it at many region sizes and compare against a shuffled baseline. There are no results yet on whether the rules converge or split.
Around a corner
Light bounced off a wall can carry information about what is hidden behind a corner. I am building a system that times the returning light with the ams OSRAM TMF8828 sensor.
I worked out the photon budget by hand. About 1.9e-11 of the emitted light survives three bounces. That is roughly 3,000 returning photons per 32 ms measurement.
Marx generator
A high voltage pulse circuit.
Gyroscope hack
I build hardware and software.
Place: Belgium. Nationality: Romanian. Languages: English, French.
Results:
- A levels (Pearson Edexcel): Maths, Further Maths, Physics, Chemistry. Predicted 4 A*.
- GCSEs: seven 9s and three 8s.
- 1st in Belgium, IPhyC, the International Physics Competition.
- 1st in Belgium, Purple Comet Math Competition.
- School: British School of Brussels.
Interests: competitive physics. Product and industrial design: objects, hardware, shoes. Strength training and MMA. Certified audiophile. Classical sketching, just starting. Brain computer interfaces and consciousness research.
Imperial College London Global Summer School (August 2025)
A competitive summer programme taught by Imperial faculty.
Week one was university level physics: oscillations and wave mechanics. I ran a simple harmonic motion experiment in the undergraduate teaching lab and analysed the data. I built simulations in Python, NumPy and SciPy, which I had not used before.
Week two was entrepreneurship, through the Innovation Challenge run by Imperial's Enterprise Lab. In a mixed team I pitched a wildlife detection system to protect drivers and animals on roads. We went from idea to pitch in a few days.