Fishub: Social Platform for Anglers

TypeScript  //  React Native (Expo)  //  FastAPI  //  PostgreSQL  //  Firebase Auth  //  Docker

01. Overview

Fishub is a full-stack social network built for anglers: log a catch, get the species identified by computer vision, see whether the fish are actually biting right now, and compare notes with a club or the leaderboard. I built both halves of the product, a FastAPI/PostgreSQL backend and a cross-platform React Native mobile app, as a monorepo with a shared Docker Compose dev environment.

The app leans on real environmental data rather than static content: catches are enriched with live weather, tide/solunar timing, and AI-assisted species recognition, then folded into a social layer of feeds, clubs, challenges, trophies, and an end-of-year "Wrapped" recap.

02. Backend & Data Engineering

The API is a FastAPI service backed by PostgreSQL, modeling catches, species, locations, water conditions, clubs, and a full social graph (follows, likes, comments, blocks) behind Firebase-authenticated endpoints.

03. Environmental & AI Intelligence

Rather than treat every catch as an isolated data point, the backend layers in the conditions around it, which is the part of the product I found most interesting to build.

04. Mobile App & Product Design

The client is a single TypeScript/React Native (Expo) codebase shipping to iOS and Android.

Catch Logging

Camera/photo-library capture, AI species suggestion, and map-based location tagging via react-native-maps.

Feed & Clubs

Following, likes, comments, club membership, and follow-request flows layered on Firebase auth.

Trophies & Challenges

25+ trophy tiers and rotating seasonal challenges tracked against a live leaderboard.

Forecast & Insights

Feeding-window forecasts, personal stats, and an annual "Wrapped" recap screen.

View Source on GitHub