tuca
After building AI models for bird identification in WikiAves, I wanted to make something for birders themselves instead of only for dataset curation. Tuca became that project: a birding PWA where people could post sightings, get species suggestions, discover places, and follow other users.
Tuca is built with Angular, Firebase, and TensorFlow.
what the app does
Tuca combines a few pieces that belong together in birding:
- photo uploads with metadata such as species, place, and date
- a species catalog with taxonomic data
- user profiles and social interactions
- place pages that show what has been spotted nearby
- AI suggestions during photo upload
The AI piece grew out of the work I had already done for Harpia. Instead of limiting that classification work to Brazilian species, I trained a broader model so Tuca could suggest birds from a wider global set.
stack and architecture
Firebase handled most of the backend:
- Firestore for observations, places, species, and social data
- Firebase Authentication for accounts
- Firebase Storage for images
On the frontend, Angular's service-based structure kept the project organized around the product domains: media, taxa, users, and places.
The PWA layer was important too. Birding often happens with weak connectivity, so installability and offline caching were not just technical extras. They made the app much more usable in the field.
product details that mattered
The project gradually picked up the things that make a niche social app feel complete:
- likes and profile customization
- featured users and media
- empty states and search improvements
- image optimization and thumbnails
- location-linked discovery
What I liked about Tuca was that it sat between two different kinds of work I enjoy: ML systems and user-facing product design. Harpia solved the classification problem; Tuca tried to make that capability useful in an actual community workflow.
related projects
- Harpia - AI bird classification system for WikiAves