Ege Yesilyurt

Full-Stack Developer · 📍 Toronto

4th-year Software Engineering student at York University. I build and ship full-stack products, most recently a daily puzzle game with 500+ players.

Outside of coding: I like traveling, backpacking, or playing sports like soccer, badminton, or bouldering. I love hiking and being in the nature. I also like gaming with friends.

Ege Yesilyurt

Projects

Featured · Live 2026

z9bra

Daily logic-puzzle game, live at zebra9.xyz

It runs on a commit-based solver that scores the guesses you lock in as you go, so the game rewards real reasoning over a lucky final grid.

  • Wordle-style daily puzzle with 500+ unique players, all solving the same date-seeded grid.
  • Commit-based solving engine with overwrite scoring and server-rendered share cards.
  • Optional account sync for cross-device streaks; automated deploys on Vercel.
Next.js 16React 19TypeScriptTailwind CSSSatoriVitestVercel
z9bra landing page with the daily logic grid
Featured · Open source 2026

Puzzle Generator

The constraint-solver engine behind z9bra

Used CP-SAT as a uniqueness oracle instead of hand-checking puzzles, so every shipped daily is provably single-solution. No unsolvable or ambiguous grids reach players.

  • Python engine that uses OR-Tools CP-SAT as a uniqueness oracle, so every puzzle is provably single-solution.
  • Custom propagation tracer measures human deduction depth to score and tune difficulty.
  • Built with strict TDD: property-based tests, dual-implementation cross-checks, mypy-strict clean.
Python 3.12OR-Tools CP-SATPydantic v2pytestHypothesismypy
csp-generator CLI generating and exporting a 5×5 logic puzzle
FITIVA workout planner landing page

FITIVA

2026

Workout training planner web app

Led the 6-person team and pushed for a repository-pattern data layer so the backend stayed testable under a tight deadline, backed by 40+ Django unit tests.

  • Project lead for a 6-person team, running sprint planning and delegation in Jira.
  • User/trainer auth, fitness profiles, program scheduling, and workout recommendations.
  • Repository-pattern data layer, 40+ Django unit tests, fully containerized.
Next.jsTypeScriptDjango RESTMySQLDocker
BundesPredict showing baseline vs adjusted odds with audited adjustment chips

BundesPredict

2026

Bundesliga match predictor, live

Kept the Dixon–Coles engine as the single source of truth and boxed the LLM into bounded, validated adjustments, so the model never hallucinates odds.

  • Dixon–Coles match model, retrained weekly via GitHub Actions.
  • LLM layer emits only bounded, validated adjustments. The engine owns every number.
  • FastAPI + Postgres backend, Next.js frontend, Transfermarkt market-value priors.
PythonFastAPINext.jsPostgreSQLDockerGitHub Actions
Spocity landing page with a 3D voxel city built from listening history

Spocity

2026

Your Spotify history as a 3D voxel city, live

Offloaded Spotify history ingest to Celery background jobs so the OAuth flow stayed instant while heavy pulls ran out of the request path.

  • Spotify OAuth with on-demand history ingest via Django + Celery jobs.
  • Genre rollup turns your artists into districts of a 3D voxel city in React Three Fiber.
  • Shareable public profiles and a postcard generator; deployed on Vercel + Railway.
Next.jsReact Three FiberTypeScriptDjangoCeleryPostgreSQL

Stack

Languages

  • TypeScript
  • Python
  • Java
  • SQL

Frameworks & Libraries

  • Next.js
  • React
  • SvelteKit
  • Django REST Framework
  • FastAPI
  • Tailwind CSS

Infrastructure & Tools

  • PostgreSQL
  • MySQL
  • Docker
  • GitHub Actions
  • Vercel
  • Git

Contact

Let's talk.

Based in Toronto. Looking for internships/new-grad software engineering roles. If you're hiring, or just want to argue about logic puzzles, my inbox is open.

© 2026 Ege Yesilyurt

Built with SvelteKit + Svelte 5 runes, Tailwind v4, and GSAP · animations respect prefers-reduced-motion · deployed on Vercel

some favourites