Security review systems / Human-AI triage
Vulnerability Visualizer
Built a React + TypeScript security-review dashboard that keeps a 236,656-record vulnerability dataset searchable, visualizes manual-versus-AI assessment patterns, and exposes source provenance, record detail, comparison, and export controls.
- Operating proof
- Direct shipped browser-product evidence for large-scale security review, spanning 236,656-record ingestion, virtualized exploration, explicit manual-versus-AI assessment modes, source provenance, record-level inspection, comparison controls, and filtered export.
- Engagement
- Personal Project
- Evidence set
- 5 reviewed artifacts
- Capability coverage
- 4 documented areas
Primary artifact
01 / 05Security review operating dashboard
The primary operating surface combines source provenance, analysis modes, search and filters, severity counts, trend evidence, record exploration, and filtered export.
01 / Context
Situation
•Security signal volume exceeded manual scanning
The source data contains hundreds of thousands of vulnerability records with severity, package, status, score, dates, risk factors, manual assessment, and AI-assisted assessment fields. A flat table would leave reviewers searching without operational context.
•AI status needed to remain inspectable
Manual and AI classifications can disagree. The review surface needed to expose those decision buckets and their effect on the working set instead of hiding the AI signal behind an opaque recommendation.
•Data availability could not block review
The deployed app can load remote data, a prebuilt full dataset, a local sample, or mock records. Reviewers needed visible provenance so a fallback state could remain usable without being mistaken for the complete source.
02 / Mandate
Mandate
•Create a reviewable operating dashboard
Turn raw vulnerability records into a coherent workflow for searching, filtering, assessing severity, inspecting risk factors, opening record detail, comparing candidates, and exporting the current view.
•Compare manual and AI classifications
Make the manual-analysis and AI-analysis modes explicit, quantify excluded records, and visualize where the two classification systems align or diverge.
•Keep the full dataset operable
Preserve responsive filtering and navigation across the 236,656-record prebuilt runtime while retaining a clearly labeled fallback path when the full source is unavailable.
Visible local-sample fallback
When the full source was not ready, the dashboard remained usable with a ten-record local sample and labeled that provenance directly instead of presenting the fallback as complete evidence.
03 / Build
Build
1.Built normalized review controls
Implemented debounced search, severity and status filters, sortable columns, All, Analysis, and AI Analysis modes, filter-impact counts, persisted preferences, and JSON or CSV export of the active result set.
2.Visualized manual and AI decision buckets
Added severity, analysis-status, risk-factor, trend, and manual-versus-AI relationship charts so reviewers can inspect both aggregate risk and classification disagreement.
3.Connected overview to record-level evidence
Linked critical highlights and virtualized table rows to a detail view with package, version, CVSS, status, risk factors, dates, references, and comparison controls.
4.Hardened large-data loading
Used React Query, react-window virtualization, lazy-loaded routes, source normalization, and a remote-to-prebuilt-to-local-sample-to-mock fallback chain while keeping the active data source visible in the interface.
Full-dataset AI analysis mode
The deployed prebuilt source exposes a 236,656-record baseline, a 224,697-record AI Analysis view, and the remaining severity mix without hiding the active mode or source.
Manual-versus-AI analysis charts
Severity, status, risk-factor, trend, and manual-versus-AI relationship charts keep aggregate patterns and classification disagreement visible to the reviewer.
04 / Outcomes
Outcomes
•236,656 records in the prebuilt review surface
The deployed dashboard loaded the full prebuilt dataset with 236,656 vulnerabilities while preserving filters, charts, sortable and virtualized exploration, record detail, and export controls.
•Manual-versus-AI review remained visible
The interface exposes separate manual and AI analysis modes, absolute filter-impact counts, and relationship charts so the AI-provided status is reviewable rather than presented as an unexplained verdict.
•Resilient fallback with explicit provenance
When the full source was not ready, the deployed app remained usable with a ten-record local sample and labeled that source directly. The application does not conceal a fallback as full-dataset evidence.
•A reviewer aid, not autonomous adjudication
The product visualizes and filters supplied manual and AI assessment fields; it does not independently determine vulnerability validity, remediate packages, or replace security judgment.
Record-level vulnerability evidence
The Log4Shell detail view carries package, version, severity, status, score, risk factors, dates, and external references from the operating dashboard into one inspectable record.
Continue the evidence trail
From proof to role fit
Compare Vulnerability Visualizer with adjacent systems, or carry its reviewed capabilities into an Adaptive Focus brief.