Skip to main content
Simon Stijnen
Back to All Projects

Pop-a-loon

Pop-a-loon Chrome extension icon showing colorful balloons

Pop-a-loon Chrome extension icon showing colorful balloons

Pop-a-loon extension interface with floating balloons on a webpage

Pop-a-loon extension interface with floating balloons on a webpage

User statistics dashboard showing popped balloons count and global leaderboard

User statistics dashboard showing popped balloons count and global leaderboard

Pop-history graph displaying user's balloon popping activity over time

Pop-history graph displaying user's balloon popping activity over time

Pop-a-loon is a full-stack Chrome extension that injects playful, interactive balloons into any webpage, turning ordinary browsing into a light-hearted game. With 200+ active users on the Chrome Web Store, it demonstrates end-to-end ownership from browser API integration to cloud-backed persistence.

How It Works

When installed, the extension periodically spawns balloons that float across the current tab. Clicking one pops it with satisfying feedback and records the event against the user’s account. A popup panel surfaces personal stats alongside a global leaderboard, fostering a small competitive community entirely within the browser.

Key Features

  • Randomised balloon spawning driven by configurable Chrome Extensions content scripts
  • Real-time stat tracking persisted in MongoDB via a REST API backend
  • Global leaderboard and a pop-history graph visualising activity over time
  • User accounts with cross-device score synchronisation
  • Settings panel built with React and Tailwind CSS, bundled for the extension environment

Technical Highlights

The backend is a Next.js application deployed in a Docker container, exposing a typed REST API consumed by both the extension popup and the leaderboard page. The entire codebase is written in TypeScript, providing strict typing across the Chrome content scripts, the React UI, and the API route handlers. MongoDB stores user records and pop events, with aggregation pipelines powering the leaderboard queries. Keeping the extension lightweight while coordinating with a live backend required careful attention to Chrome’s service-worker lifecycle and message-passing model — a practical exercise in building resilient, event-driven browser software.

Technologies Used

  • React
  • Next.js
  • Tailwind CSS
  • MongoDB
  • REST API
  • Chrome Extensions
  • TypeScript
  • Docker

Related Projects

Signapse
Using computer vision and machine learning to translate sign language gestures into text.
CERM MCP PoC
A proof of concept email automation agent using Microsoft 365 MCP server and LangChain.
Final project: Bluetooth Device Localization
Locating devices in a room via bluetooth signal strength.