andreyka26_se
https://paperdraw.dev/ Try this! This is system design diagram tool that can show you the traffic, and prove that it will handle certain rps. It is paid after 3 simulations, so I gonna vibe code it. It will be a good thing for Messenger article + I willโฆ
This thing sucks. It completely misses the whole set of realtime communication components: socket servers/socket connections, propagating update to socket connections, etc.
Let me think about it, maybe I can vibe code it as well.
Let me think about it, maybe I can vibe code it as well.
๐ฅ7
Moving this one from the comments so that more people see. I mean it generally makes sense, but I never approached vibe coding so serious, as I'm too lazy to put effort on the thing that I won't own mentally, I don't feel like it is mine and I don't have this desire to do it high quality:
Defining of MD spec files can be done through generating by Chat GPT / Claude Code / Copilot, etc.
1) Define CLAUDE.MD as PRS (Product Requirement Specification)
- PRS: Context, High Level Core Features, Project structure, Project Architecture, Tech Stack, Backend, Frontend, Infrastructure, etc.
- Out of scope: user-stories and tasks.
2) Define a user-story (WHO + WHY + WHAT, change not often) like Plan stage
- Business section like FRs: Context, Expected capabilities/outcome, Acceptance criteria, etc.
- Constraints section like NFRs (Technical, but without low-level details e.g. NO classes/functions/methods): Architecture, API, Data model, Performance, Security, etc.
3) Define tasks (HOW, may change) based on the user-story like Execute stage
- Low-level steps
- Must have testing tasks (Unit - required; Integration, E2E - optional) for verifying itself
4) Ask to implement the tasks of the user-story
Defining of MD spec files can be done through generating by Chat GPT / Claude Code / Copilot, etc.
1) Define CLAUDE.MD as PRS (Product Requirement Specification)
- PRS: Context, High Level Core Features, Project structure, Project Architecture, Tech Stack, Backend, Frontend, Infrastructure, etc.
- Out of scope: user-stories and tasks.
2) Define a user-story (WHO + WHY + WHAT, change not often) like Plan stage
- Business section like FRs: Context, Expected capabilities/outcome, Acceptance criteria, etc.
- Constraints section like NFRs (Technical, but without low-level details e.g. NO classes/functions/methods): Architecture, API, Data model, Performance, Security, etc.
3) Define tasks (HOW, may change) based on the user-story like Execute stage
- Low-level steps
- Must have testing tasks (Unit - required; Integration, E2E - optional) for verifying itself
4) Ask to implement the tasks of the user-story
๐4
https://tools.andreyka26.com/system-design
one evening, zero lines of code written or reviewed even, it is first shot, so not even beta, it is shita rather, but incrementally I will make it work properly.
Paperdraw - suck my balls๐๐๐
one evening, zero lines of code written or reviewed even, it is first shot, so not even beta, it is shita rather, but incrementally I will make it work properly.
Paperdraw - suck my balls๐๐๐
๐12๐ฅ4
andreyka26_se
https://tools.andreyka26.com/system-design one evening, zero lines of code written or reviewed even, it is first shot, so not even beta, it is shita rather, but incrementally I will make it work properly. Paperdraw - suck my balls๐๐๐
It is not only me, Ihor, who is my AI guru(https://t.me/ihor_codes) came up with idea, that there is no purpose to pay for bunch of SaaS if you can vibecode one for your needs in 1 week.
๐ฅ4
Daily (235/373 streak until LC cap)
Didn't solve as was busy during the day, but it feels like amazing hard problem, so for now I recommend it, but let me solve it as well
https://leetcode.com/problems/robot-collisions/?envType=daily-question&envId=2026-04-01https://leetcode.com/problems/robot-collisions/?envType=daily-question&envId=2026-04-01
#daily #hard
Didn't solve as was busy during the day, but it feels like amazing hard problem, so for now I recommend it, but let me solve it as well
https://leetcode.com/problems/robot-collisions/?envType=daily-question&envId=2026-04-01https://leetcode.com/problems/robot-collisions/?envType=daily-question&envId=2026-04-01
#daily #hard
LeetCode
Robot Collisions - LeetCode
Can you solve this real interview question? Robot Collisions - There are n 1-indexed robots, each having a position on a line, health, and movement direction.
You are given 0-indexed integer arrays positions, healths, and a string directions (directions[i]โฆ
You are given 0-indexed integer arrays positions, healths, and a string directions (directions[i]โฆ
๐3
Daily (236/373 streak until LC cap)
Today is typical solid DP problem that you might be asked during real interview: definitely advise to solve.
https://leetcode.com/problems/maximum-amount-of-money-robot-can-earn/description/?envType=daily-question&envId=2026-04-02
#daily #medium #pattern
Today is typical solid DP problem that you might be asked during real interview: definitely advise to solve.
https://leetcode.com/problems/maximum-amount-of-money-robot-can-earn/description/?envType=daily-question&envId=2026-04-02
#daily #medium #pattern
๐4โค2
Leant bisect left/right operations in python, never used them before.
For those who need to remind themselves or learn from scratch as I did.
yes these are screens from gpt, but it is third attempt to explain it with simple visual examples (I told him I'm dumb, it helped xD)
For those who need to remind themselves or learn from scratch as I did.
yes these are screens from gpt, but it is third attempt to explain it with simple visual examples (I told him I'm dumb, it helped xD)
โค4
Daily (237/373 streak until LC cap)
Pretty hard and cumbersome problem, tbh it feels pretty large to reason about and effort consuming to reason about, but definitely not bullshit problem either. Up to you whether to solve it or not
https://leetcode.com/problems/maximum-walls-destroyed-by-robots/description/?envType=daily-question&envId=2026-04-03
#daily #hard
Pretty hard and cumbersome problem, tbh it feels pretty large to reason about and effort consuming to reason about, but definitely not bullshit problem either. Up to you whether to solve it or not
https://leetcode.com/problems/maximum-walls-destroyed-by-robots/description/?envType=daily-question&envId=2026-04-03
#daily #hard
๐2
IMPRESSIVE. Claude pushed me back instead of hallucinating / bullshiting. Eventually they did it, I'm surprised in a good way.
Wondering how they did it, typically some months ago even explicit instructions to push back instead of bullshiting with temperature = 0 would still result in hallucinating rather than getting pushed back
Wondering how they did it, typically some months ago even explicit instructions to push back instead of bullshiting with temperature = 0 would still result in hallucinating rather than getting pushed back
โค4
Now legit I'm getting really annoyed and tired by this daily nonsense shit.
I started interviewing in Snowflake lately, and I see what people are getting asked. OMG for couple of times I was shadowing the interviewer for some senior positions. I cannot even explain how easy the questions they ask seem to me now after seeing this nonsense crazy bullshit daily leetcode problems.
I really don't know why other people are solving it consistently, and are there a lot of such people who don't miss single streak like me?
Leetcode really DOES have good problems, but they are all in lists, so usually they are top 500 first problems. 90% of daily - is ugly nonsense that no one would ask ever, and if so - fuck such company
===
Once I'm getting cap (4 months left) - I will be solving only exciting, interesting, applicable problems with measurable complexity (that you are able to solve in 1 hour, NOT FUCKING 1 HOUR TO ONLY UNDERSTAND THE SOLUTION)
I started interviewing in Snowflake lately, and I see what people are getting asked. OMG for couple of times I was shadowing the interviewer for some senior positions. I cannot even explain how easy the questions they ask seem to me now after seeing this nonsense crazy bullshit daily leetcode problems.
I really don't know why other people are solving it consistently, and are there a lot of such people who don't miss single streak like me?
Leetcode really DOES have good problems, but they are all in lists, so usually they are top 500 first problems. 90% of daily - is ugly nonsense that no one would ask ever, and if so - fuck such company
===
Once I'm getting cap (4 months left) - I will be solving only exciting, interesting, applicable problems with measurable complexity (that you are able to solve in 1 hour, NOT FUCKING 1 HOUR TO ONLY UNDERSTAND THE SOLUTION)
๐ฅ9
Daily (238/373 streak until LC cap)
Today is not bad problem. First of all it is some real concept from computer science (I didn't know before). Second of all it is not that hard to be honest.
https://leetcode.com/problems/decode-the-slanted-ciphertext/description/?envType=daily-question&envId=2026-04-04
#daily #medium
Today is not bad problem. First of all it is some real concept from computer science (I didn't know before). Second of all it is not that hard to be honest.
https://leetcode.com/problems/decode-the-slanted-ciphertext/description/?envType=daily-question&envId=2026-04-04
#daily #medium
๐3
So, it is the time. Do you want to try yourself for System Design? You remember I said I don't know the good real prod solution for Messenger System Design?
It is time to shine and give your ideas, while I'm prepping the article, so that I can consider all the possible ideas and challenge them whether they are scalable or no.
It is time to shine and give your ideas, while I'm prepping the article, so that I can consider all the possible ideas and challenge them whether they are scalable or no.
๐7
So, VERY SIMPLE SCENARIO:
- we have chats, and users per chat
- only users that have currently opened chat are depicted, we don't care about chat list updates
- we don't care about encryption, let's assume we send plain data, as TG does btw for nonsecret chats
- we have chats, and users per chat
- only users that have currently opened chat are depicted, we don't care about chat list updates
- we don't care about encryption, let's assume we send plain data, as TG does btw for nonsecret chats
โค2
In the system design diagram there are:
- 3 chats,
- every chat has 4 users.
- GW -> socket gateway server that handles client's socket.
- Chat API is separate for simplicity to not cover processing of the messages on the GW itself
You can see that if we have much larger participants count than number of GW nodes we end up every GW node handle ALL large chats, thus causing broadcast.
===
This is one of the canonical solution that I saw on the internet for Messenger: you connect user to random GW and this GW gets (somehow) the message to deliver to the users that are connected to it. The solution is actually the way it works in Telegram and other Messengers, you have only single socket connection, it does not change when you switch chat.
First screen: 2 GW, 4 users per large chat => 4 / 2 = 2 users on EACH GW for EACH large chat
Second screen: we scaled GW nodes by 2 = 4 GW nodes -> and it didn't fix the broadcast, thus non linearly scalable
- 3 chats,
- every chat has 4 users.
- GW -> socket gateway server that handles client's socket.
- Chat API is separate for simplicity to not cover processing of the messages on the GW itself
You can see that if we have much larger participants count than number of GW nodes we end up every GW node handle ALL large chats, thus causing broadcast.
===
This is one of the canonical solution that I saw on the internet for Messenger: you connect user to random GW and this GW gets (somehow) the message to deliver to the users that are connected to it. The solution is actually the way it works in Telegram and other Messengers, you have only single socket connection, it does not change when you switch chat.
First screen: 2 GW, 4 users per large chat => 4 / 2 = 2 users on EACH GW for EACH large chat
Second screen: we scaled GW nodes by 2 = 4 GW nodes -> and it didn't fix the broadcast, thus non linearly scalable
๐ฅ5
andreyka26_se
In the system design diagram there are: - 3 chats, - every chat has 4 users. - GW -> socket gateway server that handles client's socket. - Chat API is separate for simplicity to not cover processing of the messages on the GW itself You can see that ifโฆ
chat.excalidraw
165.4 KB
Please let me know about your ideas, as today-tomorrow I plan to finish the article, so that you can test your idea as well, as I gonna write bunch of simulations, calculations, POC etc.
In case someone would want to play with diagrams, attaching excalidraw for the diagrams
In case someone would want to play with diagrams, attaching excalidraw for the diagrams
๐ฅ3