BRM5 Interactive Map . BRM5 Interactive Map . BRM5 Interactive Map . BRM5 Interactive Map . BRM5 Interactive Map . BRM5 Interactive Map .BRM5 Interactive Map . BRM5 Interactive Map . BRM5 Interactive Map . BRM5 Interactive Map . BRM5 Interactive Map . BRM5 Interactive Map .
CompletedFeatured2025

BRM5 Interactive Map

BRMap5 is a community-driven interactive map built for the zombie survival gamemode in Blackhawk Rescue Mission 5 on Roblox. I single-handedly redrew the entire zombies map from scratch in Figma, creating a clean and accurate representation of the game world. The app provides players with a detailed, pannable, zoomable, and rotatable version of that map, packed with 90+ documented locations complete with images, descriptions, and markdown-formatted guides. It features fuzzy search powered by Fuse.js, category-based filtering, a draggable compass, image lightbox, visitor counter, and community-contributed background art that changes each session.

RoleFull-Stack Developer
Duration3 months
TeamSolo Project
ClientCommunity Project
BRM5 Interactive Map

The Challenge

Create a performant, fully interactive map experience that lets BRM5 players quickly find and learn about in-game locations. The map needed smooth pan, zoom and rotation with dozens of pins visible at once, each linking to rich location detail pages with image galleries. Performance had to stay solid on lower-end devices commonly used by the Roblox audience.

The Solution

Built a React 19 + TypeScript single-page app served by Vite. Implemented a custom canvas-style transform system for smooth pan, zoom, and rotation around the viewport center. Used Fuse.js for instant fuzzy search across all locations. Each location features markdown-rendered descriptions and a multi-image gallery with a full-screen lightbox. A collapsible sidebar, togglable compass, and category filtering keep the UI clean while offering powerful navigation. A Vercel KV-backed visitor counter tracks community engagement.

Tech Stack

ReactUI component libraryTypeScriptTyped JavaScriptViteFast build toolFuse.jsFuzzy search libraryCSSStyling languageFigmaDesign tool

Key Metrics

90+
Locations
13
Categories
16
Backgrounds
15+
Components

Details

Category
web
Year
2025
Status
completed
Role
Full-Stack Developer

Key Features

Pan, Zoom & Rotate

Fully interactive map with mouse-driven pan, scroll-wheel zoom, and right-click rotation that pivots around the viewport center.

Fuzzy Search

Instant location search powered by Fuse.js, matching names, descriptions, and categories with typo tolerance.

Category Filtering

Filter 13 location types — buildings, shops, zombie nests, extraction points, and more — to find exactly what you need.

Rich Location Details

Every pin opens a modal with markdown descriptions, multi-image galleries, and a full-screen lightbox with zoom.

Draggable Compass

An interactive compass that shows true north, supports click-drag rotation, and scales responsively.

Community Backgrounds

16 community-contributed background artworks that rotate randomly, with artist credits displayed in the sidebar.

Technical Details

Implementation

Built with React 19 and TypeScript on Vite for fast dev and optimized builds. The map uses a custom transform system calculating pan, zoom, and rotation through matrix math to keep interactions smooth. Fuse.js powers fuzzy search with configurable thresholds. Location data is stored as a JSON dataset with markdown-formatted descriptions rendered via react-markdown and remark-gfm. The image lightbox supports up to 5x zoom with mouse-driven panning. A Vercel KV store tracks unique visitor counts via a serverless API route. Community background art is randomly selected on load with artist credits.

Lessons Learned

This project deepened my understanding of coordinate space transformations — handling pan, zoom, and rotation simultaneously required careful matrix math to keep pointer interactions accurate when the map is rotated. I also learned how to structure a data-heavy React app for performance, keeping re-renders minimal despite dozens of visible map pins. Working with the BRM5 community taught me the value of building tools people actually use and iterating based on real feedback.

Design Handbook

Color Palette

Dark Background
#0a0a0aApp background
Panel
#111111Sidebar and modal panels
Element
#1a1a1aCards, inputs, elevated surfaces
Gold Accent
#d4a544Primary accent, highlights, active states
Gold Hover
#e6b84dHover state for accent elements
Danger
#cc4444Enemy outposts, zombie nests, warnings
Success
#44cc88Spawnpoints, safe zones

Typography

Rajdhani

Weight: 400-700
Display headings, sidebar title, tactical UI
BRMAP5

Inter

Weight: 400-600
Body text, descriptions, UI elements
Operation CRYO Zombies

Design Principles

1

Military-tactical aesthetic with dark backgrounds and gold accents

2

Information density balanced with clean spatial hierarchy

3

Performance-first rendering for smooth map interaction at 60fps

4

Responsive design adapting sidebar and controls for mobile viewports

Other Projects