Bedirhan Çetin
@Xaena53

Backend developer · Eskişehir, TR

Bedirhan Çetin buildsproduction backends

I build backends that hold up in production, computer-vision pipelines that turn camera footage into maps, and gameplay systems in C++. Live work includes an education platform, corporate sites and a video platform.

Focus
Backend, AI & games
Education
Anadolu University
Languages
Turkish, English
Open source
1,765 tests in Aegis

Selected work

Three projects in depth. Open any of them for screens and stack.

In developmentInternship project, BAUM

Road-damage detection from bus-mounted cameras.

Road photo with a detected alligator crack inside a bounding box Hover to inspectTap to inspect

Asfalya model output on a Mapillary frame (CC BY-SA). Three detections cycle through the lens.

Overnight pipeline

  1. Capturebus-mounted phone · GPS
  2. Blur faces & platesmandatory
  3. DetectYOLO · 5 classes
  4. Map-matchOSM streets
  5. Merge & score7,704 → tracked records

mAP@0.5 0.632 · multi-pass 87.1%

mAP@0.5
0.632
detections
7,704
multi-pass capture
87.1%
Warden of the Fields: a villager working in the village square

In developmentUE 5.8 · C++

Open-world survival game in Unreal Engine 5 and C++.

Milestone 0 of 12 · complete

34/34 automation tests · 606 Fab packs inventoried

  • Core
  • Character
  • Survival
  • Building
  • World

Liveektakademi.com ↗

Education platform in production, live since 20 August 2026.

  • Argon2id passwords, hashed server-side sessions
  • PDF certificates with QR verification
  • Email and SMS reminders

More work

All source on GitHub ↗

Early accessanimerank.tv ↗

Anime video platform with a searchable catalogue, season calendar, multi-language subtitles and a hybrid P2P and server player.

Livekurenai.shop ↗

Anime subtitle translation service. Produces .ass subtitles without touching the video: audio timing, OCR of on-screen text and context-aware translation across eight languages.

  • WhisperX timing
  • OCR
  • 8 languages
  • .ass out

In useSupport desk, in production

Live support built around the conversation: an Express and Socket.IO gateway, a 5 KB widget loader with an iframe UI, an operator inbox with a visitor card and end-to-end tests.

Livecakmakpen.com.tr ↗

Corporate site for a glass-balcony and joinery company: 23 static pages with no build step, brand-guide tokens, measured WCAG contrast and JSON-LD.

In developmentClient project

Honey e-commerce on TanStack Start and Cloudflare D1 and KV, with Turnstile, card payments and a local workflow that never touches production data.

Skills

Backend development · AI & vision · Game development · Data & caching · Media pipelines · Delivery

Languages
JavaScript, TypeScript, Python, C++, SQL, Luau, HTML, CSS
Back end
Node.js 22, Express 5, FastAPI, REST, GraphQL, Socket.IO with a Redis adapter, Zod, pino, PDF reports, microservices
Data
PostgreSQL 16 / PostGIS, MongoDB, Redis, SQLite, Prisma, SQLAlchemy, Alembic, Cloudflare D1 / KV
AI & vision
YOLO (Ultralytics) training and evaluation, PyTorch, OpenCV, GPS map-matching (GPX / NMEA, OSM), WhisperX, OCR, Chromaprint, LLM integration, Model Context Protocol
Games
Unreal Engine 5.8, C++, Gameplay Framework, Enhanced Input, Data Assets, data-driven systems, UE automation tests, editor scripting in Python, Visual Studio 2022, Roblox with Luau and Rojo
Media
ffmpeg, H.264 / HEVC transcoding, HLS, WebRTC P2P delivery, VTT / ASS subtitles, VAD-based subtitle timing
Security
Argon2id, CSRF protection, rate limiting, security headers, Cloudflare Turnstile, face and plate masking before detection
Delivery
Linux, Docker Compose, nginx, Caddy, pm2, systemd, Git, GitHub Actions, AWS Lightsail, Cloudflare Pages and Workers, zero-downtime deploys, Jest, pytest, PyInstaller
Front end
HTML & CSS design systems, WebGL, TanStack Start and Router, React, Vite, Svelte, Preact, MapLibre GL, WCAG contrast checks, JSON-LD and sitemaps
Integrations
Google Ads API, Meta Marketing API, CAMARA / Nokia Network-as-Code, PayTR, SMTP and SMS gateways

What I do

01

Backend & APIs

Node.js and Python services, REST and GraphQL APIs, PostgreSQL, MongoDB and Redis, tuned until the queries are fast and the servers stay calm under load.

GET /api/trainings → 200 · cached in Redis
02

AI & computer vision

YOLO pipelines, GPS map-matching, speech timing, OCR and LLM tooling, with privacy rules enforced in code.

frame → blur() → detect() → map_match()
03

Games & real-time

Gameplay systems in Unreal Engine 5 and C++, built data-driven and covered by automation tests from the first milestone.

UPROPERTY(EditDefaultsOnly) FSurvivalNeeds Needs;

How I work

Every system I build has a moment where something has to be trusted: an agent's approval, a camera frame, a payment. I design that moment first, and I write down what is still unfinished.

Agent says “confirmed”

Request held · waiting for server-verified approval

confirm flag: true → ignored

The server checks approval itself.

  1. 01

    Consent is checked by the server.

    Approval is a server-side fact. Every spend path asks the network first.

  2. 02

    Unknown means stop.

    A missing token, a silent endpoint or an unreadable answer ends in refusal. A gate opens only when it can see.

  3. 03

    Rules live in code.

    A privacy rule that can be forgotten will be. Asfalya throws an exception on any unmasked frame.

  4. 04

    Say what is unfinished.

    Every repository carries a status table with its open items: a recall target missed, a link that is simulation only, a legal permission folder that is still empty.

Experience

  1. Sep 2025 — present

    Anadolu University

    Associate degree, Back-End Software Development.

  2. 2026 — present

    Freelance developer

    Backends and websites for clients, from first commit to production: EKT Akademi, Çakmak Pen and Bal Defteri.

  3. Jul — Aug 2026

    Intern, BAUM

    Anadolu University Computer Research and Application Centre. Built and presented Asfalya, the road-damage detection system.

Full responsibilities

Education

Backend development, database systems, API design, microservice architectures and modern software practice, studied alongside building and shipping the projects above.

Freelance developer

  • Wrote the full backend of EKT Akademi behind an existing static front end and took it live on AWS.
  • EKT Akademi: Argon2id passwords, server-side sessions with hashed tokens, role-based public, student and admin panels, PDF certificates with QR verification, file uploads, email and SMS reminders and live-class links.
  • Built and launched the Çakmak Pen corporate site on Cloudflare Pages.
  • Çakmak Pen: 23 static pages with no build step, design tokens from the brand guide, WCAG contrast checks, JSON-LD, a sitemap, llms.txt and six security headers.
  • Bal Defteri: a server-rendered honey shop on Cloudflare Workers with D1 and KV, Turnstile, PayTR payments, automatic order emails, a nonce-based content security policy and CI on every pull request.
  • Designed REST and GraphQL APIs; cut query time by 60% with Redis-based caching.
  • Automated deployments with Docker and CI/CD pipelines.

Intern, BAUM

  • 30 working days, 6 July to 17 August 2026.
  • Trained and evaluated a YOLO road-damage model and built the map, scoring and reporting backend around it.
  • Reached an mAP@0.5 of 0.632 across five classes and pinned each detection to a street with GPS and OpenStreetMap map-matching; 7,704 detections were deduplicated into tracked damage records.
  • Made privacy a rule in code: an unmasked frame is rejected, so faces and plates are blurred before detection and raw video never reaches the server.
  • Delivered a live damage map with neighbourhood scores and weekly PDF reports, and presented the system at BAUM.

Own products

AnimeRank
  • Design, front end, backend, media pipeline and server operations of a video platform.
  • Transcoding, subtitle synchronisation and P2P plus server delivery across several media servers.
  • A subtitle sync checker that measures offsets against speech in the audio, zero-downtime deployments, a watchdog that throttles background jobs when playback slows, and 49 Jest suites on the backend.
Kurenai
  • An AI subtitle service: WhisperX timing, OCR for on-screen text and context-aware translation into eight languages, delivered as .ass files.
  • An API with a desktop client, a subtitle cache that P2P players query by magnet hash, audio fingerprint matching, per-client rate limits and a swappable speech, OCR and translation provider layer.
RepChat
  • An embeddable live-support widget: a 5 KB loader that opens an isolated iframe UI, an operator panel, atomic ticket claiming, domain-locked widget keys, spam and ban controls and an end-to-end test suite.
Warden of the Fields
  • A first-person survival game in Unreal Engine 5.8: one C++ module split into Core, Character, Survival, Building and World, data-driven survival, villager and building systems, automation tests and CI. Milestone M0 is complete with 34 of 34 tests passing.
Aegis
  • An open-source MCP server (AGPL-3.0) that runs Google Ads and Meta campaigns behind server-side spending guards and asks the mobile network, through CAMARA and Nokia Network-as-Code, whether the approver’s line was taken over before it asks for approval.

Open source

  • A merged refactor in microsoft/vscode (#329128) and a fix for NASA’s Open MCT in review (#8393).

Open source

Public, so you can read the code.

Aegis

Network-verified trust for AI agents that spend money.

An MCP server that runs real Google Ads and Meta campaigns behind server-side spending guards. Before a human is ever prompted, it asks the mobile network (GSMA Open Gateway and CAMARA, through Nokia Network-as-Code) whether the approver's line has been taken over.

Campaigns are always created paused, budget increases wait for the approver, and only the account owner can raise the spending ceiling. Anyone using the service can read its code under AGPL-3.0.

The trust chain, and where it honestly stands

# Signal Question it answers State
1simSwap.checkWas the approver's line taken over recently?Live
2numberVerificationIs the approval coming from the owner's own device?Simulation only
3deviceStatus.reachabilityCan the line receive data or SMS right now?Live
4deviceStatus.roamingIs the line in the expected country?Live
5deviceSwap.checkWas the line moved to a new device?Live
6callForwardingIs unconditional call forwarding active?Live

Five of six links are verified against live endpoints. The account runs in Nokia's Simulator mode: the wire is proven, the operator integration is still pending. Number Verification is a device-side OIDC flow that no back end can call.

AdsPilot

Project site ↗

Open-source MCP server for safety-gated Google Ads management. An AI agent can manage campaigns while every budget increase waits for a verified human approval.

Contributions

Pull requests to projects maintained by other teams.

  1. Merged microsoft/vscode #329128

    refactor: share the find input toggle navigation

    The arrow-key and Escape handling repeated in FindInput and ReplaceInput now lives in one shared helper, covered by five new unit tests. Resolves issue #199892.

    PR ↗
  2. In review nasa/openmct #8393

    [Plot] Update Y axis label when it changes

    A fix for NASA's mission-control framework: the plot view refreshes its Y-axis label as soon as the label changes.

    PR ↗

Let’s build something that holds up.

I want to build scalable products in AI, big data, media technology and games that can compete internationally. If that overlaps with what you are working on, write to me.

Location
Eskişehir, Türkiye
Languages
Turkish, English