GoShip
How It WorksChallengesPricingEmployers
Sign InGet Started
0developers
0companies
0assessments scored
How It Works
|Pricing
|Challenges
|Employers
|Privacy
|Terms
GoShip© 2026
Get updates
Twitter·GitHub
Systems nominal
BUILDSENIOR

Build a Rate Limiter Service

75 minutes
0 completed
nextjsalgorithmssystemsrate-limiting

Description

Build a Rate Limiter Service

Build a rate limiting service with multiple algorithms, a dashboard, and a JavaScript SDK.

Requirements

  • Implement two algorithms: Token Bucket and Sliding Window
  • HTTP API: POST /check with {key, limit, window} returning {allowed, remaining, resetAt}
  • Dashboard showing: active keys, request counts, blocked requests
  • Real-time chart of requests per second
  • Configurable rate limits per key via dashboard
  • In-memory storage with optional Redis (abstract storage layer)
  • JavaScript SDK for easy integration
  • Technical Notes

    Use Next.js API routes. Token bucket: refill tokens at fixed rate. Sliding window: count requests in rolling time window.

    Bonus Points

  • Distributed rate limiting with Redis
  • Rate limit headers in responses (X-RateLimit-*)
  • Burst allowance configuration
  • You will be guided through MCP setup before the timer starts