FULL-STACK DEVELOPER · .NET · REACT · PYTHON

I build systems
that measure themselves.

Full-stack developer — .NET / C# and Python on the backend, React and TypeScript on the frontend. I build products end to end, from the database to the UI.

Open to internships & new-grad roles — 2027

scroll
282automated tests in a production workflow app
12architecture decision records in Turnike
42REST endpoints in OmniCampus
117 → 0collisions in AGV fleet benchmark
Nazım Hikmet Şasi

00 — ABOUT

Hi,
I'm Nazım.

I'm a 4th-year Software Engineering student at Manisa Celal Bayar University and a backend intern at ULUTEK Technology Development Zone.

I work end to end: database schema, API, UI, Docker and CI. My center of gravity is the backend — concurrency, data integrity, tests and the decision records that explain why. I use AI coding agents every day, and I verify, test and can explain every line they produce.

CURRENTLY
Software intern · ULUTEK
EDUCATION
B.Sc. Software Eng. — 2027
FOCUS
Full-stack · .NET + React
LANGUAGES
Turkish (native) · English (B2)

01 — SELECTED WORK

Selected Work

Systems with real users, real money and real race conditions. Flip a card for the decisions and the numbers behind it.

$ dotnet test
Passed!  Failed: 0, Passed: 282
$ git log --oneline | wc -l
93
INTERNSHIP · ULUTEKcompany code · private

Promer — Prototyping Center Management

End-to-end workflow app: request → quote → order → work order → production → delivery, for 5 roles.

.NET 9ASP.NET Core MVCEF CoreSQL ServerxUnit
FIELD NOTES01

What held up
under pressure.

  • Passwordless login with one-time e-mail codes (OTP)
  • Optimistic concurrency (RowVersion) on concurrent updates
  • Background mail queue: 5 retries, failure reason stored
  • Tenant isolation: each firm sees only its own data
282 tests5 roles6-stage flow
$ ls docs/adr
0001-modular-monolith … 0012-ledger-tx
$ status
phase 1 · double-entry ledger
IN PROGRESSrepo private for now

Turnike

Ticketing & appointment marketplace with its own double-entry payment ledger — built for flash-sale load and zero lost money.

.NET 10PostgreSQLiyzico sandboxKeycloakOpenTelemetry
FIELD NOTES02

A core that
never loses money.

  • Modular monolith first; services split only when measured
  • Double-entry ledger: money is never created or lost
  • Idempotency keys and a transactional outbox
  • Integration tests against real PostgreSQL (containers)
12 ADRsPhase 1 / 4
$ docker compose up
api · postgis · web   ✓
$ gh run list
✓ CI · 19 regression tests

OmniCampus — Smart Campus

Smart campus GIS platform: spatial search, occupancy reports and role-based access.

.NET 8CQRSPostGISReact 19Docker
FIELD NOTES03

One source of
spatial truth.

  • Clean Architecture + CQRS (MediatR)
  • PostGIS for spatial queries
  • JWT + RBAC, output caching, rate limiting
  • GitHub Actions regression tests on every push
42 endpoints18 handlers19 CI tests
# 2 users, 1 portion left
→ 1 reservation · 1 rejected
$ dotnet test
Passed!  Failed: 0, Passed: 67
TEAM · 5 PEOPLEVIEW CODE ↗

Gıda Köprüsü — Food Rescue Platform

Connects end-of-day surplus food from bakeries and restaurants with people who need it — discounted or free.

.NET 9 APIPostgreSQLReact 19PWADocker
FIELD NOTES04

The last portion
never sells twice.

  • Stock and price computed atomically in the database
  • React PWA confirms delivery by scanning a QR with the device camera
  • Trust score computed server-side, never editable
  • Migrated the backend from Supabase to a .NET 9 API
67 API tests197 UI tests

↻ Click a card for details

OTHER PROJECTS

Video Anomaly Detection

Bachelor thesis. Fall and restricted-zone detection on 4 cameras: YOLO pose, BoT-SORT, Kafka/Spark, FastAPI.

26.3 FPS · F1 0.41 → 0.67 CODE ↗
TRAVEX

OGTY 2026, 4-person team. Safe routing and a per-tick safety lock for 150 AGVs; simulation & algorithm lead.

117 → 0 collisions · 12,000 cases private
Corporate RAG Assistant

ULUTEK. On-premise Q&A assistant over internal documents with a local LLM: FastAPI, ChromaDB, Ollama.

161 tests · zero dependencies private
NazımHoca

Offline-first PWA for athlete tracking: vanilla JS, Supabase sync that merges instead of overwriting.

PWA · offline-first · Vercel private
Kiosk & Digital Signage Panel

ULUTEK. Admin panel and kiosk REST API for technopark screens, with a SignalR live command channel.

17 entities · SignalR private

02 — EXPERIENCE

Learning by
shipping.

ULUTEK Technology Development Zone

Software Engineering Intern
Jul 2026 — Present

01.NET 9 workflow app: 5-role authorization, state machine, optimistic concurrency, background mail queue, 282 automated tests.

02Admin panel UI and kiosk REST API for a digital signage system, with a SignalR live command channel (ASP.NET MVC, EF6, SQL Server, JavaScript).

03On-premise RAG assistant with a local LLM and a domain-specific evaluation set (FastAPI, ChromaDB, Ollama).

04Legacy .NET Framework and stored procedure maintenance; CSRF and authorization fixes via GitLab merge requests.

EDUCATION Manisa Celal Bayar University

B.Sc. Software Engineering, 2023–2027

ADR 0003ACCEPTED

Balance concurrency: conditional UPDATE

UPDATE ledger.accounts
SET balance_kurus = balance_kurus + @d
WHERE id = @id
  AND (allow_negative
       OR (balance_kurus + @d) * normal_sign >= 0);

WHYCheck and write in one statement — no race window. Accounts always lock in the same order, so no deadlocks.

REJECTEDSELECT … FOR UPDATE · optimistic retry · SERIALIZABLE

COSTOne hot account serializes sales — the limit gets measured with k6 in phase 2.

from Turnike / docs/adr — one of 12 decision records

03 — APPROACH

Decisions first,
then code.

01

Plan

write the decision record (ADR) first.

02

Build

small, tested increments.

03

Measure

every claim backed by a number.

04

Document

what worked AND what didn’t.

04 — SKILLS

BACKEND

C#ASP.NET CoreASP.NET MVCEF CoreFastAPINode.js / ExpressSignalRSQL ServerPostgreSQL / PostGISMongoDB

FRONTEND

React 19TypeScriptNext.jsTailwind CSSVitePWALeafletHTML / CSS / JS

AI & DATA

PythonPyTorchOpenCVYOLORAGChromaDBOllamaKafkaSpark

QUALITY & DEVOPS

xUnitPytestHypothesisDockerGitHub ActionsGitVitest

05 — CONTACT

Let's build
something reliable.

NOW — OCTOBER 2026

BUILDING
Turnike — phase 1, double-entry ledger
INTERNING
ULUTEK Technology Development Zone
STUDYING
Final year · thesis on video anomaly detection
OPEN TO
Internships & new-grad backend roles (2027)