DevBoard is building a tech link aggregator (like Hacker News). Users submit links, and the community votes and discusses them. Features:
- Submit links - users post URLs with a title. The system auto-fetches metadata (description, image, domain).•Voting - upvote/downvote posts and comments. Each user gets one vote per item. Vote manipulation detection.•Ranking algorithm - the front page ranks posts by a time-decay formula: `score = votes / (age_in_hours + 2) ^ gravity`. Recently popular posts surface; old posts fade out. Recalculated periodically.•Comments - threaded comments with upvoting and collapsible trees. Sort options: best, newest, oldest.•User karma - accumulated score from upvotes on a user's posts and comments. Karma unlocks privileges (downvoting, flagging, moderation).•Search - full-text search across post titles, URLs, and comments.•Anti-spam - rate limit submissions, detect duplicate URLs, flag link farms, and enforce a probation period for new accounts.
Targeting 500,000 DAU with 10,000 submissions and 200,000 comments per day.
Design a Hacker News / Reddit-style link aggregator with voting, ranking, comments, and anti-manipulation measures. Build this architecture under realistic production constraints, then validate tradeoffs in the design lab simulation.
Request path: The solution keeps ingress, service logic, and stateful dependencies separated so each layer can scale independently.
Reference flow: Web Clients -> Load Balancer -> API Gateway -> Rate Limiter -> API Service -> Primary SQL DB -> Redis Cache -> Search Index