A modern, React-based cybersecurity news aggregator that provides real-time intelligence from trusted sources including RSS feeds, Reddit r/netsec, and Hacker News.
- Real-Time News Aggregation - Fetch live cybersecurity news from multiple sources
- Smart Categorization - Filter by 13 topics including AI Security, Cloud Security, Privacy, and more
- "All" Button - View all news or filter by specific topics with one click
- Modern UI/UX - Built with React and modern design principles
- Offline Caching - Local storage for offline access
- Privacy Focused - All data stored locally in your browser
- Responsive Design - Works seamlessly on desktop, tablet, and mobile
- Dark Theme - Easy on the eyes with a professional dark interface
- Smooth Animations - Polished user experience with CSS animations
- Node.js 24.x or higher
- npm or yarn
- AWS CLI (for deployment)
- AWS Account with appropriate permissions
-
Clone or navigate to the repository:
cd hri_3.0 -
Install dependencies:
npm install
-
Create environment file (optional):
cp .env.example .env
Edit
.envto customize your API endpoint if needed.
Start the development server:
npm run devThe app will be available at http://localhost:3000
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production build locallynpm run lint- Run ESLint
hri_3.0/
├── src/
│ ├── components/
│ │ ├── Header.jsx # Navigation header
│ │ ├── Hero.jsx # Hero section with stats
│ │ ├── NewsFilter.jsx # Topic filter buttons
│ │ ├── NewsFeed.jsx # News articles grid
│ │ ├── Settings.jsx # Settings modal
│ │ └── Footer.jsx # Footer with links
│ ├── App.jsx # Main app component
│ ├── App.css # Component styles
│ ├── main.jsx # React entry point
│ └── index.css # Global styles
├── public/
│ └── hri-icon.svg # App icon
├── index.html # HTML template
├── package.json # Dependencies
├── vite.config.js # Vite configuration
└── README.md # This file
- In the app: Click Settings → API Configuration → Update endpoint
- In code: Edit
src/App.jsxand change the defaultapiEndpointvalue - Via environment: Set
VITE_API_ENDPOINTin.env
Edit the topics array in src/components/NewsFilter.jsx:
const topics = [
{ id: 'your-topic', label: 'Your Topic', icon: '🔥' },
// Add more topics...
]Current Topics (15 total):
Tier 1: Core Security
- AI Security 🤖
- Cloud Security ☁️
- Ransomware 🔐
- Data Breach 💥
- Vulnerabilities
⚠️ - Zero-Day Exploits ⚡
Tier 2: Attack Vectors
- Phishing & Email Threats 🎣
- Social Engineering 🎭
- Insider Threats 👤
Tier 3: Technical Domains
- Identity & Access Management 🔐
- Application Security 💻
- Endpoint Security 🖥️
- Infrastructure Security 🌐
Tier 4: Governance
- Privacy & Compliance 🔒
- Threat Intelligence 🔍
- Global styles:
src/index.css - Component styles:
src/App.css - Color scheme: CSS variables in
:rootselector
-
Build the project:
npm run build
-
Deploy the
dist/folder to your hosting provider
The app can be deployed to any static hosting service such as:
- AWS S3 + CloudFront
- Netlify
- Vercel
- GitHub Pages
- Any other static hosting provider
The application is a static React web app that can be hosted on any static hosting service. It connects to a backend API for news aggregation.
- S3 - Static website hosting
- CloudFront - CDN for global distribution
- API Gateway - Backend API endpoint
- Lambda - News aggregation function
The app connects to a backend API that aggregates news from multiple sources. Configure your API endpoint in the Settings panel or via the VITE_API_ENDPOINT environment variable.
- Krebs on Security
- The Hacker News
- Dark Reading
- Threatpost
- Reddit r/netsec
- Hacker News (YCombinator)
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- All preferences stored locally in browser
- No personal data collected
- No tracking or analytics (unless configured)
- HTTPS enforced via CloudFront
- CORS properly configured
# Clear node_modules and reinstall
rm -rf node_modules package-lock.json
npm install- Check Settings → API Configuration
- Verify the API endpoint is correct
- Check browser console for errors
- Ensure Lambda function is deployed and accessible
- Verify your hosting provider's deployment settings
- Ensure the build completed successfully
- Check that all environment variables are set correctly
- Complete rewrite using React + Vite
- Modern component-based architecture
- Improved UI/UX with animations
- Better mobile responsiveness
- Enhanced error handling
- Local storage caching
- Single-page HTML application
- Basic news aggregation
- Manual API configuration
This is a personal project, but suggestions and feedback are welcome!
© 2025 Human Risk Intelligence. All rights reserved.
Akeem Williams
- Portfolio: ajwill.ai
- LinkedIn: williamsakeem
- GitHub: ajwill85
- Email: ajwilliams85@gmail.com
- Live Site: www.humanriskintel.com
- Newsletter: Human Risk Intel Newsletter
- Portfolio: ajwill.ai
Note: This application requires the HRI News Aggregator Lambda function (v2.0.0) to be deployed and accessible. Make sure your API endpoint is properly configured in the Settings.