Delivering a large asset tree end to end, from recursive SQL to progressive prefetch
Delivered search and fast navigation over very large asset trees end to end, with recursive SQL on the backend and a search UX with in-memory caching and progressive background prefetch on the frontend, eliminating the repeated loading that made the most-used flow slow.
Context
This is my strongest evidence of full-stack ownership and performance thinking. Because I owned the database, the backend, and the frontend, I could put each part of the solution at the layer where it belonged, traversal in the database and latency-hiding in the client, instead of forcing one layer to compensate for another.
It also shows a product-level UX decision made as an engineering trade-off: choosing to reveal search matches by expanding the tree rather than filtering it changed both what the user sees and how data has to load.
Problem
When building or editing an inspection route, users navigate a hierarchy of assets that can be very large. They needed to see asset descriptions and to search assets by name, but the tree loaded slowly and there was no search. In the module's most-used flow, that meant repeated waiting and no way to jump to a known asset.
03Constraints
Decision
I put each responsibility at the layer suited to it.
05Trade-offs
Impact
07Lessons Learned
Reusable engineering knowledge I carry forward from this: