Skip to content
View kutsibalci's full-sized avatar

Highlights

  • Pro

Block or report kutsibalci

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
kutsibalci/README.md
Hüseyin Kutsi Balcı — Backend Development Student, Anadolu University, İzmir

I write backend systems. Every number on this page is one I measured myself.

I have ten patches merged into projects I had never worked on before: NASA's flight-software ground system, CERN's ROOT, the .NET runtime, systemd, Apache Airflow and the VS Code docs. I went looking for the bugs, wrote the fixes, and defended them to maintainers who had no idea who I was.

The project I put most of my time into is a pre-accounting and logistics program. It has real users already and I am still building it — right now I am closing the gaps that only showed up once it met real data. I also write mobile apps in Flutter and React Native. And I built a watch-party engine where the browsers send video to each other peer to peer over a WebRTC mesh and the server only introduces them; when I put a second instance behind it, p95 dropped from 258 ms to 14 ms.

I am looking for an internship or a junior backend position.

Measured, not asserted

The claim What the number says
A seat cannot be sold twice 20 concurrent requests, one seat → 1 sale, 19 × 409, one held seat in the database
It scales horizontally 2,500 connections → p95 258 ms on one instance, 14 ms on two
Course capacity holds under load 15 applications, capacity 5 → old logic enrolled 15, current logic enrolls 5
Route ordering is worth having 10 real stops in Kadıköy → 44.3 km as entered, 14.6 km reordered
The tests actually run 285 passing across my repositories, on every push

Projects

Concurrent Ticketing Watch Party Sync Engine
Ön Muhasebe ve Lojistik Takibi Sınav Motoru
Kurye Rota Course Registration System
File Analysis Service Life Gate

Anything marked PRIVATE — a card above or a row below — links to a repository that is not open to visitors. Happy to walk through any of them in an interview.

Also built

Coffee Shop Management Windows Forms till for a small café. Making the ordering logic testable is how I found that two waiters could open two tabs on one table and only one got billed.
Sefer Defteri PRIVATE The driver's side of the accounting system. Expo, on-device SQLite, document expiry reminders. Works with no signal in a truck cab.
Minik Masal PRIVATE Audio story player for small children, with a parent gate. Written twice: Flutter and Expo.
Business Directory API PRIVATE FastAPI service collecting business listings by province. Paginated endpoints, Alembic migrations, spreadsheet export.
Redmine Deployment PRIVATE Dockerised Redmine with PostgreSQL on AWS EC2. Built with @hzflora.
Pansuman Simulator PRIVATE Unity training simulator for wound dressing. In progress.

Open source

Ten patches merged into projects I had no prior connection to. Most began as a sweep for one class of defect: I throw away almost everything the sweep returns and open a pull request only for what I can prove. The NASA patch is the exception — it changes behaviour, not documentation.

Merged What it was
fprime-gds#333 NASA's F´ ground system. A bare except: around opening the sequence file caught KeyboardInterrupt along with the file error and threw the real cause away, so a bad output path reached the user as one unhelpful line. Narrowed to OSError, chained the cause. It sat a week with no CI at all; I worked out that was the first-contributor approval gate, said so, and it merged the next day.
root#23002 A TMVA header unreachable since 2015. I traced the commit that orphaned it and checked every symbol it declared was already covered elsewhere.
root#23004 Two aggregate LinkDef headers that lost their only caller when the build went back to two dictionaries per package.
root#23019 Four CMake variables in the tutorials build that nothing reads. I derived the names CMake actually looks up from the files on disk and diffed the two sets. The subtlest one I proved by rebuilding the derivation in a throwaway CMake project and reading the property back — the reasoning on its own was not proof. Merged with its CI still red, because I showed the failures came from a four-day-old build tree the runner had restored.
systemd#43300 Seven man page cross-references pointing at the wrong section. CI went red; I pulled the 5.4 MB log, showed the failure was an unrelated ppc64le timeout, and said so. Merged with the job still red.
airflow#71179 Twenty links that 404 for every reader but open fine for every author. The directory is a git symlink blob and GitHub will not traverse one. 372 candidates went in, 20 came out.
vscode-docs#10119 Three setting IDs whose casing does not match what VS Code registers, so they resolve to settings that do not exist. I checked all 771 IDs behind 1,760 macros.
dotnet/runtime#131865 Eight documentation links whose targets exist but whose relative paths resolve nowhere. From thirty-nine candidates.
rustc_codegen_gcc#945 Two broken links. The useful part was working out I was in the wrong repository: it is a subtree, so a fix landed upstream would be overwritten on the next sync.
eclipse-score/communication#853 Four links in the design docs of the BMW/Bosch/Mercedes automotive platform. One image URL was written hhttp://, so a diagram had never rendered.

One more worth mentioning: root#23036 was a report, not a patch. Three settings shipped in system.rootrc that nothing in ROOT reads. Whether to delete them or wire them up was a maintainer's call, so I filed both options. The engineer who wrote that subsystem replied "Yes, some parameters were not cleaned up", opened the fix half an hour later, and it merged. No commit under my name, which for that kind of finding is the honest outcome.


Stack

Stack: languages, backend, data and messaging, mobile, real-time and infrastructure


balcihkutsi@gmail.com · LinkedIn

İzmir, Türkiye · open to remote and hybrid

Pinned Loading

  1. concurrent-ticketing concurrent-ticketing Public

    Ticketing API showing how a seat is sold exactly once under concurrent demand - PostgreSQL xmin optimistic concurrency, a transactional outbox to RabbitMQ, JWT with refresh rotation, and 119 tests …

    C#

  2. watch-party-sync-engine watch-party-sync-engine Public

    Real-time watch-together sync engine: WebSocket sync layer, atomic state transitions in Redis Lua, a hand-written job queue and an ffmpeg HLS transcoding pipeline. Horizontal scaling verified by me…

    TypeScript

  3. Course-Registration-System Course-Registration-System Public

    Course registration and management web app built with ASP.NET Core MVC, EF Core and SQLite - student applications, plus an admin panel for courses and instructors.

    C#

  4. Small-coffee-Shop-Management-App Small-coffee-Shop-Management-App Public

    Windows Forms point-of-sale app for a small coffee shop - order taking, table tracking and an admin panel, backed by MySQL.

    C#