evrim (noun, Turkish): evolution.

I've been writing software since I was seven. I study Computer Engineering at Bilkent, in Ankara, and these days I direct AI agents instead of typing every line: real-time audio, a YouTube production line, a real-time face and body changer.

Evrim Mete Öztürk

This is what I build now.

Synfonos

Audio from several devices, mixed live into one pair of headphones.

Every device sends its sound over the local network in 10 ms packets: a Rust engine, UDP, Opus. One receiver mixes all the streams in real time. When a packet goes missing, a copy riding in the next packets takes its place. Synfonos 1.0 shipped on 25 September 2026.

its own low-latency protocol, plus AirPlay and DLNA, so some senders need nothing installed
commits
1,298
days since the first commit
44
Rust tests
3,148
Rust crates
23

1,298 commits in 44 days and 3,148 Rust tests in 23 crates, counted from the repository on 28 September 2026.

Synfonos 1.0 launch film, cut down to 29 seconds
Synfonos, the real app Open it full screen
The web version of the shipped app, loaded from synfonos.com when you press Run. Try the ring and the volumes.

Don't take my word for it.

Break the Wi-Fi.

This is Synfonos's loss recovery, running in your browser. Press play, then drag across the stream to mark packets; let go and they are destroyed. Then switch Synfonos recovery off and listen again.

Drag across the stream to mark packets; let go and they are destroyed.

Recovery
Connection problems
Lost in transit
0
Rebuilt from a copy
0
Had to be invented
0

  • Each column is one 10 ms packet: its own frame on top, copies of the three frames before it underneath.
  • Hollow: lost in transit.
  • Pale: rebuilt from a copy.
  • Red: no copy survived, so the decoder had to invent the sound.

In Synfonos's own measurement on congested Wi-Fi (5 % loss, 60 ms jitter), one copy per packet still left 7 frames to invent. Two left none.

The network here is simulated. The music is the opening of Bach’s Prelude in C major (BWV 846), played by Kimiko Ishizaka on a concert grand (Open Well-Tempered Clavier, public domain): an unbroken line of notes, so every gap is audible. The recovery rule is Synfonos’s own, with the three copies chosen for Wi-Fi: every packet carries the three frames before it.

Evrim is Turkish for evolution, so everything I build is named Evo-.

EvoMix, Synfonos’s old name

Synfonos, under its working name: the one you just broke. Rust, UDP and Opus.

Pairing a phone: compare the code, confirm

The mixer: one ring, a volume per device

Choosing where the mix plays

evorift

When your network breaks certain connections, evorift repairs them on your own PC. No VPN, no server.

94 commits and 227 Rust tests, counted on 28 September 2026.

evorift: the real interface running on sample data
evorift, the real interface on sample data Open it full screen
The real interface, running in your browser on sample data. It changes nothing on your computer.

EvoVideoX

Give it a YouTube link or a video and it cuts short-form videos out of it, in six stages: transcript, script, footage, voice and subtitles, an After Effects project, the render. More than 25,000 lines of Python and React.

An eight-agent chain built it:

  1. Architect
  2. Research
  3. Innovator
  4. Planner
  5. Coder
  6. Reviewer
  7. QA
  8. Reporter

EvoVideoX is one machine in a longer line: my YouTube software, from an idea to a video that is published, cleared and streamed.

About 266,000 lines of code across the eight repositories of that line, counted on 27 September 2026 (tests included; generated and third-party code left out).

Today it runs the Toon Kids network: 15 channels, more than 2.6 million subscribers.

hours streamed live, in 1,657 streams
7,176.7
videos uploaded, 262 hours of them
420
licences entered against copyright claims
21,195

So far, from the line's own records, 28 September 2026.

Upload YTStudioX 78,379 lines

The largest piece. It takes jobs as folders, drives YouTube Studio through Playwright (never the Data API), fixes in a second pass the metadata the upload wizard gets wrong, schedules, handles the disclosures, and reads every channel’s analytics and revenue each day. FastAPI, SQLite, React and a Chrome extension.

Pick a stage to see what it does.

EvoCam

A real-time face and body changer. MediaPipe Holistic tracks body, hands and face; ZeroMQ carries the pose; TripoSR and TripoSG turn a photo into a 3D model; UniRig rigs it; a C++ and Vulkan renderer draws it. The first prototype took about three hours with agents.

  1. trackingMediaPipe Holistic
  2. transportZeroMQ
  3. reconstructionTripoSR, TripoSG
  4. riggingUniRig
  5. renderC++, Vulkan

How does one student ship all of this?

I do the engineering. Agents do the typing.

Most of my day goes into the engineering itself: I design the architecture, write the plans, test on real machines and real networks, and decide what ships. Agents do the typing, many at once, and every change they make is attacked by a saboteur agent and reviewed before I merge it.

Variation first, then selection.

My first AI, in June 2025, I wrote in Unity from my own head, knowing nothing about how it is usually done: it evolves a polynomial toward a target by random mutation and selection, one candidate a frame. It was very slow. The same week I wrote a training algorithm that taught a network to read handwritten digits (MNIST) in about 1.2 seconds, where standard PyTorch took 55.2 seconds: about 47× faster, by optimising the data path (Ryzen 7 5700X, RTX 3060 Ti, 64 GB of RAM at 3200 MHz). The week after, I worked out the linear algebra and the algorithms AI needs and wrote them in Python by hand.

Since 1 June: 2,128 commits across 12 repositories. Across everything I have built with agents: nearly 4.8 million lines of code generated. Counted on 28 September 2026.

Evrim Mete Öztürk

Every task goes through the same loop.

  1. Research
  2. Decide
  3. Build
  4. Sabotage
  5. Integrate
  6. Report

42 agent roles are defined across my repositories. This is the core crew that works in all of them; each has one job.

pattern-scout
Finds how mature projects solved the problem, before any code is written.
architect
Called only for decisions that are expensive to reverse.
code-analyst
Maps one module in depth before anyone changes it.
saboteur
Tries to break every diff: boundary values, malformed input, a process dying halfway.
code-referee
Reviews each change with fresh eyes before it is committed.
test-runner
Runs the checks and reports the smallest failing case.
bug-hunter
Turns a symptom into a ranked list of root causes.
taskmaster
Grades the other agents’ reports: accept, rework or reject.
packet-analyst
Reads raw network captures for evorift and hands back only the findings.
docs-auditor
Checks every claim in the docs against the code.
repo-scout
Maps a whole repository and reports its architecture.

And the specialists, per project:

Synfonos

  • release engineer
  • real-time auditor
  • measurement verifier
  • Android verifier
  • spike runner
  • docs keeper

The YouTube line

  • trend researcher
  • idea generator
  • shorts scriptwriter
  • retention critic
  • attention engineer
  • QC judge
  • prompt smith
  • loop auditor
  • canon auditor
  • producibility critic
  • licence-dispute agent

EvoVideoX

  • architect
  • planner
  • researcher
  • innovator
  • coder
  • reviewer
  • QA
  • reporter
  • debugger
  • optimizer
  • migrator
  • algorithm writer
  • algorithm critic
  • supreme critic

Rewind.

I was fifteen.

Before any of this: a VR headset.

Some frames were lost. One came back.

At 15, virtual reality for a UNDP project; at 13, for TCDD; before that, six months of VR research; at 12, AR for an animation studio. All of it built with Unity, C# and C++. One of these I have a recording of, and it plays here. The other three are still lost, so they arrive the way a lost packet does: rebuilt from what survived.

  1. UNDP

    At 15, in 2024: a VR project connected to UNDP.

    It showed the mercury and the other harmful substances inside a home.

  2. TCDD

    At 13, in 2021: virtual reality for TCDD, the Turkish State Railways.

    It taught TCDD’s new employees how to inspect the rails.

  3. VR R&D

    Six months of virtual-reality research, before TCDD.

    All of this VR was built on the Oculus Quest 2.

  4. AR

    At 12: augmented reality for Animanya, an animation studio.

    Point an iPad at a printed page and it comes alive: the page plays a showreel, a ship and a tank stand up on it with their numbers, a house lights up for the night, a cartoon character lands on it.

The one that came back, at full resolution.

Animanya AR app, recorded on the iPad and on camera. Cut to 29 seconds.

Rewind.

I was ten.

Before the headset: Unity and C#.

At ten: a multiplayer shooter, with its own server.

Players join over TCP; after that, everything that moves travels over UDP, 30 times a second. The players only send their keys and where they aim. The server moves everyone, decides every hit and runs the enemies. Up to 32 players.

TCP
for what has to arrive: joining, spawning, health, respawns, items, leaving.
UDP
for what has to arrive fast: every position and rotation, players and enemies, 30 ticks a second.
Packets
a format of its own: length-prefixed and typed, from integers to vectors and rotations.
Enemies
think on the server: idle, patrol, chase, attack.
UDP, 30 ticks a second TCP

About 2,100 lines of network code, client and server.

Years later, Synfonos splits the same way: a TCP connection for control, UDP for the audio.

Rewind.

I was seven.

My first games

I made these in Scratch when I was 7.

They are simple, and not very good. Two of them still run: press Play.

A game I made at 7: two stick figures and the word FAIL
A game I made at 7: two stick figures fighting with toy guns in a park
A game I made at 7: a small yellow square on a black and white platform level
A game I made at 7: a yellow block and the words The End

Email me my projects

(Rebuilt in the browser’s default style. The games are the originals, without their sound.)

Back to now.

evolution

evolution (noun, English): evrim.

Every version carries the last.

Write to me: [email protected]