I’ve been working for almost 9 months on Fish Trophy (with absolutely 0 programming experience), a web platform for anglers in Romania, and I’ve reached a point where I feel it’s worth presenting.
In short, the idea behind the platform is to be a serious place for passionate anglers who want to log, track, and compare their records, catches, and progress over time. I wanted it to turn into something that treats fishing as a respected sport, encourages responsibility toward nature, helps improve fishing spots over time, and, why not, could also support real civic pressure for the protection of waters.
We do not publish exact fishing spots. The map only shows general zones and points of interest, precisely so that sensitive areas are protected and not overexposed.
The records, catches, and gear system has a unique generated ID for each entry, which means that any record, catch, or piece of gear can be embedded directly into a forum topic.
The user profile has separate tabs for Records, Catches, and Gear, while the public profile displays statistics and can be shared.
The map runs on MapLibre with GeoJSON and vector layers, which allows rendering a large number of locations (800+ at the moment) without startup lag and without creating one DOM element for every point.
There are separate layers for:
It has:
The admin map editor is integrated with the Google Maps Places API. You can search for a location, the data is filled in automatically, you can add a photo gallery through signed upload, you can choose which fields appear on each location card, and you can control display settings without touching the database directly.
The main application includes:
Cosmintrica introduces Fish Trophy, a full-stack web platform for anglers in Romania, built with React and Supabase. The platform includes features like a map with fishing locations, a forum, and a reputation system. Cosmintrica seeks feedback on the platform's direction, structure, and user experience. Smarkman19 shares insights on simplifying core features and enhancing moderation before launch.
I went through something similar building a niche community app, and the biggest unlock for me was cutting scope and over-protecting moderation from day one.
What helped was separating “core loop” from “nice toys.” For you, that feels like: logging catches + records, browsing the map, and a dead-simple way to post and reply. I’d watch how many clicks it takes to: open app → log a catch → share it in a forum post. If that flow isn’t brain-dead simple on mobile, I’d trim features until it is.
Second thing I learned: recruit and train a tiny group of trusted mods before launch, and give them a brutally simple dashboard and clear rules. I used Discord + a Notion page at first; later I wired in alerts through Slack, Telegram, and ended up on Pulse for Reddit after trying Mention and Brand24 so I wouldn’t miss drama spreading outside the app.
If you nail the “log → share → discuss” loop and keep moderation human, the rest of the features can grow slowly without burning you out.
/fishing-game and in the forum contextThe forum is integrated into the product, but it has a separate layout and navigation from the site so it can evolve independently.
The hierarchy is complete: categories -> subcategories -> subforums -> topics -> posts
I wrote a custom BBCode parser that supports:
[b], [i], [u], [s], [h1-h3], [list], [code], [spoiler], [img], [url][quote user="..." post_id="..."][record]id[/record], [catch]id[/catch], [gear]id[/gear]These embeds are resolved at runtime and display the full card with real data.
The forum also includes:
/user/:usernameEverything related to the forum is designed to be auditable.
Each post edit records:
For admin edits, the edit_reason field is mandatory.
Each reputation award or removal is logged in forum_reputation_logs, with:
Moderation has a complete per-user history, including:
mute, view_ban, shadow_ban, temp_ban, permanent_banThe reputation system has 8 power levels, from 0 to 7, based on total points.
A like with a comment, with a minimum of 3 characters, is worth a higher multiplier depending on the power level of the user giving it.
Forum search uses PostgreSQL tsvector.
You can search simultaneously across:
There are filters for:
Results are sorted by relevance.
On the performance side, I relied on Postgres RPCs. For example, a single function can fetch a complete topic, meaning posts plus the authors’ full data, in a single call:
This avoids dozens of separate queries.
Private messages, both on the site and on the forum, use end-to-end encryption.
The content is encrypted in the browser before being stored and decrypted on read in the client. On top of that, there is realtime delivery and an unread badge in the header.
The site admin area includes:
The forum admin area includes:
Basically, nothing requires direct database access.
On the auth side, there is:
Frontend
Backend / data
Serverless
Tooling
PWA
And many more I probably forgot to mention.
To be honest, I never even dreamed to be able to create something on this scale with AI. The journey was crazy, I learned so much, I used so many platforms and AI agents or IDEs and I spend quite a bit of money, but if I manage to fully launch this platform and have a real impact in my beautiful country, all of it will be worth it.
My first reddit post about this: Vibe coding a million dollar idea 🔥 : r/theVibeCoding
Link: FishTrophy.ro
If you have feedback on the direction, structure, UX, forum, map, the idea itself, or any part of the product, I’d genuinely be interested.