Full-Stack · Epic Systems

Epic Maps

A full-stack delivery tool that turns any list of offices into interactive, highlighted floor-plan maps.

On Epic's 10,000-person Verona campus, my team ran equipment deliveries across 30+ buildings, each with 150+ offices. The internal map only let you search one office at a time, which made multi-stop runs painfully slow. I built a full-stack tool, with a Vue front end and C# / .NET services on the back, that takes a whole list of offices and renders them as interactive, color-coded floor-plan maps. It was later expanded into a core system the team kept relying on after I left.

4,000+offices mapped
~75%faster room lookup
200+deliveries a week
~200 hrs of room-lookup time saved a year, across ~10,000 deliveries
Vue TypeScript C# .NET MySQL
Demo

See it in action

The Rework

From a wall of images to an interactive map

The first version just dumped a hard-to-read list of static map images. I rebuilt it into the interactive tool below. Drag to compare the original (V1) with the rework (V2).

Reworked interactive map, V2 Original map, V1 V1 V2
Engineering

The hard parts

Under a fairly simple UI, this was a system-design-heavy build. A few of the more interesting problems:

Rendering dense room geometry

Rooms are polygons, not rectangles; some defined by up to 80 points at 50 digits of decimal precision. Rendering that raw made the map slow, so I normalized and simplified the coordinate data to keep rendering fast, payloads small, and zoom and pan smooth.

Efficient backend & APIs

I designed the C# / .NET services and APIs to query floor-plan and occupant data for 4,000+ offices efficiently, returning exactly what each view needed instead of over-fetching.

Flexible, composable input

It takes a custom pasted list of offices or a set linked directly from other internal tools, so it fit into existing delivery workflows instead of being a dead end.

Hovercards across many systems

The occupant hovercards were the most integration-heavy piece: one card pulled together several internal databases and APIs for people, devices, calendars, and profiles.

Features

What it does for the user

Readable, color-coded rooms

Every room gets a legible label and is color-coded by type, a big step up from the original static images.

Delivery check-off

Click an office to grey it out as you deliver; the whole map greys out once the floor is done.

Printer-friendly mode

A one-click print view reformats the page for paper, for colleagues who leave the laptop behind.

Zoom controls

Zoom in on a single map or out to see several at once, for full-screen and split-screen workflows.