mert4x4
Mert Tüfekci Full-stack · Backend · DevOps · Game dev

Mert Tüfekci

BSc Computer Science, Özyeğin University

Computer Science graduate who loves building things, experienced in backend and DevOps, game development, and media streaming.

PythonTypeScriptNode.jsReact RustC++Unity / C#Docker Docker ComposePostgreSQLREST APIsLinuxQUIC / WebTransport
Background

Education

Sep 2021 – Jan 2026
BSc Computer Science
Özyeğin University · Istanbul

GPA 3.23

2016 – 2020
High School Diploma
Tekirdağ Fen Lisesi · Tekirdağ

Selective exam-entry science high school.

Experience

Jul 2025 – Aug 2025
Software Intern
Nebim Yazılım · İstanbul, Türkiye · Hybrid

Developed a product-management ERP module as a REST API in Python/Flask over the SQLAlchemy ORM and SQLite, with full CRUD, input validation, correct HTTP status codes (201/400/404) and safe transaction/rollback handling, plus a dependency-free HTML/JavaScript front end that consumes it via fetch.

Jul 2024 – Aug 2024
Software Intern
Bilgin Pro · İstanbul, Türkiye · Hybrid

Built a social-media web app end to end with Python/Flask and a MySQL schema (users, posts, comments) with bcrypt-secured auth and session management; containerized it with Docker and orchestrated MySQL, the Flask back end and the client as a multi-container stack with Docker Compose.

2022 – 2024
Teaching Assistant
Özyeğin University

TA for Introduction to Decision Making; built VBA scripts to automate exam and homework grading, prepared materials, and held office hours.

2021 – 2022
Robotic Arm Lead
OZU Rover Team

Led a 4-person software team; developed Python AI algorithms for robotic-arm tasks and built simulation environments to visualize arm movement.

Selected work

Projects

Full-stack web, real-time media, game development, self-hosted infrastructure, and systems builds.

Kick Pixel-Art Canvas

A shared canvas painted by chat, streamed live to Kick.

Viewers place pixels on a 36×36, 16-colour canvas by typing chat commands (!pixel x y colour). Three cooperating services do the work: a Node.js + PostgreSQL API with a WebSocket feed that keeps every client's canvas in lockstep; an official Kick OAuth2 (Authorization Code + PKCE) app that receives chat.message.sent webhooks and parses the commands; and a compositor that renders the canvas to raw RGB24 frames, pipes them through ffmpeg, and pushes RTMPS to Kick's AWS IVS ingest, so the artwork is a live video the audience shapes in real time. A 10s per-user cooldown throttles spam.

Node.jsPostgreSQLWebSocketKick OAuth2 / PKCEffmpeg / RTMPSsystemd

pidash (Homelab Dashboard)

One control panel for every layer of my home server.

A Flask + Waitress web app that unifies real-time monitoring and control of the Pi homelab in one screen: system metrics (psutil), Docker containers, systemd services, listening sockets, live filtered journald logs, Pi-hole and Tailscale, with actions rather than just readouts (toggle Pi-hole blocking from the UI, manage a links list with full CRUD + validation). Built on a dependency-injected service layer around a central CommandRunner, running parallel link health-checks through a thread pool, and hardened by auto-detecting the host's Tailscale IP at startup and binding only to it.

PythonFlaskWaitressREST APIpsutilJavaScript

AI Video Generator

Turns plain text into vertical 1080×1920 short-form videos.

A modular, stdin-first pipeline that turns a block of text into a finished Short/Reel/TikTok clip. Stages: optional Gemini script generation → Edge-TTS narration that returns per-word timings → stylized word-by-word caption clips synced to speech → a random background video looped and cropped to the vertical frame → a MoviePy/FFmpeg export at a configurable x264 preset, emitting structured JSON metadata per render. Every stage composes in a shell (text in on stdin, media out), and an optional Gradio UI runs the same pipeline without the terminal.

PythonGeminiEdge TTSMoviePy / FFmpegGradio

Emotional Support Center

A platform for booking and running online support sessions.

A team-built React + Firebase web app for booking and running support sessions: authentication, session scheduling, and role-based access between users and therapists. Built for a software-engineering course and versioned in a shared GitHub organization.

ReactFirebaseJavaScriptAuth

Low-Latency Streaming System

Sub-3-second glass-to-glass live streaming.

An end-to-end MPEG-DASH live pipeline: OBS captures the source, FFMPEG encodes and segments it, and GPAC's Node.js low-latency DASH server (node-gpac-dash) serves it to a DASH.js player. To measure real latency I rendered dynamically updating QR codes carrying timestamps into the source and read them back off the player, then tuned segment duration and key-frame interval to push glass-to-glass delay under three seconds while keeping playback stable. A multimedia-systems course project.

MPEG-DASHGPACFFMPEGOBSNode.js

ROS Robotic Arm

A multi-joint arm driven by joystick and MoveIt motion planning.

Software for a rover's robotic arm on a ROS stack. Four joints of Dynamixel smart servos are driven over a serial bus the node scans at 1 Mbaud (setting goal position, speed and torque, then synchronize()), with additional joints reached through Arduinos bridged by rosserial. It supports two control modes: button-gated joystick teleoperation (sensor_msgs/Joy) and MoveIt motion planning that streams /joint_states to the hardware, plus a custom PID-tuning GUI (and matching Arduino PID test sketches) for dialing in each joint.

ROSMoveItDynamixelrosserialPythonArduino

Endless Platformer

A dash-and-jump endless runner with a pooling-based spawn system.

WASD movement with a double-jump and an air-dash (Left Shift); collecting coins mid-dash raises a score multiplier that resets if you grab them flat-footed, and platforms spawn procedurally forever. The engineering focus was an object-pooling system: a Queue-based pool that reuses deactivated platforms and coins instead of instantiating and destroying them, which I profiled in the Unity Profiler across 500 vs 5,000 objects, showing the pool cut the GC/memory churn and FPS drops that hit hardest during spawn and game-reset. Event-driven design with a central GameManager handling fall-detection, reset and scoring.

UnityC#Object PoolingUnity Profiler

Maze Game (Guard AI)

Sneak through a maze past patrolling guards.

A grid-based level loader (MazeLoader) instantiates the maze from a 2D integer layout, placing wall prefabs and spawning guards. Each guard patrols between waypoints with MoveTowards and runs layer-masked line-of-sight detection; catch the player in view and it ends the run via an end-game scene, with its own music manager and menus. A compact stealth loop in Unity / C#.

UnityC#Game AILine-of-sight

SDL2 Platformer

A 2D platformer built from scratch, no engine.

An endless 2D platformer written in C++ on SDL2, with hand-written platformer physics (gravity, jumping) and pixel-level collision detection. Just the game loop and rendering, done by hand.

C++SDL2PhysicsCollision
Infrastructure · self-hosted

Home Server & Network

A Raspberry Pi 4 I turned into the backbone of my home network: gateway, DNS, container host, VPN and monitoring on one always-on board, administered entirely over SSH.

Also built

More builds

Infrastructure, coursework, and full-stack projects across the stack.

Hospital Management System

Java · JDBC · SQL

A database-backed healthcare system with role-based access for patients, doctors, nurses and admins: appointment booking, record management and statistics, over a relational schema accessed through JDBC with hashed-credential authentication.

R/Place-style Network App

Python · Pygame · Sockets

A multiplayer pixel-art game: a threaded TCP socket server holds a shared 640×480 grid and colour picker, broadcasts placements to every connected client in real time, and enforces a per-user cooldown so no one can flood the canvas.

CS350 Servo Project

ROS · Python · Arduino

Joystick-teleoperated servo control: a ROS Noetic node subscribes to /joy, and per servo, holding a button plus moving a stick publishes a Float32 that an Arduino running rosserial maps onto three servos (−1…1 → 0–180°). A simpler predecessor to the full ROS arm.

Network Speed Test

Node.js · Express · WebSocket

A from-scratch internet speed test on Node/Express, using three isolated WebSocket servers, one each for download, upload and ping. Download: the server floods 64 KB binary packets back-to-back while the client counts them and times from the first packet to compute Mbps. Upload: the client streams packets and marks the end with a sentinel message, and the server times the burst and returns the rate. Ping / jitter: a ping→pong round-trip on a third socket measures RTT and its variation. A browser client (team project) drives all three in sequence and renders the results, validated against real measurement runs.

Tinkering

Hardware & reverse-engineering

Low-level side projects on my own devices, making them do what the vendor's software won't.

Riot Live Client API · Hue Entertainment

League of Legends × Philips Hue

Reads the Riot Live Client Data API for in-game events and drives the Philips Hue Entertainment streaming API (via phue) to fire low-latency lighting effects on the room's bulbs in reaction to what happens in the match.

Blackstar ID:Core · reverse-engineered USB HID

Blackstar amp over USB HID

Reverse-engineered the 64-byte HID report protocol of a Blackstar ID:Core guitar amp and drove it directly from Python with hidapi, including a USB playback-volume control that macOS itself can't expose for the device.

ESP8266 · WebSocket · direct GPIO registers

Web-Controlled RC Car

ESP8266 firmware that serves its own WebSocket control panel (WASD + touch), drives the motors with direct GPIO register writes (GPOS/GPOC), streams live battery telemetry from the ADC, and boots into an EEPROM setup portal with AP/Station modes and static-IP config.

Open source · github.com/mert4x4

All repositories

Everything public on my GitHub: games, tools, bots and hardware hacks, some going back to 2017.

Unity Mobile Games C#Unity mobile game-dev course: a 3D platformer and a maze game with guard AI. Tiny Social Media Python · HTMLA minimal social-media web app with its own SQL schema, containerized with Docker. Shared Pixel Canvas PythonA multiplayer socket server for a shared, R/Place-style pixel canvas with cooldowns. SDL2 Platformer C++A 2D platformer demo with hand-written physics and collision, built on SDL2. Relational Database Project JavaA relational-database course project: schema design plus SQL DDL and queries. Resource Monitor Python · WebSocketA real-time server-monitoring web app: async Python + WebSockets stream CPU, memory, disk, processes, ports and logs to a live dashboard, with login auth and Docker deployment. Flashcards (Android) KotlinAn Android flashcard study app. Yeelight Music Sync Python · ★3Syncs Yeelight smart bulbs to music in real time. Dirt Rally Telemetry Dashboard JavaScript · ★3A live telemetry dashboard for the racing game Dirt Rally. Multiplayer Runner JavaScript · ★1A Node.js-based multiplayer running game. Auto-Parkour (Minecraft) Java · ★1A Minecraft plugin that procedurally generates parkour courses. Snake PythonA classic Snake game built with Pygame. Fortnite Light Sync PythonDrives Yeelight bulbs from Fortnite armor and health events. Bluetooth RC Car C#An Arduino Bluetooth-controlled car with a server and web client. Web-Controlled Arduino Car HTML · Node.jsDrive an Arduino car from a web page. Arduino LED over WebSockets HTML · Node.jsControl an Arduino LED over WebSockets from anywhere. Remote PC Media Control C#Control a PC's volume, mute and media playback from the web. Hardware Monitor LEDs C#Arduino RGB LEDs that display live GPU temperature and RAM usage. Discord Music Bot JavaScriptA Discord music bot with an Arduino status/debug LED.