karan Ghosh retweeted
Most engineers design APIs like this:
βJust add a GET and a POST.β
Then production hits and the API becomes impossible to evolve, secure, or debug.
See this real API design problem statement that exposes weak thinking:
Problem:
Design the API for a multi-tenant SaaS product where customers can create projects, invite team members, and track usage.
Requirements:
β’ Customers must not see each otherβs data
β’ You need to support both web and mobile clients
β’ Usage data can be large and must be paginated
β’ The API will be used by third-party integrations later
β’ You must support adding new features without breaking existing clients
Most candidates immediately start listing endpoints.
Top engineers start with these questions:
1. How do you isolate tenants?
β’ Path: /tenants/{id}/projects
β’ Header: X-Tenant-ID
β’ Subdomain
β’ What happens if a client sends the wrong tenant ID?
2. How do you version the API?
β’ /v1/projects
β’ Header versioning
β’ What is your plan when you need to remove a field?
3. How do you paginate large lists?
β’ Offset-based (simple but breaks when data changes)
β’ Cursor-based (stable but harder for clients)
β’ Which one do you choose and why?
4. How do you handle authentication and authorization?
β’ Token proves identity
β’ Every request still needs a permission check
β’ Can a user from Tenant A access a project in Tenant B by guessing the ID?
5. How do you design for third-party use?
β’ Rate limits per client
β’ Clear error codes
β’ Idempotency for write operations
β’ What happens when a client retries a failed request?
6. What is your error contract?
β’ Do clients get 400 with a machine-readable code or a vague 500?
β’ How do you avoid leaking internal details?
The real problem is not βwhat endpoints do I need.β
It is βhow does this API stay safe, stable, and usable when the product and the number of clients grow.β
If you cannot answer the tenant isolation and pagination questions clearly, the rest of the design does not matter.
How would you handle tenant isolation in this API - path, header, or something else?
karan Ghosh retweeted
NEVER SIGN IN WITH GOOGLE
NEVER SIGN IN WITH GOOGLE
NEVER SIGN IN WITH GOOGLE
NEVER SIGN IN WITH GOOGLE
NEVER SIGN IN WITH GOOGLE
NEVER SIGN IN WITH GOOGLE
NEVER SIGN IN WITH GOOGLE
karan Ghosh retweeted
Cursor is slowly becoming the reason people are leaving Cursor. π
Confusing plan changes, frustrating usage limits, and pricing that makes people reconsider their subscription.
The tool that won developers over is giving them reasons to look elsewhere.
karan Ghosh retweeted
You can permanently master ONE skill today. π
What are you choosing? π
A) DSA π§
B) Web Development π»
C) AI/ML π€
D) System Design ποΈ
karan Ghosh retweeted
Bro picked the most random username in 2009 π
What does even @finkd mean?
karan Ghosh retweeted
Most backend engineers learn in fragments
A tutorial here,
A Stack Overflow answer there.
I spent 10 weeks building the complete picture.
APIs β Caching β Queues β Load Balancing β Microservices β DB Scaling β API Gateway β Monitoring β Security β CI/CD
10 weeks, 10 articles, One foundation.
Full series + all Medium articles in first reply π
karan Ghosh retweeted
I donβt even use this on my laptop. Who are these 1B+ people installing it on their phones..?π€‘
karan Ghosh retweeted
Be honest,
As a developer, which device is worth buying for coding?
Laptop or Desktop





























