Projects
A mix of full-stack web, machine learning, and systems work. The notable ones have a full case study.
-
This Website!
This portfolio, rebuilt from scratch. The old version was a client-rendered React single-page app; I rebuilt it as a fast, static Astro site that ships almost no JavaScript, with a theme-aware design system in Tailwind, typed content for the projects and posts, and a full structured-data layer so both people and AI answer engines can read it well. You are looking at it right now.
- Astro
- TypeScript
- Tailwind CSS
- HTML5
- CSS
- +3
-
IVD Document Portal with Operator Panel
A regulatory document and electronic Instructions For Use (eIFU) portal I built at Vitrosens Biotechnology for in vitro diagnostic products, live at docs.vitrosens.com. It has two sides: a public resource portal where customers look up a lot and download the right documents, and an operator panel where the team manages products, lots, and documents. The two are kept apart by network, database, and storage, and connect only through a one-way, cryptographically signed channel. Built with FastAPI, React 19, and PostgreSQL.
- Python
- FastAPI
- React
- TypeScript
- PostgreSQL
- +3
-
Labonyx Dealer & Branch Ordering Portal
A full-stack B2B ordering portal I built for Labonyx, a scientific laboratory supplies company, so its dealer and branch network can place orders while the main company keeps the stock. It has role-based access with fifteen granular permissions, a branch hierarchy where sub-branches order against their parent's shared balance and inherited discount and never see prices, tiered discounts and payment terms, multi-currency pricing, online card payments through Garanti BBVA's 3D Secure virtual POS, and a white-label design panel. PostgreSQL is the source of truth; Google Sheets is kept only as a live monitoring mirror. Built with FastAPI and React, tested per endpoint, and shipped on Railway behind real security and rate limiting.
- Python
- FastAPI
- React
- PostgreSQL
- Redis
- +1
-
Automation Project (NDA Signed)
A real-time automation system I built at Vitrosens Biotechnology: machine-vision object detection driving axis motors over EtherCAT, in Rust and Python on a Raspberry Pi, with a TypeScript and FastAPI interface. It was built under a confidentiality agreement, so this covers the engineering, not the product or its purpose.
- Rust
- Python
- TypeScript
- FastAPI
- Raspberry Pi
- +1
-
IVDR Compliance & Document Validation Platform
An internal platform I built at Vitrosens Biotechnology that helps in vitro diagnostic teams build and check their IVDR technical documentation. At its core is a deterministic rule engine with more than 75 rules across 15 categories that validates uploaded documents against EU IVDR and ISO standards, with results broken down by severity, category, and standard. It also tracks standards (auto-fetching the IVDR text from EUR-Lex), and bundles more than fifteen scientific tools for IVD validation, from accelerated stability modelling to limit-of-detection curve fitting. Built with FastAPI and React 19.
- Python
- FastAPI
- React
- TypeScript
- SQLite
- +4
-
Real-Time Sensor & Video Console
A cross-platform C++17 and Qt6 desktop application that ingests real-time data from a range of hardware sensors and video sources over serial and TCP/UDP, processes it on background threads, and visualizes it on a live dashboard with SQLite storage and logging. Built by extending the open-source OpenCPN application, with configurable, port-adjustable sensor integrations and per-subsystem simulators for testing. The company and project names are kept private, so this covers the engineering only, not the purpose.
- C++
- Qt
- CMake
- FFmpeg
- SQLite
- +2
-
AI Lead Intake & Qualification Pipeline
A self-hosted n8n automation I built at Vitrosens Biotechnology that turns inbound sales emails into structured, qualified leads. It watches a mailbox, sends each email to an LLM to extract the contact details, then a deterministic step re-validates and scores the lead, routes qualified ones to the CRM (with a logged audit record and a Teams ping) and sets rejected ones aside with a reason. Every run leaves a uniform audit record that feeds a static dashboard and a scheduled monthly report. Runs as three hardened Docker containers.
- n8n
- Gemini
- Python
- Docker
- Nginx
- +1
-
Labonyx Internal ERP & Operations Panel
A cross-platform desktop ERP that runs the internal operations of Labonyx, a scientific laboratory supplies company: orders, proposals and price lists, customers, inventory, finance with Parasut invoicing, reports, a website CMS, and a workspace suite, all on top of Google Sheets and Drive. I did not design the app or choose its stack. I inherited a large, vibe-coded Python and Tkinter codebase and refactored it into something reliable, fast, and aligned with engineering principles: one resilient Google API layer that fixed the hangs and dropouts across hundreds of call sites, selective observability, cross-platform packaging for macOS and Windows, and a full forward re-architecture roadmap.
- Python
- Tkinter
- Google Sheets API
- Gemini
- Pandas
- +1
-
Federated Learning System
A federated system enables us to train models on the client without sharing personal data and only aggregates the weights on the server. In this project, I have designed and trained a YOLOv8 object detection system for metal defect inspection with 4 different defect types. Raspberry Pi devices and personal computers have acted as both edge clients and servers. An 8.42% AP improvement has been measured when changing from 2 to 3 client devices.
- Python
- PyTorch
- TensorFlow
- OpenCV
- NumPy
- +5
-
Internal App Launcher & Health Dashboard
An internal portal I built at Vitrosens Biotechnology that gives the team one place to find, health-check, and launch the company's internal web apps. The server probes each app's health on a short cache and shows a live status badge, so a hundred open tabs still mean one check per app. It has a hidden, rate-limited admin panel to manage apps, announcements, and users, ships as an installable PWA with an offline page, and runs self-hosted behind a hardened service. Built with FastAPI and React 19.
- Python
- FastAPI
- React
- TypeScript
- SQLite
- +1
-
Labonyx Product Catalog Website
The public website and product catalog for Labonyx, a scientific laboratory supplies company, live at labonyx.com. It is a fast, bilingual static site built with Astro and React islands for fuzzy search, variant filtering, and a quote flow. The interesting part is the content pipeline: the catalog used to live in Airtable, but as it grew the pricing did not fit, so I moved it onto a Google Sheets and Drive backend the company already owned and pulls it in at build time. The result is free, fully configurable, and edited from the same desktop ERP I built, with no per-seat catalog fees.
- Astro
- React
- TypeScript
- Tailwind CSS
- Google Sheets API
-
Document Management App
In my internship at BBS, I created this Angular CRUD app that manages the documents with the help of IBM FileNet Content Manager which includes versioning and security. Tested my API endpoints I created using Java Spring Boot with Postman. Secured my application with user login that uses Active Directory of my company and Spring Security.
- Spring
- Spring Boot
- Java
- Angular
- CSS
- +2
-
Microservices Document System
A microservices version of my Document Management App, rebuilt as Spring Boot services with Docker and Kubernetes.
- Spring
- Spring Boot
- MySQL
- PostgreSQL
- MongoDB
- +6
-
GTU Form Creation Editor
With the requests of the Quality & Statistics Unit at Gebze Technical University, I have created this form builder with drag-and-drop support using .NET. All the form creation process is dynamic and some components of the form have validation which comes from the dataset as lists. It's actively used by the Quality & Statistics Unit to create new forms and replace 700+ legacy ones.
- .NET
- C#
- HTML5
- CSS
- JavaScript
- +3
-
Cherry Leaf Mold Detection
I built a mold-detection system for cherry tree leaves using fuzzy C-Means, a soft clustering method where a leaf can belong to more than one group at once. That makes it easy to flag the borderline, low-confidence leaves that need a closer look. I preprocessed 4205 leaf images and compared five clustering methods.
- Python
- OpenCV
- NumPy
- Pandas
- Matplotlib
- +3
-
Online Okey Game
For the PiPlayBox group project, I designed the UI on mobile and developed the online logic for Okey tiles and gameplay actions for each player in their sessions using pure Flutter and Dart. Player moves on the frontend are sent to the server with socket communication from Raspberry Pi device. Thanks to this communication, game logic is synced and simultaneously updated on both the mobile game and 3D desktop simulation for the admin.
- Flutter
- Dart
- Android Studio
- C++
- Git
- +1
-
Core Language Projects
A collection of small programs I build to practice core computer science in C, C++, Java, and Python. The main example is a Peg Solitaire console game in C++ with no external libraries: six board layouts, human and automatic play modes, move logging, and saved games on disk. They are about clean fundamentals and good practice.
- C
- C++
- Java
- Python