CASE 03 / Product & systems
Why matching units disappeared.
I fixed a status filter, then had to fix the empty-state check that still hid matching units.
- THE PROJECT
- Project visualizer
- THE CONTEXT
- GreenFortune
- THE CHAPTER
- June 2026
01 / The problem.
The project-tracking app shows unit progress by floor and room. Some units belong to common areas rather than individual rooms, so the grid renders them separately. In room view, those common-area units ignored the selected status filter. Someone looking for units at one stage could still see common-area units at other stages.
02 / My role.
I architected the Project Visualiser backend from scratch, including RBAC and data scoping, and published a shared React + TypeScript visualization package through GitHub Packages for reuse across repositories. The overall visualizer and consuming app were team-built. This story focuses on my filtering and empty-state fixes in the shared library, followed by updates to the consuming app.
- My contribution
- The June 17–18, 2026 filtering and empty-state fixes, package releases, and consuming-app updates described in this case study.
- Shared scope
- The visualizer and its consuming app were team-built. My backend and package work does not imply sole authorship of every component.
- What changed
- The filter and the empty-state check both accounted for common-area units.
03 / My first fix only covered the badges.
On June 17, I applied the active status filter to the common-area badges in room view. Position view already used a path that applied the filter. I kept the separate common-area layout and changed which units it rendered. That went into version 0.7.4.
04 / I had missed the check before rendering.
The grid could still say "No units match this filter" when matching units existed only in common areas. Before it rendered any badges, a separate check decided whether there was anything to show. In room view, that check inspected regular rows only. My corrected rendering code was never reached.
On June 18, I changed that check to include both regular and common-area rows in either view. The case my first fix missed was specific: no matching units in regular rows, but a match in a common-area row. The row rendering and the empty-state decision had been looking at different sets of units.
05 / I updated the app, not just the library.
I bumped the library from 0.7.4 to 0.7.5 for the follow-up fix. The consuming app's history records my updates to both versions on June 18. That gives me a concrete endpoint for this change: the corrected version was referenced by the app, not just left in the component repository.
06 / The result.
- Common-area badges in room view respect the selected status instead of showing unrelated units.
- A match found only in a common-area row no longer triggers the false empty state.
- The consuming app's dependency was updated to include the correction.