PRODUCTION SYSTEMS · 2026

WORK

GÜL AKKOCA · SELECTED CASE STUDIES

Explore my work,
process and more.

Case studies and engineering explorations across distributed systems, AI, and mobile apps. Keep exploring, there's more than just UI design.

+
DiziList Case Study Mockup

DiziList

A cross-platform mobile app for tracking shows and films: watch history, season progress, ratings, comments and group live chat, with push notifications for new episodes and upcoming releases. Built with Flutter and FastAPI, available in 20 languages.

Open the project ↗

DiziList

Mobile
+
FraudGuard AI Case Study Mockup

FraudGuard AI

A multi-agent system analyzing e-commerce links to detect fake reviews, price anomalies, and seller risks with a 0–100 Trust Score.

Open the project ↗

FraudGuard AI

Multi-Agent & LLM
+
EvliyApp AI City Discovery Mockup

EvliyApp

A Turkish-language platform where users describe what they want in a chat and get personalized place recommendations, route plans and a map view.

Open the project ↗

EvliyApp

City Discovery & AI
+
TicketHub Mockup

TicketHub

A team-built web platform for selling event tickets with seat selection, concurrency-safe PostgreSQL locks, and React + TS frontend.

Open the project ↗

TicketHub

Database & Frontend
MOBILE

01 — DiziList: Multi-Platform Series Companion

A cross-platform mobile app for tracking shows and films: watch history, season progress, ratings, comments and group live chat, with push notifications for new episodes and upcoming releases. Built with Flutter and FastAPI, available in 20 languages.

FLUTTER & FASTAPI · 3 CORE SCREENS
DiziList Discover & Air Calendar DiziList Watchlist & Tracking DiziList Details & Cast
CORE ENGINEERING HIGHLIGHTS
  • Async Backend: FastAPI with SQLAlchemy 2.0 and Pydantic v2 on PostgreSQL, organized into modular domain routes (routes, models, services, schemas, jobs).
  • Secure Auth: JWT access/refresh token pair with bcrypt hashing, rate limiting against brute-force, and token revocation on logout or password reset. Tokens are stored in Flutter Secure Storage with automatic refresh via Dio interceptors.
  • Real-Time Chat & Notifications: WebSocket group chat rooms with @mention detection, plus FCM push notifications for new episodes, new seasons and mentions, driven by a scheduled release-check job.
  • Caching & Resilience: Redis-based caching for TheTVDB responses, trend calculations and rate-limit counters, with graceful fallbacks (in-memory cache without Redis, local DB when the external API is unavailable).
  • Localization: 20 languages supported through Flutter Localizations and ARB files, with deep linking via GoRouter from notifications straight to show or chat screens.
TECHNOLOGY STACK
Flutter Riverpod GoRouter FastAPI PostgreSQL Redis MinIO (S3) Firebase FCM TheTVDB API v4 Nginx
HACKATHON PROJECT AI SYSTEM

02 — FraudGuard AI: Multi-Agent Trust Scoring for E-Commerce

A multi-agent system that analyzes an e-commerce product link and flags fake reviews, inflated discounts and risky sellers, then summarizes the verdict in plain language through a 0–100 Trust Score. Built for a hackathon and deployed as a live demo on Vercel.

🔒 fraudguard-ai.vercel.app
LIVE
FraudGuard AI - Trust Score & Risk Analitik Paneli
CORE ENGINEERING HIGHLIGHTS
  • Hybrid Rule-Based + LLM Agents: Four specialized agents (Review, Price Anomaly, Seller Risk, Product Consistency) apply deterministic rules first, and fall back to an LLM call only when the rules are inconclusive, keeping results explainable and LLM usage low.
  • Weighted Trust Score Engine: Agent outputs are combined into a single 0–100 Trust Score with a per-agent breakdown.
  • LLM Report Generation: Google Gemini turns the agents' structured findings into a human-readable risk report, so the final text is grounded in the agents' evidence rather than generated freely.
  • Live Link Analysis: Paste a Trendyol or Amazon product link and the backend pulls the product data from the page's network JSON responses with HTTPX, then runs the analysis in real time.
  • Transparent Frontend: React + Vite dashboard with score breakdown cards, an evidence panel and an agent timeline.
TECHNOLOGY STACK
Python FastAPI Pydantic HTTPX Google Gemini API React Vite Vercel
GRADUATION PROJECT AI PLATFORM

03 — EvliyApp: AI-Powered City Discovery Platform

A Turkish-language platform where users describe what they want in a chat and get personalized place recommendations, route plans and a map view. Built as a graduation project in a five-person Scrum team, where I owned the entire frontend and the hybrid retrieval layer of the recommendation engine.

EvliyApp AI City Discovery Platform
CORE ENGINEERING HIGHLIGHTS
  • Hybrid Retrieval Layer: Query and place embeddings (384-dim, multilingual-e5-small via Sentence Transformers) ranked by cosine similarity and combined with category, location and tag metadata filters.
  • Route-Planning Retrieval: Multi-point search that finds candidates per stop with de-duplication, then a proximity-scoring step blends semantic relevance with geographic distance for the final ranking.
  • Fault-Tolerant Fallback: If embedding generation fails, the system degrades to metadata-only filtering instead of failing the request.
  • End-to-End Frontend: Designed and built the full UI/UX system (warm Mediterranean palette, parallax hero) and every user flow: auth, chat-based query, recommendations, route planning, map view and favorites, using React + Vite and Figma.
TECHNOLOGY STACK
React Vite Figma Python Sentence Transformers multilingual-e5-small Cosine Similarity Search
TEAM PROJECT DATABASE & FRONTEND

04 — TicketHub: Concurrency-Safe Booking Platform

TicketHub is a team-built web platform for selling event tickets with seat selection. I designed the PostgreSQL database and built the React + TypeScript frontend, with seat locking and session conflict control enforced at the database level.

TicketHub - Seat Selection & Booking Interface
MY CONTRIBUTIONS
  • Database Design: Designed the PostgreSQL schema for the ticketing domain, owning the data model that the rest of the team's backend was built on.
  • Seat Locking & Conflict Control: Wrote PL/pgSQL functions and triggers that lock seats and prevent session conflicts inside the database, so double-booking is blocked even when multiple users try to buy the same seat at once.
  • Single-Page Frontend: Built a responsive SPA with React and TypeScript, using Tailwind CSS for layout, React Router for navigation and Axios for backend integration.
TECHNOLOGY STACK
PostgreSQL PL/pgSQL React TypeScript Tailwind CSS React Router Axios Vite