A social application with image battles, rankings, daily tasks and content moderation.
Delivered scope
- Flutter application with voting, profiles, rankings and tasks
- Firebase backend with Cloud Functions, Firestore and notifications
- Content moderation, reports, bans, comments and private chat
Concrete outcomes
- A complete user-generated content lifecycle with administration tooling
- Trusted operations moved from the client into server-side functions
- A consistent application interface available in Polish and English
Problem
A simple voting loop needed to stay fast while supporting profiles, privacy, rankings, rewards, communication and moderation without compromising data consistency.
Solution
The application is built with Flutter, while Firebase handles authentication, data, server-side functions and notifications. Images are stored in multiple sizes so lists and detail views do not download the same heavy files.
- One-on-one voting and vote streaks.
- Public and private profiles, follows and badges.
- Daily tasks and a profile cosmetics shop.
- Comments, mentions and private chat.
- Moderator tools, reports and user bans.
- Polish and English interface.
Key decisions
Trusted operations, including moderation and selected point transactions, run in Cloud Functions. Firestore rules limit direct client writes, while dedicated security documentation defines the boundary between the application and backend.
Result
The project goes beyond a simple demo application and covers the full user-generated content lifecycle, media storage, security, notifications and administration tools.
