TL;DR
- Centred a sidebar brand mark in the collapsed rail (open-source starter kit) — pure CSS, no JS.
- A CRM app got a "daily cockpit" dashboard (hot leads + overdue follow-ups) plus a full favicon/PWA icon set.
- An analytics product's ingest pipeline learned to handle messy uploads — files with no date column and no numeric measure — and a nasty metrics bug got squashed.
A spread day across three repos. Quick tour.
Centring a collapsed sidebar logo (CSS only)
Kickoff, my open-source Laravel starter kit, had a small visual snag: when the sidebar collapses to a narrow rail, the header switches to a column — but the brand mark sat off-centre. The content area is ~72px, yet the logo kept its width and a leftover space-x margin, nudging it left of the nav icons.
No JavaScript needed. Make the logo and toggle full-width, centre their content, and zero the leftover child margins when collapsed:
[data-flux-sidebar][data-collapsed] .sidebar-header .app-logo {
width: 100%;
justify-content: center;
padding-inline: 0;
}
/* kill the leftover space-x margin pushing it off-centre */
[data-flux-sidebar][data-collapsed] .sidebar-header .app-logo > * {
margin: 0;
}
Lesson: when a flex container changes direction, old horizontal margins don't disappear — they just push things in the new axis. Tag the element, scope the override to the collapsed state, done.
A CRM "daily cockpit"
A CRM app I work on got a dashboard rebuild: instead of a generic landing screen, the first thing you see is what needs action today — hot leads and overdue follow-ups. The cockpit framing matters more than the widgets: surface the work, don't make people hunt for it. Also shipped a full favicon/PWA icon set and a branded responsive landing page, with feature tests so the brand pass didn't quietly break routing.
Ingest that survives real-world files
The bigger chunk of the day went into an analytics/dashboard product's ingest pipeline. Real uploads are messy, so the pipeline now copes with the awkward shapes:
| Awkward file | Handling |
|---|---|
| No date/period column | Derive the snapshot period from the filename (report-2026-06.xlsx → 2026-06), else ask or use upload time |
| No numeric measure | Let the user choose the aggregation (e.g. count rows) instead of failing |
| Dirty columns | A data-quality panel flags blanks, near-duplicate "variant clusters" (A & B vs A And B), and encoding mojibake before anything reaches a dashboard |
The upload flow also got simpler: drop a file → instant clean dashboard, with column mapping tucked behind an Advanced step for the cases that need it.
And the bug of the day — a metrics query that summed across every series in a dataset and turned an 819 KPI into 163 billion. That one earned its own write-up: "When a KPI reads 163 billion instead of 819."
What's next
More ingest edge cases (filename date formats, transforms), and rolling the centred-rail fix into the other apps that share the sidebar.
Top comments (0)