About the project

Inspiration

We wanted to turn Reddit comments into a living, communal experience. Aquariums are calming, collaborative, and naturally UGC-friendly—perfect for a playful social game where every comment can become a fish.

What it does

Converts formatted Reddit comments into fish that appear in a live aquarium webview. Shows Fish of the Day (highest votes), pending fish, and recent additions. Provides in-tank stats and an analytics modal for quick insights.

How we built it

Client: React + TypeScript, rendered as a Devvit webview. Visuals: CSS for parallax, light rays, bubble effects; a JS “realistic swim” loop for smooth motion. Data: Fetches fish entries from a single Reddit post via Devvit API or a proxy. Logic: Parses UGC, enriches sprites/colors, filters by mode, and computes analytics. A simple timer ticks updates every 60s; overlays are configurable by URL params (e.g., mode, statsPos, swim).

Challenges we ran into

Balancing performance with visual richness for many fish. Handling UGC safely while keeping the flow simple. Ensuring the experience feels lively without overwhelming motion. Coordinating test vs production thresholds without complicating install steps.

Accomplishments that we're proud of

A smooth aquarium feel with minimal CSS/JS, including a readable “realistic swim” loop. A clean UGC pipeline: comment in, fish out—fast. A compact analytics view that requires no extra infra. Flexible overlay controls that work for screenshots and streams.

What we learned

Designing for UGC on Reddit requires frictionless input and clear formatting guidance. Small visual details (light rays, bubble motion, gentle easing) dramatically improve feel. URL-driven configuration is powerful for creators and moderators.

What’s next for fish-tank

Moderation tools (curation, profanity controls, automod integrations). Seasonal themes and event-based spawns. Achievement system and fish evolution. Lightweight persistence for analytics history and daily rotations.

Built With

Share this project:

Updates