Inspiration As an F1 fan, I've always been fascinated by what happens behind the scenes on race weekends. Commentators often mention teams scrambling for spare parts or taking grid penalties for exceeding component limits.

I researched and discovered that F1 teams manage 25,000+ carbon fiber parts across 24 races per year. Each part has strict FIA life limits—a front wing lasts ~1000km, a gearbox ~2000km. One missed expired part can cost $500,000 in emergency freight.

The shocking part? Most teams still track this with Excel spreadsheets and WhatsApp groups.

I wanted to build something better—a solution that brings F1 part tracking into the modern Atlassian ecosystem.

What it does Williams Parts DNA transforms F1 part management:

Track every part with unique serial numbers and QR codes Monitor life limits with color-coded health status (🔴 Red = Replace, 🟡 Yellow = Warning, 🟢 Green = OK) Predict "Next Allowed Race" based on remaining kilometers and the F1 2025 calendar Compliance Gate automatically blocks unsafe parts when assigned to race prep issues in Jira Dashboard shows real-time metrics—total parts, compliance rate, parts by location QR Scanner lets mechanics update part status trackside with one scan Williams themed with real 2025 drivers (Alex Albon #23, Carlos Sainz #55) and 13 actual team locations How we built it Atlassian Forge - The core platform (nodejs20.x runtime) React 19 - Custom UI for rich dashboard and forms TypeScript - Type-safe backend resolvers and services Forge Storage API - Persistent part data storage Jira Issue Panel - Embedded directly in Jira workflows Forge Triggers - Automated compliance gate on issue updates Ergast F1 API - Real race calendar data The app lives entirely within Jira—engineers see the Parts DNA panel on every issue without leaving their workflow.

Challenges we ran into

  1. First time using Forge Never built a Forge app before. Spent hours reading documentation and debugging cryptic errors.

  2. Deployment failures Got Module not found: resolver.js errors. Learned Forge bundler needs TypeScript imports without .js extensions.

  3. Blank screen in Jira App deployed but showed nothing. Discovered React builds need "homepage": "." in package.json for relative asset paths to work in Custom UI.

  4. Making it feel authentic Wanted a real F1 experience, not a generic demo. Researched Williams Racing extensively to add accurate drivers, locations, and component types.

Accomplishments that we're proud of "Next Allowed Race" prediction - Our standout feature. The app calculates remaining part life and tells you exactly which Grand Prix it will expire after. No other tool does this.

Compliance Gate - Automatically blocks expired parts from being assigned to races. Prevents human error that could cost $500K.

Full Jira integration - Not just a standalone app, but embedded directly in engineer workflows.

Beautiful UI - Williams-branded with intuitive color coding that anyone can understand at a glance.

Actually deployed and working - It runs live on Atlassian Cloud, not just localhost!

What we learned Forge is powerful but has quirks - Small things like import extensions and asset paths matter a lot Custom UI gives full control - Worth the extra complexity over UI Kit for complex dashboards F1 logistics is incredibly complex - Teams track parts by individual serial number across continents User experience matters - Designing for mechanics who scan parts in a hot garage changed everything Hackathons teach fast - Built more in a few days than weeks of tutorials What's next for Williams Parts DNA Compass integration - Link parts to Atlassian Compass service catalog Confluence dashboards - Visual maps showing part distribution globally Mobile PWA - Offline-capable app for trackside mechanics Historical analytics - Track part failure patterns over seasons Real team feedback - Would love to show this to actual F1 engineers!

Built With

Share this project:

Updates