Case study
Data-Dense Threat Intelligence Dashboards
Security dashboards and browser extensions for enterprise threat intelligence — real-time data, dense tables, and a user base with zero tolerance for flaky UI.
- Client
- SlashNext
- Role
- Senior Frontend Developer
- Period
- 2018 – 2020
- React
- Vue
- REST APIs
- Browser Extensions
- Data Visualization
The problem
Security analysts work in dashboards all day, under time pressure, with real consequences for missed signals. SlashNext's threat intelligence products needed interfaces that could present large volumes of fast-changing data — phishing detections, URL analyses, threat feeds — without hiding the signal in visual noise or falling over under real-time update load. The users were enterprise security teams: a demanding audience that treats UI glitches as credibility problems.
The decisions
Density is a feature; chrome is not. Analyst tools fail when designers optimize for whitespace over scan speed. I built the tables and visualizations for information density first — tight typography, meaningful color coding, progressive disclosure for detail — because the analyst's job is triage, not browsing.
Modular components across two frameworks. The product line spanned React and Vue surfaces. I structured shared UI patterns so components were conceptually identical across both — same props philosophy, same states, same visual language — which kept the products coherent and let developers move between codebases without relearning the UI layer.
Reliability engineering for the frontend. Real-time data means handling the unhappy paths as primary cases: connection drops, partial payloads, out-of-order updates. Every data-bearing component had explicit loading, error, empty, and stale states designed in from the start.
The outcome
Dashboards and browser extensions that enterprise security teams relied on daily, with real-time updates that stayed stable under sustained data load. The component patterns established there — dense-data tables, explicit state handling, framework-agnostic design thinking — became the foundation for how I've built every data-heavy interface since.