Developer · Builder · Creator

SHINKA 進化

Evolution Never Stops.

I'm Enes Kirgil, CS student at UTM.
Shipping MoshiMosh, Mizan, Snag, Pocket, GymVro, solo.
Learning Japanese 🇯🇵 every day.

Scroll
MoshiMosh
Mizan
Snag
Pocket
GymVro
SwiftUI Native
Flutter Dev
FastAPI + React
Cloudflare Edge
0 Third-Party Deps
Claude-Powered Agents
Arch + Hyprland
Solo Builder
CS @ UTM
日本語学習中
進化 Evolution
MoshiMosh
Mizan
Snag
Pocket
GymVro
SwiftUI Native
Flutter Dev
FastAPI + React
Cloudflare Edge
0 Third-Party Deps
Claude-Powered Agents
Arch + Hyprland
Solo Builder
CS @ UTM
日本語学習中
進化 Evolution
About Me

Building things
that matter.

I'm Enes Kirgil, a CS student at UTM who builds full-stack apps, games, and brands. I don't just write code; I obsess over the craft.

Learning Japanese every day. Disability doesn't limit ambition. It sharpens the discipline.

0
Apps
0
Tools
Evolution
const enes = {
  uni: "UTM, CS",
  os: "Arch + Hyprland",
  native: "SwiftUI",
  cross: "Flutter + Expo",
  backend: "FastAPI + Supabase",
  edge: "Cloudflare",
  ai: "Claude",
  ja: "学習中",
  deps: 0
};
SwiftUI
Flutter
React
TypeScript
FastAPI
Supabase
Firebase
Cloudflare
Claude
Python
日本語
Linux
The Why

Why I build.

Every app started with a moment of frustration. The fix shipped a few weekends later.

MoshiMosh icon
MoshiMosh
Duolingo gamifies. It doesn't teach.

I wanted to actually learn Japanese, not collect streaks and crowns. So I built the app that teaches kana, kanji, vocabulary, and grammar with real lessons and real progress, not gimmicks. Solo, from scratch.

🌸 The fix → ship the real curriculum yourself.
Mizan icon
Mizan
Prayer apps shouldn't be ad farms.

Azan Pro was unusable: banner ads under prayer times, popups on Qibla. So I built Mizan: prayer, Qibla, full Qurʾān with memorization, Tasbih, Hadith, and a Spiritual Garden where worship grows trees from the Qurʾān. Native iOS. Zero dependencies. Nothing leaves your device.

🌙 The fix → ad-free, all on-device, built right.
Snag icon
Snag
SaaS for what should be a local script.

Saving a YouTube clip meant either a $9/mo subscription or a sketchy site full of fake download buttons. So I wrapped yt-dlp in a PWA hosted on my own Mac, exposed via Cloudflare Tunnel with TOTP 2FA, with a vintage cassette UI because my downloads deserve better than a progress bar.

📼 The fix → host it yourself, make it beautiful.
Pocket icon
Pocket
Six tabs open just to know how I'm doing.

Stripe for revenue, RevenueCat for subs, YouTube Studio for views, Instagram for followers, Notion for goals, a spreadsheet for expenses. So I built a single founder cockpit: live revenue, project budgets, social growth, AI agent that knows my numbers. One curated view of the entire operation.

💼 The fix → one pocket, every metric.
Projects

What I've shipped.

App Screenshots, Swipe to Explore →
Engineering

// the stack

Production-tested across MoshiMosh, Mizan, Snag, and counting.

🍎
Native iOS
SwiftUI + Swift 5.9
Production iOS, fully native. Pure-Swift algorithms when frameworks fall short. Zero third-party dependencies, by design.
SwiftUISwift 5.9XcodeGenWidgetKit
📱
Cross-Platform
Flutter / Dart
When one codebase ships both stores. Riverpod for state, Firebase for the spine, native channels when Flutter isn't enough.
FlutterDartRiverpodNative Channels
Mobile Backend
Supabase + Firebase
Postgres core with realtime subscriptions and Row-Level Security. Firebase for FCM and APNS push.
SupabaseFirebasePostgresRLS
🐍
Python Backend
FastAPI + SQLAlchemy
Async APIs the right way. Alembic migrations, audit logging, security middleware, production-shaped from commit one.
FastAPIPython 3.11SQLAlchemyAlembic
⚛️
Web Frontend
React + TypeScript
PWAs that feel native. Strict TS, Tailwind for velocity, Vite for the dev loop, installable on day one.
React 18TypeScriptViteTailwind
🗃️
Databases
Postgres + SQLite
Postgres for the cloud, SQLite for the device. Migrations versioned, indexes intentional, queries explained when they matter.
PostgresSQLiteMigrationsIndexes
🔒
Zero Trust
Cloudflare Edge
No exposed ports. Cloudflare Tunnel + Access at the edge, TOTP on the app, Fernet-encrypted secrets at rest.
Cloudflare TunnelAccessTOTPFernet
🤖
Agent Workflows
n8n + Custom Skills
Multi-step pipelines that ship work overnight. Scheduled loops, Supabase-backed memory, skills that compose into bigger jobs.
n8nCustom SkillsSupabaseCron
📊
Data Pipelines
Python ETL
Scrape, normalize, package. Quran corpus, custom fonts, hadith catalogs, the boring work that makes the apps feel rich.
PythonBeautifulSoupJSON
🧮
Algorithms
From scratch when needed
When the library doesn't exist, write it. Pure-Swift prayer-time math, Ebbinghaus spaced repetition, programmatic CoreGraphics.
CustomCoreGraphicsSRS
🐧
Daily Driver
Arch Linux + Hyprland
Tiling Wayland compositor on Arch. Every keystroke intentional. The terminal is the IDE.
ArchHyprlandWaylandZsh
🎨
Design
Figma + Code
Designs that don't look AI-generated. Prototyped in Figma, polished line-by-line in code.
FigmaUI/UXCursor
Hidden Feature

連四 Connect Four

🌸 vs ⛩️, First to four wins. Can you beat the CPU?

連四 Connect Four
🌸 Your Turn
0, 0
Click a column to drop your piece 🌸
Contact

Let's
Build Together.

Got a project? A collab?
Just want to say こんにちは?
I'm always reachable.

進化✦ petal found