
PawDoc — read the case study
ReleasedAI pet-health triage where the safety rail runs before the model does.
- Flutter
- Dart
- Riverpod
- Python
- FastAPI
- +8
Available for product, cloud and mobile work
Full-Stack & AI Developer
I build production systems where the language model is the least trustworthy component — and the architecture is what makes the result safe to ship.
Adana, Türkiye
Working in
TypeScript + Flutter
About
Nineteen. Self-taught, two years in, no computer science degree. The early work happened around 01:30 bakery shifts and high-school exams — that is part of the record, but it is not the interesting part.
The interesting part is what the code does. Eight projects, six of them under version control, a little over a thousand commits between April and August 2026. Two are live on the public internet, one is an approved production release, and one was deliberately never shipped.
The through-line is narrow and on purpose: probabilistic systems constrained by deterministic ones. A hardcoded emergency check that runs before the model. A scheduling engine the framework is not allowed to touch. A simulation core that knows nothing about its renderer.
Every system is designed for real users from day one. No prototypes wearing the costume of products.
If it cannot be re-created from a repository, I do not consider it built. Infrastructure in code, decisions written down, gates that must be green before work continues.
Every architectural decision considers what it costs per request. At scale those choices compound faster than feature velocity does.
Augment with AI; never replace engineering rigour. Models hallucinate. Types and tests do not.
Four areas, each backed by something in the work below rather than by a self-assessed skill bar.
End-to-end products rather than front ends: authentication, metered billing, scanning engines, observability, and authorization derived from the token rather than trusted from the client. Four of the eight projects here went from an empty repository to something a stranger could use.
Orchestration where the model is bounded by design: structured output validated against a schema, confidence floors that resolve to "not enough information", deterministic overrides that execute before inference, and remediation produced by playbooks rather than generation.
Flutter applications shipped to production release tracks: on-device machine vision, row-level-secured backends, subscription entitlement mirrored server-side, and paths that still work when the network does not.
Production resources provisioned in Terraform, edge functions, object storage, and CI that gates on lint, types, tests, accessibility and performance budgets before anything reaches a branch.
Selected work
Production systems, not prototypes. Each one links to the live product or the public repository where one exists — and says plainly where one does not.

AI pet-health triage where the safety rail runs before the model does.

A driving-licence learning platform built around a spaced-repetition engine.

A camera-driven fitness coach that counts and corrects repetitions on-device.

An isometric browser management game whose demand is real traffic, not a spawn timer.
4 more, including the two that were deliberately never shipped.
Proof
No testimonials. There are no clients to quote yet, and inventing one would tell you more about my judgement than any quote could. Here is what can be checked instead — every number below links to the place you can verify it.
Original public repositories under one account — web, mobile, cloud tooling, games and research. Two further repositories are forks and are not counted.
Method: GitHub REST API: 42 public repositories, minus the 2 marked as forks.
Open the account (opens in a new tab)A learning platform on its own domain and a product site, both answering 200 to an ordinary request. Not a staging link, not a screenshot.
Method: HTTP GET against each origin, re-checked on the date shown below.
Open the live platform (opens in a new tab)PawDoc reached an approved production release build. The full source is public, including the hardcoded emergency path that runs before the model and the test that keeps it in parity across three languages.
Method: Release build number from the repository, whose source is open for inspection.
Read the source (opens in a new tab)Across the six projects on this site that are under version control, between April and August 2026. Counted on the default branch, so the figure does not move when a feature branch does.
Method: git rev-list --count on each default branch. Five of the six repositories are public.
Count them yourself (opens in a new tab)Including the CI that gates every push on lint, types, unit and browser tests, axe with zero violations, and a bundle budget that fails the build when exceeded.
Method: Public repository; the workflow file and its run history are both readable.
Read this site’s source (opens in a new tab)Ehliyet Akademi went from an empty repository to a live production domain in under a month, with architecture decision records kept in-repo the whole way.
Method: git log --reverse for the first commit, against the domain’s launch.
Check the history (opens in a new tab)Links last checked by hand on . Published so you know how old the check is instead of having to guess.
Available for product, cloud and mobile work
Tell me what you are working on. If I am not the right person for it, I will say so — and usually say who is.
Contact
Freelance work, collaboration, or a full-time role — if you are building something where correctness matters, I would like to hear about it.
Based in
Adana, Türkiye
Working hours
GMT+3
Remote, and comfortable across European and Middle Eastern hours.
Three fields. It goes straight to my inbox — nothing else happens to it.