ThreatPulse translates live vulnerability data into decisions a small team can actually act on: a live CVE feed and a direct CVE lookup, without the alert fatigue of a full SOC feed.
ThreatPulse surfaces newly published vulnerabilities as a live feed and lets a user search any CVE ID directly to see its severity (CVSS), affected products, and patch/fix status — without needing a security operations budget or an enterprise threat-intel subscription.
- Next.js App Router front end (
app/page.tsx) renders the feed and lookup UI. app/api/cve-feed/route.tsqueries NIST's real NVD API directly (services.nvd.nist.gov) for CVEs modified in the last 7 days;app/api/cve-lookup/route.tshandles direct CVE ID lookups against the same source.- Styling is Tailwind CSS 4, with no account system required to browse or search.
The real problem: the NVD's own web UI is slow to scan and not built for a quick "what changed this week" check — most people either don't check CVE feeds regularly or rely on a mailing list digest that's already a day stale.
The approach: cve-feed hits the live NVD REST API with a 7-day lastModStartDate/lastModEndDate window every request — there's no local cache or database, so the feed is always exactly as current as NVD's own data, not a snapshot that drifts out of sync.
One real number: each request pulls up to 20 results (resultsPerPage: "20") per page from the real NVD dataset, with CVSS v3.1/v3.0/v2 base scores read directly from NVD's own metrics, not recomputed locally.
Not handled yet: the homepage "intelligence" panel is a decorative heuristic disconnected from the real feed and lookup routes — don't read it as a threat-summarization layer.
Production: https://threatpulse-six.vercel.app
| Layer | Technology |
|---|---|
| Framework | Next.js (App Router) |
| UI Library | React 19 |
| Language | TypeScript |
| Styling | Tailwind CSS 4 |
| Server Logic | Next.js API routes (/api/cve-feed, /api/cve-lookup, /api/intelligence) |
| Deployment | Vercel |