A production-ready social news platform built with Astro.
Brutal News is inspired by Hacker News while extending the concept with modern community features, administrative tooling and a developer-friendly architecture.
The project showcases how Astro can be used beyond static websites and content-driven projects to power a complete full-stack application.
One of the most complete open Astro applications available today.
Features
Authentication
- Better Auth
- GitHub OAuth
- Google OAuth
- Extensible provider system
- User profiles
- Session management
Community Features
- Link submissions
- Text posts
- Ask posts
- YouTube video posts
- Voting system
- Comment threads
- User profiles
Administration
- Statistics dashboard
- User management
- Ban users
- Delete users
- Post moderation
- Pin posts
- Featured posts
Search
- Built-in search
- No external search providers required
- Fast content discovery
Archive Navigation
- Calendar-based archive
- Browse submissions by day
- Browse submissions by month
- Historical content navigation
Email Verification
- Resend integration
- Optional verification requirement
- Administrative controls
Themes
- Light mode
- Dark mode
- Responsive layout
- Neobrutalist design language
Technology Stack
- Astro
- TypeScript
- PostgreSQL
- Neon
- Drizzle ORM
- Better Auth
- Resend
- Shiki
- Crepe Editor
- Tailwind CSS
Why This Project?
Most Astro themes focus on content publishing, blogs or documentation websites.
Brutal News demonstrates a different use case: a fully-featured community platform with authentication, moderation, database-backed content and administrative tooling.
The project can be used as:
- A Hacker News clone
- A startup community
- A developer forum
- An AI news platform
- An internal company portal
- A niche discussion community
It can also serve as a reference implementation for developers interested in building larger Astro applications with authentication, databases and real-time user interactions.
Included
- Complete source code
- Database schema
- Authentication setup
- Administrative interface
- Documentation
- Deployment-ready configuration