Hobby project · 2026 – present
Piscatorium
Sea & freshwater angling platform (web & mobile)
A fishing map that started in Türkiye and now spans 34 countries: species, regions, fishing grounds, techniques, baits/lures and tackle recipes, with a condition-based bite-score engine, interactive maps and a catch-log community. Weather, spots and legal size/season rules on one screen.



Piscatorium- Role
- Fullstack developer · solo
- Period
- 2026 – present
- Context
- Hobby project
- Status
- Live · piscatorium.com
Highlights
- 01
Built the backend as a Laravel 13 / PHP 8.3 application over PostgreSQL + PostGIS (49 Eloquent models) with spatial queries, Redis cache/queues, Sanctum + Socialite (Apple / Google) auth, role-based access control and Sentry monitoring.
- 02
Designed the BiteScore engine: a per-species, per-sea bite prediction combining marine & weather conditions, barometric pressure trend, moon phase and twilight-based productive hours — every component carries its provenance so measured and estimated inputs are never presented as equal.
- 03
Built the interactive map layer with MapLibre GL and self-hosted Protomaps / PMTiles vector tiles served over HTTP range requests, alongside a Vue 3 + Tailwind CSS 4 (Vite) frontend with Three.js visuals.
- 04
Isolated every third-party weather call into a Python / Flask microservice (gunicorn, httpx) — the app's single egress point — so swapping providers never touches PHP.
- 05
Shipped the mobile client on Expo SDK 57 / React Native 0.86 with MapLibre maps, Firebase, RevenueCat subscriptions, Google Mobile Ads and Apple sign-in.
- 06
Localized the product into 8 languages and built the SEO layer end to end — sitemap generation, schema.org structured data, IndexNow, llms.txt and generated OG share images.
- 07
Run the production stack myself on a DigitalOcean Ubuntu server: nginx + PHP-FPM, Docker Compose (PostGIS 17, Redis 8), Cloudflare, scripted git-based deployments and database backups.
App screens
Scroll to browse →
Web interface

Home page
Wave, wind, water temperature and current; fishing grounds, no-fishing zones and the regulations in force — all on one map.

Fishing-ground map
The Türkiye view: 1,462 coastal fishing grounds and 2,089 inland spots, clustered on MapLibre GL.

Species page: Bluefish
Species facts, region picker, fishing grounds, season and conditions, bait and tackle, rules — on one page.

Region page: Sea of Marmara
Fishing grounds, featured species and the conditions that drive migration seasons for each sea.

Spot page: Sarayburnu
Every spot gets satellite imagery, a location preview, catalogue species, a modelled depth band and access details.

Bait guide
Natural baits and lures, the species they are linked to, and a lure colour / presentation guide.
Other projects
All projects →


Personal · published on iOS & Android
Dareaplan
Personal & family finance planner
Multi-currency budgeting app: income/expense tracking, savings goals, investments, shared family plans and AI receipt scanning.
- React Native (Expo)
- TypeScript
- Laravel 12
- MySQL
- Firebase



Personal · published on the App Store
MindTap
Grid-based memory game
A pattern-memory mobile game with progressively larger grids (3×3 up to 8×8) and increasing difficulty — daily challenges, a global leaderboard, achievements and neon themes.
- React Native (Expo)
- TypeScript
- Reanimated
- Firebase
- RevenueCat





