mert.digital REC 00:00

Full-stack developer, IT engineering student

Mert Ural

I build software you can talk to, and tools that show their work.

Third year in Wrocław. Looking for an internship in summer 2027, or part-time now.

Mert Ural
REC00:00:00

I build software that talks, tidies, books and breaks in.

Track 1Tested on 150+ real calls

Mainway

An AI receptionist for clinics in Turkey. It answers in Turkish, books the appointment, and stops talking the moment you cut in.

A call to Mainway Dental

REC00:001.5×
Aki
Mainway Dental, this is Aki. How can I help?
Caller
Do you have anything free on Thursday afternoon?
Aki
Thursday at 15:30 with Dr. Kaya is open. Shall I book it for
Caller
Anything earlier?
Aki
13:00 is free too. Shall I book that one?
Caller Phone lineAsterisk, SIP MainwayNode.js, speech to text Claude3 fallbacks VoiceElevenLabs 0.3 sgreeting, already cached 2.0 s“anything Thursday afternoon?” 3.6 s0.8 s of silence: your turn is over 3.6 stranscript + clinic info 4.0 sfirst sentence, streamed speak this 4.3 s“15:30 with Dr. Kaya is open…” 5.4 s“anything earlier?” 5.5 sstop playbackyou cut in, Aki stops 7.1 s“13:00 is free too…”

A test call, drawn as it happens.

I built every layer alone. Calls arrive over SIP through Asterisk, twenty milliseconds of audio at a time. Speech-to-text runs while you are still talking, Claude writes the answer one sentence at a time, and ElevenLabs starts on the first sentence before the second one exists. If Claude is slow, three other models are waiting.

It ran on a real Turkish phone number until the server lease ended in October 2026. A browser demo is being built; until then, its own site walks through a call down to the millisecond.

  • Node.js
  • PostgreSQL
  • Asterisk
  • Twilio
  • Claude API
  • ElevenLabs
  • Docker
The hard part wasn’t the AI. It was knowing when someone has finished talking.

Track 2Out now, open source

brisk

A free Windows cleaner that tells you why your PC is slow, and refuses to claim anything it didn’t measure.

I wanted a cleaner I could trust. Every diagnosis is a rule you can read in the source, and every finding carries the evidence it was built from. It only touches an allowlist, every change can be undone, and there is no telemetry, no account and no AI inside.

Days later it reads its own changes back, to check Windows didn’t quietly undo them. 171 tests keep it honest. One line to install:

irm https://raw.githubusercontent.com/merturl4576/brisk/main/get.ps1 | iex
  • C#
  • .NET 8
  • WPF
  • PowerShell
If brisk can’t measure it, brisk doesn’t say it.
One scan, one click. The health score goes from 53 to 86.
The Privacy page with its read-back band
Privacy: counts, never contents.
The Performance page
Performance: every number says where it came from.

Track 3In development, iOS and Android

Booksy TR

Booking for barbers, hairdressers, nail and massage salons in Turkey. You find a free slot today; the shop sees its whole day on one screen.

Two apps on one Supabase backend, one for customers and one for the shop. It began as a clickable prototype: filmed salon scenes behind the search, a headline word that changes with each scene, and a calendar that flags first-time customers so the shop can greet them properly.

Now it is moving into Expo, one screen at a time. The working name is sıradaki, “who’s next”. If you want to click through the prototype, ask me and I’ll send the link.

  • TypeScript
  • React Native
  • Expo
  • Supabase
  • Postgres
The shop should know who’s walking in for the first time.
sıradaki
Bugün saçına bir saat ayır.

Berber, kuaför, tırnak, masaj. Yakınındaki boş saatler tek yerde.

Bugün saçına bir saat ayır
Berber, kuaför, tırnak…
Bugün boş saatler
12:45İlk ziyaret17:30
Keşfet
Boş saati gör, hemen al.

Puan, mesafe ve bugünkü boşluklar aynı kartta.

Berber, Kuaför, Tırnak
Kadıköy Berber★ 4,9 · 0,6 km
13:0014:3016:15
Moda Kuaför★ 4,7 · 1,1 km
12:4517:30
Nail Lab★ 4,8 · 1,4 km
15:0018:00
Randevu
Ustanı seç, saatini seç.

Dolu saatler üstü çizili. Tahmin yok.

PztSalÇarPer
Usta: Emre
10:0010:3011:0011:3013:0013:3014:0014:3015:0015:3016:0016:30
Onay
Onaylandı. Biletin cebinde.

Tik çizilir, randevu kartı hazır.

Salı, 13:30Moda Kuaför, Emre
Saç kesimi, 45 dk
İşletme
Bütün günün tek ekranda.

İlk kez gelen müşteri işaretli.

PztSalÇarPer
10:00Ali, sakal
11:00Deniz, ilk ziyaret
12:00
13:30Ece, kesim
15:00Can, kesim

From the prototype. The final screens are being rebuilt in Expo.

Track 4In development, private

Red team agent

An agent that hunts for security bugs in bug-bounty programmes, built so it can’t break the rules it’s given.

It wraps the open-source Strix engine in a safety core of my own. Before any request leaves, a scope gate checks the target against the programme’s rules, and the sandbox can only reach hosts on an allowlist.

Findings come to me as drafts, and I decide what gets sent.

Private repoWalkthrough on request
  • Python
  • Docker
  • WSL2
  • Strix
Finding bugs is the easy part. Staying inside the rules while you look is the work.

Found so far

Three reports, all confirmed and disclosed responsibly. One CVE is public; the LEANN details follow once those advisories are published.

Confirmed by the maintainer

8.8CVSS
High

Two remote code execution bugs in LEANN

An open-source vector database with 13k stars on GitHub.

2 GitHub advisoriesCVE pending

Validated by Patchstack

5.3CVSS
Medium

Broken access control in Supsystic Contact Form

A WordPress plugin. The bug needs no login.

CVE-2026-115595OWASP A01

AgentStrix engine Scope gateprogramme rules Allowlistsandbox network target admin.example.com, out of scope 169.254.169.254, not allowed

About

--:--Where are you from?

Türkiye. I also hold a Bulgarian passport, so I can work anywhere in the EU without a visa. I’ve lived in Wrocław on my own since 2024.

--:--What are you studying?

IT engineering at WSB Merito, third year of three and a half. Last year I averaged 4.79 out of 5.

--:--How do you build?

With coding agents, a lot. They let me ship more than I could alone. The part I like is everything around them: deciding what to build, splitting the work, and checking what comes back.

--:--And when you’re not building?

I make small games in Godot. One of them is a judge simulator in the spirit of Papers, Please.