starting #30DaysOfAWS today
will share one concept daily —
things that actually matter in real projects
not just exam prep. real stuff. 🧵
follow along 👇
if you're also preparing for AWS Developer cert
these resources helped me week 1:
→ Stephane Maarek course (Udemy) — best in class
→ AWS official docs — underrated
→ building small projects — nothing beats hands on
starting week 2 tomorrow 🚀
what AWS topic confuses you the most?
drop in comments 👇
#30DaysOfAWS #AWS
Hey @X algorithm
I'm looking to #connect with people interested in:
SaaS
Frontend
Backend
Full-stack
DevOps
App Development
AI / ML Data Science
LeetCode & DSA
System Design
Interview prep
Tech job/Career
Building in public
If that's you, let's connect 🤝
starting #30DaysOfAWS today
will share one concept daily —
things that actually matter in real projects
not just exam prep. real stuff. 🧵
follow along 👇
@x twitter monetization requirements:
500 followers ✓ (almost)
500K impressions in 90 days ✓ (lol)
replies don't count as impressions btw
so all that engagement advice?
great for growth
terrible for monetization
x really said: talk less, post more 😅
honest week 1 reflection:
things I thought I knew but didn't:
→ IAM roles vs access keys (was doing it wrong)
→ S3 is way more than storage
→ DynamoDB is NOT just a NoSQL database
→ Lambda cold starts are real in production
7 days in. already learning a lot.
#30DaysOfAWS
HashMap is the most underrated topic in coding interviews.
It's not just "O(1) lookup." It's the backbone of caching, deduplication, DB indexes, and half the "easy" LeetCode problems that trip people up.
Everything you need on one card 👇 (bookmark this)
Alright, here's how I'd design it 👇
1. Gateway → WebSocket servers
Every client holds a persistent connection (not polling). On connect/disconnect, the gateway fires an event — that's your source of truth for "online" vs "offline."
2. Presence store → Redis
Key: user_id → {status, last_seen_timestamp}
Redis handles millions of reads/writes at sub-ms latency, and TTLs make "auto-offline after inactivity" trivial.
3. Fan-out → Pub/Sub (Redis Pub/Sub or Kafka)
When status changes, publish an event. Only fan it out to users who actually have that contact open/in view — this is the part most people get wrong. You don't broadcast to everyone, only to relevant "watchers."
4. Disconnect handling → Kafka / event queue
Sudden disconnects (phone dies, app killed) need a async worker to detect timeout and update Redis — don't do this synchronously in the request path.
5. Last seen persistence → Cassandra/DynamoDB
Redis is hot/in-memory; write last_seen periodically to durable storage so it survives restarts and can be queried historically.
The real trick isn't the components — it's not broadcasting to everyone. Fan-out-on-write to your actual audience (people with your chat open) is what keeps this from melting at 2B users.
What would you change? 👇
WhatsApp shows "last seen" for 2 billion users in real time.
No polling. No overload. Instant updates.
How would you design this system? 👇
(Drop your architecture in the replies — I'll share the best one)