A modern, professional web application that provides AI-powered insights and analysis of content from HackerNews stories and 14 HackTheBox RSS feeds. Built with Next.js, TypeScript, and Tailwind CSS.
- π Multi-Source Content: Fetches from HackerNews stories + 14 HackTheBox RSS feeds
- π‘οΈ Cybersecurity Focus: Specialized categories (Red Team, Blue Team, Threat Intel, AI/Security, etc.)
- π€ AI-Powered Analysis: Uses OpenRouter (free!) to provide summaries, sentiment analysis, and key insights
- π Advanced Filtering: Filter by source, category, and content type
- π Unified Feed: Seamlessly combines different content types in one view
- π Trend Analysis: Cross-source trend identification and community sentiment
- π¨ Modern UI: Professional, responsive design with source-specific styling
- β‘ Fast Performance: Optimized with caching and efficient RSS parsing
- π Auto-refresh: Cron jobs keep data fresh (every 15 minutes)
- π± Mobile-friendly: Responsive design that works on all devices
- Real-time top stories from Hacker News
- Community scores and discussion metrics
- Traditional tech news and startup content
- Red Teaming: Offensive security content
- Blue Teaming: Defensive security and SOC content
- Threat Intelligence: Latest threat research and APT analysis
- Artificial Intelligence: AI in cybersecurity applications
- Security 101: Beginner-friendly security tutorials
- CISO Diaries: Leadership and governance insights
- Write-Ups: CTF solutions and technical walkthroughs
- Career Stories: Cybersecurity career advice
- Education: Training and certification content
- Customer Stories: Real-world implementation cases
- Cyber Teams: Team building and management
- News: Latest cybersecurity news and updates
- Humans of HTB: Community stories and profiles
- All Content: Aggregated feed from all categories
git clone <your-repo-url>
cd hackernews-ai-analyzer
npm installCopy the environment template:
cp .env.example .env.localAdd your OpenRouter API key for free AI analysis (optional):
OPENROUTER_API_KEY=your_openrouter_api_key_here
CRON_SECRET=your_random_secret_for_cron_securityNote: The app works without an OpenRouter API key - it will use mock analysis instead.
npm run devVisit http://localhost:3000 to see the application.
- Push your code to GitHub/GitLab/Bitbucket
- Import the project in Vercel
- Vercel will automatically detect Next.js and deploy
- Add environment variables in Vercel dashboard (optional):
OPENROUTER_API_KEY- Your OpenRouter API keyCRON_SECRET- Random string for cron endpoint security
- Go to your project dashboard in Vercel
- Click on "Settings" β "Environment Variables"
- Add the following variables (all optional):
| Name | Value | Description |
|---|---|---|
OPENROUTER_API_KEY |
sk-or-... |
OpenRouter API key for free AI analysis |
CRON_SECRET |
random-string |
Secure your cron endpoint |
The application includes automatic cron jobs that run every 15 minutes to refresh story data. These are configured in vercel.json and work automatically on Vercel.
tech-security-ai-analyzer/
βββ app/
β βββ api/
β β βββ stories/ # Fetch HN stories
β β βββ rss/ # Parse HackTheBox RSS feeds
β β βββ content/ # Unified content API
β β βββ analyze/ # AI analysis (supports both sources)
β β βββ cron/ # Scheduled updates
β βββ globals.css # Global styles
β βββ layout.tsx # App layout
β βββ page.tsx # Home page
βββ components/
β βββ ui/ # Reusable UI components
β βββ Header.tsx # App header
β βββ UnifiedContentList.tsx # Combined content list
β βββ UnifiedContentCard.tsx # Universal content card
β βββ TrendingTopics.tsx # Cross-source trend analysis
β βββ LoadingSkeleton.tsx # Loading states
βββ lib/
β βββ utils.ts # Utility functions
βββ vercel.json # Vercel configuration with RSS crons
βββ package.json # Dependencies + RSS parser
GET /api/stories- Fetch latest Hacker News storiesGET /api/rss- Parse and fetch HackTheBox RSS feedsGET /api/content- Unified API combining both sources with filteringPOST /api/analyze- Get AI analysis for any content type or trendsGET /api/cron- Trigger content refresh (called by Vercel cron)
- Framework: Next.js 14 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Radix UI
- AI: OpenRouter with free GPT models (openai/gpt-oss-20b:free)
- Data Source: Hacker News Firebase API
- Deployment: Vercel
- Icons: Lucide React
- β‘ Server-side rendering with Next.js App Router
- ποΈ Intelligent caching (5-minute cache for stories)
- π Background refresh via cron jobs
- π± Responsive images and layouts
- βοΈ Optimized bundle size
The app now uses OpenRouter with the free openai/gpt-oss-20b:free model, providing:
- Zero cost AI analysis
- Same OpenAI-compatible API
- High-quality GPT responses
- No usage limits for the free tier
When OpenRouter API key is provided:
- π Story Summaries: AI-generated summaries of each story
- π Sentiment Analysis: Positive/Neutral/Negative sentiment scoring
- π― Key Points: Important highlights from each story
- π Technical Level: Beginner/Intermediate/Advanced classification
- π² Relevance Score: How relevant the story is to tech professionals
- π Trend Analysis: Daily trends and emerging topics
Without API key:
- Uses intelligent mock analysis based on story metrics
- All features work with simulated data
- HackerNews Stories: Live fetching with community metrics
- 14 HackTheBox RSS Feeds: Real-time cybersecurity content
- Unified Feed: Seamless integration of both content types
- Source Filtering: Toggle HackerNews vs HackTheBox content
- Category Filtering: Red Team, Blue Team, AI/Security, Threat Intel, etc.
- Smart Categorization: AI-powered content classification
- Source-Specific Styling: Visual distinction between content types
- Responsive Design: Mobile and desktop optimized
- Real-time Updates: Live timestamps and refresh functionality
- Performance Optimized: Intelligent caching and lazy loading
- Content Summaries: AI-generated insights for any content type
- Sentiment Analysis: Automated mood and reception analysis
- Technical Classification: Beginner/Intermediate/Advanced scoring
- Cross-Source Trends: Combined trend analysis from all sources
- Vercel Optimized: Zero-config deployment
- Automatic Crons: 15-minute refresh cycles
- Error Handling: Graceful fallbacks and retry logic
- SEO-Friendly: Proper metadata and social sharing
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
MIT License - see LICENSE file for details.
For issues or questions:
- Check the GitHub issues
- Create a new issue with details
- Include environment and error information
Built with β€οΈ for the tech and cybersecurity community