← all work

academic2025Case study

ClassiFish

on-device fish species identification for Philippine waters

What if your phone could identify a fish from Philippine waters — offline?

My undergraduate thesis: a Flutter app that identifies Philippine fish species on-device with a custom YOLOv11 model exported to TensorFlow Lite, a Django REST backend for species data, detection history, feedback and model versions, and a Next.js admin panel.

RoleMobile, backend and ML developer
My partUndergraduate thesis · solo build
Year2025
StatusCase study

What I did

Built with

System

Three parts talk to one database:

  1. Mobile app (Flutter) — camera and gallery capture, on-device detection with a TensorFlow Lite export of the YOLOv11 model, an offline-first SQLite store that syncs when a connection returns, and a feedback flow so users can correct a misidentification.
  2. Backend (Django REST Framework) — species database, users with Admin / Researcher / General User roles, detection history, feedback review, and versioned model files that the app downloads over the air.
  3. Admin panel (Next.js) — species management and feedback moderation for researchers.

Model

A YOLOv11 detector trained on Philippine fish species and quantised for mobile inference. The feedback loop — user corrections reviewed by researchers — is the mechanism for improving the dataset between model versions.