Custom Dashboards
A drag-and-drop, customisable dashboard system with a widget library and PDF export.

01 / Overview
Role: Lead developer - built the original feature and owned its ongoing development
Led development of a drag-and-drop, customisable dashboard system for a B2B SaaS analytics platform, letting users build their own dashboards from a library of widget types (data tables, calendars, rich text notes, alerts, note previews) rather than being limited to a fixed layout. Built the underlying grid/layout mechanics (drag, resize, reorder) and their edge cases, per-user/per-tenant persistence, and a PDF export mode that renders dashboards for reports and sharing outside the platform. Iterated extensively on reliability (empty-state handling, loading fixes, reordering bugs) and performance as dashboards grew larger and more widget-dense.
Multiple dashboards per user, scoped Personal or Organisation-wide, with filterable widget types
Widget library spanning data tables, calendar, rich text notes, alerts, and note previews
PDF export mode for sharing dashboards outside the platform
Ongoing reliability work as usage and dashboard complexity grew
02 / Problem
The platform's dashboard was a fixed layout, so users couldn't arrange it around the data and workflows that mattered to them.
03 / Decisions
04 / Outcome
Users can create several drag-and-drop dashboards, scoped as Personal or Organisation-wide, and export them to PDF to share outside the platform. I kept working on reliability and performance as dashboards grew denser.
05 / Stack
- NuxtFrontend
- KotlinBackend
- VueFrontend