Arpit Bhayani Profile picture
Co-founder and CTO at @profile_fyi • ex-Staff Engineer @Google and ex-DoE @unacademy • building Arbok, @TheDiceDB, and @RevineLang a → b ≠ ~a → ~b
2 subscribers
Oct 28, 2022 7 tweets 2 min read
All good things come to an end; after ~5 wonderful years at @unacademy, it is time to move on 🚶‍♂️

I couldn't have asked for better career growth. Here's a quick glimpse of my roller coaster ride -

👇 Joined Unacademy back in Feb 2018 as their first Technical Architect and re-designed Search and built in-app notifications.

Then took care of some Gamification modules and streamlined infrastructure as a Principal Engineer.

👇
Oct 26, 2022 14 tweets 3 min read
There is no one way to build a notification system.

@RazorpayEngg re-architected their notification system and built it in a way that seems weird and brilliant at the same time.

here's a thread about their architecture and key design decisions... 🧵👇 For a fintech company like @Razorpay, delivery of notifications is critical as they hold transactional information.

Their customers connect to other systems relying on these notifications, typically Webhooks.

Hence the key requirements for their notification system are -

👇
Sep 8, 2022 4 tweets 1 min read
Harsh reality: It will take you 10 years to realize how great our college curriculum is and how critical the core Computer Science subjects are.

Do not get misguided by these "EdTech cum SalesTech" startups and influencers. Everything at scale just boils down to

👇 - Operating system concepts: Mutex, Semaphores, Critical Sections, Thread, Sockets, etc
- Database Internals: Query optimization of Database
- Distributed Systems: Need I say anything here

👇
Apr 7, 2022 14 tweets 4 min read
Implementing Distributed Transactions ⚡ [in a gist]

Distributed Transactions are not theoretical; they are very well used in many systems. An example of it is 10-min food/grocery delivery.

👇 ✨ The UX we want is: Users should see orders placed only when we have one food item and a delivery agent available to deliver.

A key feature we want from our databases is atomicity. Our storage layer can choose to provide it through atomic operations or transactions.

👇
Mar 20, 2022 4 tweets 1 min read
Harsh reality: It will take you 10 years to realize how great our college curriculum is and how critical the core Computer Science subjects are.

Do not get misguided by these "EdTech cum SalesTech" startups and influencers. Everything at scale just boils down to - Operating system concepts: Mutex, Semaphores, Critical Sections, Thread, Sockets, etc

- Database Internals: Query optimization of Database

- Distributed Systems: Need I say anything here

- Computer Architecture: To understand why vertical scaling has a limit
Aug 15, 2021 11 tweets 2 min read
Ever wonder how replication happens between Master and Replica? How changes on Master propagates to Replica?

This is a short thread of how it happens

#systemdesign #distributedsystems

🧵 Any write operation happening on the Master is logged in the Replication log file as an event. The format in which these events are logged in the Log file is called Replication Format.

The two common Replication formats:

- Statement-based format
- Row-based format
Aug 12, 2021 7 tweets 2 min read
Just wrapped up my 1:1 call with one of my cohort-ian and we ended up building an infinitely scalable Distributed Task Scheduler, AWS CloudWatch Events, DKron, and Quartz Scheduler, in under 30 minutes.

When foundations are clear, no system is harder to design 💪

#systemdesign The features we discussed and designed were:

- Infinite task ingestion
- 30 second SLA of execution
- Execution Framework that supports Binaries, Scripts, Remote Executions
- Fault tolerance of Scheduler Nodes
- Repeatability of tasks
- Exactly-once schedule and execution