An inventor and a developer at their workbenches, overlooking the Bosphorus in the warm light of an Istanbul evening.

Istanbul · A digital atelier

Available for freelance projects

Mehmet Fatih

Full-stack developer — web, mobile, and a few games

I build websites, small tools and apps end to end — and I check my own work before it ships.

17
Projects built
6
Commercial projects

Old-world craft. New possibilities.

Step inside

Web developer, co-founder, and still a student — I build things end to end

I'm Fatih, a final-year Computer Engineering student at Beykent University in Istanbul, graduating in 2027. I've been writing software for pay since 2022: first as a frontend developer at Priente Software in Ankara, on enterprise cybersecurity products, and since then as a freelancer.

My freelance clients are small US businesses — appliance repair companies and a cat breeder. For one of them I built both the public website and the operations panel they use to run jobs, estimates and invoices.

In 2025 I co-founded 4PP Studio, a five-person team. We ship Borccu, a debt-tracking app on Google Play and Huawei AppGallery, and Atoll, an open-source translator that runs an AI model on your own computer. Since April 2026 I'm also part of the six-person team behind DIVERSE, a Moodle-based learning platform in an EU-supported project.

Outside client work I build games and simulations — a colony sim in Godot with a C# core, and a first-person apartment-manager game in the browser — and I use several AI coding agents as a team, with one rule: whoever writes the code is not the one who checks it.

Istanbul, Turkey — working with clients across the US & EU

Education
Beykent University
Computer Engineering, final year (graduating 2027), Istanbul
Studio
4PP Studio
Co-founder since 2025 — five people, mobile and desktop apps
Shipped
Borccu
Group expense app on Google Play and Huawei AppGallery, built with the 4PP team
Freelance
Since 2022
Websites and an operations panel for US small businesses

How I got here

  1. 2022

    Started freelancing

    Full-stack work for clients on Bionluk, which I still do.

  2. 2022–23

    Priente Software, Ankara

    Frontend developer on enterprise cybersecurity products.

  3. 2023

    Computer Engineering at Beykent

    Began in September; I graduate in 2027.

  4. 2024

    Full-stack at Compalist, Istanbul

    January to June.

  5. 2025

    Co-founded 4PP Studio

    Five of us. We build Borccu and Atoll.

  6. 2025

    Sites for US repair companies and a cat breeder

    Let's Fix It, Imperium Appliance, RAFIX and Astrid Moon Cattery.

  7. 2026

    DIVERSE, a Moodle platform for a university consortium

    Joined the six-person team in April; wrote its AI course assistant.

  8. 2026

    Games, and the Let's Fix It operations panel

    A colony sim in Godot with a C# core, a 3D apartment-manager game, and an invoicing and dispatch panel for a client.

How the work gets done — and checked

I use several AI coding agents like a small team. What makes that safe is the rules around them.

01

The writer is never the checker

On Deluge, one agent wrote each change and a separate one tried to break it. Several rounds of independent checks across the C# modules caught a native crash before commit.

02

Done means run, not written

A change counts as finished after it's built, opened and looked at — in a browser or on a phone-sized screen — not when the code exists.

03

Tested against reality

My lead tool's first data source returned no websites and no emails for 20 real companies, and its search fallback returned other companies' addresses. I switched sources and removed the fallback.

04

No invented proof

My own agency site has no made-up testimonials or numbers. I label my own notes the same way: verified, claimed, or just my say-so.

My second brain: a log of what I did and why

I adapted an existing note system for myself. Every project has a plain Markdown log, kept in one vault and backed up on GitHub. I use it as the memory my AI agents and I share.

A shared project memory

Open a note

The why, not just the what

Git shows what changed. Each project also has a current-state note and a dated log of requests, decisions and what was actually checked.

Agents read and write it

Sessions with my AI agents start from these notes and end by writing back to them, so I don't re-explain a project every time.

It audits itself

An early version of the git activity scanner missed repositories three folders deep and reported 7 September commits instead of 48. Checking a known commit exposed the gap, and the scanner was corrected that day.

Projects, as case studies

What the problem was, what I built, and what changed as a result.

Client work — website and operations panel for a US appliance repair company

Let's Fix It

2025 — 2026

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Supabase
  • shadcn/ui
  • Vercel
letsfixitappliances.com
Problem
A repair company in Texas needed two things: a website that brings in booking requests, and a Workiz-style tool to run the jobs behind them.
Solution
I built both. The public site (Next.js, Supabase) has service, brand and location pages with SEO metadata, a booking form with address autocomplete and a map, discount codes, and an admin area for content and locations. The operations panel covers jobs, a schedule, a technician map, estimates, one-page invoice PDFs with signing, deposits, Zelle / Cash App / Venmo QR and bank transfer, and two-way SMS. Its interface was rebuilt on shadcn/ui, with a mobile view for technicians.
Result
Both are live. The operations panel supports the company's jobs and invoices. A separate demo has its own database and contains no customer data.

Client work — website for a US appliance repair company

Imperium Appliance

2025

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Vercel
imperiumappliance.com
Problem
A repair company serving Houston and Austin needed a site where a homeowner can see what gets repaired and call or book the same day.
Solution
A Next.js site (TypeScript, Tailwind, Vercel) built around that one path: residential and commercial services, brand pages, service areas, reviews, FAQ and a repair blog, with a call and book button always in reach. Dark, photo-led design with blue accents.
Result
Live at imperiumappliance.com. Its structure became the base for my later repair-company sites, and it's one of the two sites I show when I talk to other repair shops.

Client work — website for a US appliance repair company

RAFIX

2025

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Vercel
rafixappliancerepair.com
Problem
A repair company needed a site that presents its services and gives customers a clear way to get in touch.
Solution
I reused the page structure and SEO setup from the first two sites, then reworked identity, copy and layout so it reads as its own brand instead of a template.
Result
Live at rafixappliancerepair.com. Built faster than starting from zero, and it turned the approach into a repeatable template for local service businesses.

Client work — website for a US cat breeder

Astrid Moon Cattery

2025

  • Next.js
  • TypeScript
  • Tailwind CSS
  • next/image
  • Vercel
kitten-mauve.vercel.app
Problem
A cattery placing British Shorthair and Longhair kittens across the US sells on trust. Buyers want the health guarantee, adoption process, wait list and diet spelled out before they apply.
Solution
A Next.js site laid out along the buyer's path: available kittens, application, adoption process, wait list. Behind it sit care and diet guides, recommended products, FAQ, a blog and testimonials. Galleries are organised by colour, and images go through next/image so a photo-heavy site stays fast.
Result
Live at kitten-mauve.vercel.app. The breeder can send buyers to one place for the application, the adoption steps and the wait list.

Open source — offline AI translator for Windows and Android

Atoll

2026

  • Flutter
  • C#
  • .NET
  • Next.js
  • LLamaSharp
  • GGUF
  • TypeScript
atoll-one.vercel.app
Problem
Cloud translation needs an internet connection, often a subscription, and means sending your documents to someone else's server.
Solution
Atoll runs Tencent's HY-MT2 1.8B translation model (Q4_K_M GGUF) on your own machine. The Windows app is a portable build with the model embedded through LLamaSharp — no Ollama needed — and translates text, DOCX, PPTX, XLSX, PDF, TXT and Markdown while keeping the formatting. The Android app is Flutter with the model through Llamadart FFI, a resumable model download and a SHA-256 check. A bilingual Next.js site handles downloads.
Result
Windows 1.0.0 is downloadable from the site, and the desktop, mobile and web repos are MIT-licensed. The Android 1.0.2 release bundle was built and tested on an emulator (53 tests); it isn't confirmed on Google Play yet.

My own agency — websites for US appliance repair companies

FixTech Engine

2026

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • Vercel
  • Nodemailer
fixtechengine.com
Problem
A repair customer is usually in a hurry and on a phone, so the site has to put the phone number and a booking button one tap away. That is the whole product, so I turned it into a service.
Solution
FixTech Engine is my small agency: I design and build the site, put it live, and maintain it. The package — brand and appliance pages, service-area pages for local SEO, a booking form, Google reviews — comes from the repair-company sites I'd already built. The agency's own site is Next.js 16, React 19 and Tailwind 4, with a contact form on a server action (honeypot, per-IP limit, Google Workspace SMTP).
Result
Live at fixtechengine.com, with real work in the portfolio and no invented testimonials or numbers. Outreach to repair shops is the current phase.

Web and mobile — organising weekly football matches

Kadro

2026

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Supabase
  • PostgreSQL
  • Flutter
hali-saha-three.vercel.app
Problem
Organising a regular five-a-side game means a messy group chat: who's coming, who dropped out, and teams picked on the spot.
Solution
A Flutter app and a Next.js web version on one Supabase (Postgres) backend — 12 migrations, SQL flow tests, push notifications through an Edge Function. You create a team (name, crest builder, permanent squad, season table), invite people with a link, and play either an in-house match with balanced A/B sides or team against team, where the rival captain gets their own link. Sign-in is anonymous; permanent accounts only through Apple or Google.
Result
The web version is live. The Android app was being prepared for Google Play closed testing in October 2026; the last push-notification setup step was still pending.

Game development — colony simulation (in development)

Deluge

2026

  • Godot 4
  • C#
  • .NET
  • GDScript
  • Systems Design

In active development — private repository

Problem
A colony sim lives or dies on its cost per tick. Pathfinding, fluid physics and job queues for hundreds of workers stutter when they all run in interpreted script.
Solution
Deluge is a 2D side-view colony sim set in a tower that a rising ocean is swallowing, built in Godot 4. The heavy systems — grid simulation, navigation, the ocean, job queues, and a day/night and four-season clock — moved from GDScript into a C# core, behind a GDScript facade that keeps the same API.
Result
Each C# module has to match its GDScript original exactly and allocate nothing per tick. Independent verification rounds caught real bugs before commit — for example a native crash when a worker was deleted while their job was being cancelled. Still in development.

Game development — browser 3D prototype

Yönetici

2026

  • Next.js
  • React Three Fiber
  • Three.js
  • Zustand
  • TypeScript

Demo — runs locally, no public link yet

Problem
A management game idea: be the superintendent of a six-flat building, calmly — no firing, no clock — and watch the building get better.
Solution
A first-person 3D game in Next.js, React Three Fiber and Zustand. There is no physics engine: the floor height under the player and one rule — you can't step onto a surface more than 1.1 m from your feet — handle the stairs and walls. Tenants of four types live through the day, the only income is monthly dues, and those grow with the building's luxury score, which only investments can raise.
Result
A playable demo, kept deliberately small: no saving, no sound, simple figures. 23 commits over three days.

EdTech and AI — Moodle platform for a university consortium (EU-supported project)

DIVERSE

2026

  • PHP
  • Moodle LMS
  • OpenAI API
  • Anthropic Claude API
  • Docker
  • SSE
  • SCSS

Team project — assistant off by default

Problem
Students across partner universities need explanations that match the course they're actually taking, and teachers spend a lot of time preparing multilingual materials.
Solution
I'm one of six people on the platform. I first redesigned the GT4T front page and theme, then wrote the first version of local_diverse_assistant, a Moodle plugin with a chat panel on course pages. It talks to OpenAI, Claude, Gemini or any OpenAI-compatible service and streams answers over SSE. A teacher mode proposes course changes — new pages, labels, activity and section updates — as cards the teacher can apply, undo or reject, writes multilingual content with {mlang} blocks and inserts it into TinyMCE. An "EU only" provider setting and Moodle's privacy API (export and deletion) cover the data side.
Result
The assistant is merged into the platform's main branch, off by default, and its code-review findings were fixed in versions 0.3.1 and 0.3.2 (by a teammate). The platform was due to the consortium on 14 October 2026.

Mobile — on Google Play and Huawei AppGallery (4PP Studio team project)

Borccu

2025 — present

  • React Native
  • Expo
  • TypeScript
  • Supabase
  • PostgreSQL
borccu.com
Problem
Shared expenses between friends, flatmates or a trip group turn into mental arithmetic — worse when the currencies differ or a settled payment gets forgotten.
Solution
A team app from 4PP Studio, built with Expo and React Native on Supabase (Postgres with Row Level Security, Edge Functions). My share: debts and friends, groups and group invites (invite links, QR codes), push notifications, the personal ledger, and security fixes around RLS and exposed personal data. Teammates built the TRY / USD / EUR support with daily exchange rates, payment approvals and the due-date reminders.
Result
Live on Google Play and Huawei AppGallery. The 2.0 release was prepared in October 2026 with Android R8 obfuscation.

Startup attempt — team project (on hold)

Bilinç Üssü

2026

  • Moodle
  • Multi-tenancy
  • PHP
  • MySQL
  • Linux
bilincussu.vercel.app
Problem
Universities and training providers want Moodle's depth without paying to run a separate server for each client.
Solution
The idea was one multi-tenant Moodle platform — isolated tenant data and per-tenant branding — instead of one installation per client. We built the landing site (Next.js on Vercel) and the technical groundwork with a small team: a Moove-based theme, a multi-tenancy plugin and Docker setup.
Result
Not launched. It's on hold, and the same idea continued as GT4T / DIVERSE with a different team.

Personal project — AI engineering

PDF Question Answering

2025

  • Python
  • Ollama
  • Groq
  • Vector DB

Personal build — no public repo or demo

Problem
Ask a general chatbot about a document and it answers confidently from memory, not from the document. I wanted to learn what it takes to make a model answer only from a given set of PDFs — and to run it without sending the files to someone else's server.
Solution
A retrieval pipeline built end to end: parse and chunk the PDFs, embed them in a vector store, retrieve the passages that match the question and give the model only those. Ollama runs the model locally; Groq covers cases where speed matters more than keeping it local.
Result
A working pipeline that answers from the source text and can point at the passage it used. Built on my own machine to learn the problem properly — groundwork, not a delivered project.

Personal tool — video transcription

Video Transkript

2026

  • Python
  • OpenAI Whisper
  • PyTorch
  • CUDA
  • FFmpeg
  • fpdf2
github.com/Fthkrks/trasncript
Problem
Transcribing long lectures and videos by hand is slow, and online services charge for it and want the video uploaded.
Solution
A Python command-line tool on OpenAI Whisper and FFmpeg. It turns MP4 files into timestamped PDF and TXT transcripts, detects the language automatically, offers five model sizes and uses the GPU when CUDA is available — a teammate added the PyTorch CUDA setup.
Result
Runs fully on my own machine, with no subscription and nothing uploaded. Public on GitHub with a step-by-step setup guide in the README.

Internal tool — lead research for my agency

Applience

2026

  • Python
  • PyQt5
  • Google Places API
  • BeautifulSoup
  • openpyxl

Internal tool — no public repo

Problem
To offer websites to repair shops, I first need to know which ones have a weak site or none, and how to reach them. Finding that by hand is slow, and the first data source gave me nothing usable.
Solution
A desktop app in Python and PyQt5. My first version used Yelp's API; in a 20-company test in Houston it returned no website for any of them and no emails, and the trial then expired. I switched it to the Google Places API (50 states plus DC, 88 cities), added a check of each company's own website, and exports Excel and CSV lists. I also removed a search-engine fallback for emails: it was returning other companies' addresses.
Result
Switched to the Places API. The first real scan is still pending, and none of its output has been used in outreach yet.

Mobile — React Native

Walpaper

2025

  • React Native
  • Expo
  • TypeScript
  • AsyncStorage
  • REST API
github.com/Fthkrks/walpaper
Problem
Wallpaper apps are mostly ads, forced subscriptions and slow grids. I wanted one that just shows pictures.
Solution
An Expo / React Native app on the Wallhaven API: an infinite masonry grid, category filters (General, Anime, People), trending, a full-screen swipe viewer and favourites saved on the device with AsyncStorage.
Result
Open source, no ads, no account and no API key needed.

Personal tool — finance

Ziraat Analiz

2026

  • JavaScript
  • HTML5
  • CSS3
  • Chart.js
  • SheetJS
github.com/Fthkrks/ziraat
Problem
A bank statement exported to Excel is hard to read at a glance, and budgeting apps ask for access to your account or an upload of your data.
Solution
A small web app that runs entirely in the browser. It reads the bank's .xlsx export with SheetJS, sorts transactions into categories (card purchases, ATM withdrawals, transfers, investments, bills), and shows monthly balances and category splits with Chart.js, with tabs for general spending, the investment account and foreign currency.
Result
Instant cash-flow charts with no server and no upload — the statement never leaves the browser.

What clients say

5.0 average on Bionluk · 7 reviews11 completed orders · as of October 2026View profile

Amerikadaki isim icin websitesi kurdu gercekten profesyonel ve fiyat konusunda uygun, hic bir isteginizi geri cevirmeyip elinden geleni yapiyor referans olmasi icin websitem www.letsfixitappliances.com tesekkurler

Translated from Turkish

He built a website for my business in America. He is really professional and reasonably priced; he never turns down a request and does everything he can. For reference, my website is www.letsfixitappliances.com. Thank you.

The project: Let’s Fix It

Depremde etkilenmesine rağmen tüm özverisiyle işi yaptı ve teslim etti. Kesinlikle güvenebilirsiniz.

Translated from Turkish

Despite being affected by the earthquake, he did the work with complete dedication and delivered it. You can absolutely trust him.

Let's talk about your project

Tell me what you're trying to build. I reply within one business day, and I'll tell you honestly if it isn't a good fit.

Your next idea belongs here.

Available for freelance projects

Based in Istanbul (UTC+3), working comfortably across US and European time zones — including overlap with US business hours.