Skip to content
Frank Spin.

Work

GitlabHost Dashboard

I built the GitlabHost dashboard front end from design to shipped UI. It brings onboarding, instance and runner management, billing, support, and account settings into one product that feels consistent day to day.

Period
2025
Role
Lead front-end engineer
Stack
  • Django
  • HTMX
  • Alpine.js
  • Tailwind CSS
  • Chart.js
  • Dashboard UX
GitlabHost Dashboard screenshot: home

Challenge

The dashboard had to support many workflows and edge states without feeling like separate tools stitched together.

Approach

Martijn set the visual direction. I turned that into reusable Django templates and front-end components with HTMX, Alpine.js, Tailwind CSS, and Chart.js. We walked through the key user flows in the browser and captured the important states so design and implementation stayed in sync. Feature-level technical implementation was handled by GitlabHost's in-house development team.

Outcome

The dashboard now feels like one product instead of separate tools. Even complex flows stay readable, and new modules can be added without rebuilding the UI.

Impact

  • 22 key screens selected from a full route inventory.
  • Shared UI patterns across onboarding, billing, support, and settings.
  • Faster handoff because new states reuse existing UI structures.

Credits

UI design by Martijn Runia

Front-end architecture and product UI implementation by Frank Spin

Feature-level technical implementation by GitlabHost's in-house development team