“Design Whatsapp.” “Design Uber.” “Design Netflix.” How to actually approach these high level design problems in an interview? You’ve to think clearly, step by step. Here’s how I approached my Design rounds- ✅ Clarify the problem first. Ask basic questions: – Who are the users? – How many users? – What are the must-have features? Don’t assume anything. Understand the need properly. ✅ Define the scale. Rough numbers like daily active users, QPS (queries per second), storage needed — they’ll guide your design choices. ✅ Sketch the basic building blocks. Clients → APIs → Application Servers → Databases → Caches → Queues. Start simple. You can add complexity later if needed. ✅ Walk through the data flow. Explain how a request travels in your system. Where it goes, how it’s processed, and how the response comes back. ✅ Think about scalability and reliability. Talk about load balancing, replication, database sharding, caching strategies. Show how your system will survive real-world traffic. ✅ Discuss bottlenecks and trade-offs. No design is perfect. Acknowledge what might break and how you can fix or improve it later. You don’t have to build the “perfect” system in 45 minutes. You just need to show a clear thought process and adapt as you discuss. That’s what good interviews look for — not perfection, but how you think. All the best!❤️
User Flows And Pathways
Explore top LinkedIn content from expert professionals.
-
-
8 years back, India's top rideshare brand's acquisition funnel was like this. - 100 users install their app - 35 users signed up with Phone no. & Email - 8 users booked a ride on the app successfully within 7 days of install They were the market leaders. Yet, it had a lousy acquisition funnel. Then, the cost per install(CPI) for the rideshare industry used to be $0.5 or INR40 at scale. With this acquisition funnel, the cost of acquisition(CAC) was $6 or INR500. The average order value(AOV) was $2 or INR150. At a 20% gross margin, it took more than 17 rides to break even at this CAC level. A clear recipe for disaster. Then, we made a simple change in the acquisition flow. It increased the new user conversion rate by ~100%, reducing the CAC by ~50%. Removing the Email ID requirement in the signup flow. - Install to signup rate increased from 35% to 60% - Install to booking rate improved from 8% to 15% After the ride completion, promoting the user to add an email ID to receive the invoice got us the email ID from most users who had one. This is an incremental change that yielded an outsized outcome. Today, most brands use this "phone no. only" flow. Not then, because most of the acquisition flow is inspired by the Western counterparts. This improvement becomes quite pronounced as the brand expands to the T3+ cities and older age segment. Another great idea to test in the acquisition flow is moving the signup prompt to the end. By Installing the app, the user makes a small investment in the brand. What If we let the user see the available cabs or browse the product immediately? Without the need for you to sign up. When they are about to book or make a purchase, prompt them to sign up. At this stage, the user invested additional time in the platform. Even for a free platform, we can let the user browse the content catalog and prompt them to sign up when they decide to consume. More investment means more likely to convert. Trying this will undoubtedly improve the install-to-activation/purchase rate for all brands.
-
🔎 How To Redesign Complex Navigation: How We Restructured Intercom’s IA (https://lnkd.in/ezbHUYyU), a practical case study on how the Intercom team fixed the maze of features, settings, workflows and navigation labels. Neatly put together by Pranava Tandra. 🚫 Customers can’t use features they can’t discover. ✅ Simplifying is about bringing order to complexity. ✅ First, map out the flow of customers and their needs. ✅ Study how people navigate and where they get stuck. ✅ Spot recurring friction points that resonate across tasks. 🚫 Don’t group features based on how they are built. ✅ Group features based on how users think and work. ✅ Bring similar things together (e.g. Help, Knowledge). ✅ Establish dedicated hubs for key parts of the product. ✅ Relocate low-priority features to workflows/settings. 🤔 People don’t use products in predictable ways. 🤔 Users often struggle with cryptic icons and labels. ✅ Show labels in a collapsible nav drawer, not on hover. ✅ Use content testing to track if users understand icons. ✅ Allow users to pin/unpin items in their navigation drawer. One of the helpful ways to prioritize sections in navigation is by layering customer journeys on top of each other to identify most frequent areas of use. The busy “hubs” of user interactions typically require faster and easier access across the product. Instead of using AI or designer’s mental model to reorganize navigation, invite users and run a card sorting session with them. People are usually not very good at naming things, but very good at grouping and organizing them. And once you have a new navigation, test and refine it with tree testing. As Pranava writes, real people don’t use products in perfectly predictable ways. They come in with an infinite variety of needs, assumptions, and goals. Our job is to address friction points for their realities — by reducing confusion and maximizing clarity. Good IA work and UX research can do just that. [Useful resources in the comments ↓] #ux #IA
-
It seems simple enough: type a URL, hit Enter, and voilà, the webpage loads! But behind the scenes, there's a whole chain of processes working together to make that happen. Here's a breakdown of the journey a URL takes from your browser to the server and back: 𝗗𝗡𝗦 𝗟𝗼𝗼𝗸𝘂𝗽 : First, your browser checks if it already knows the IP address for the website. If not, it queries the DNS (Domain Name System) to translate the human-friendly URL into a machine-readable IP address. 𝗖𝗮𝗰𝗵𝗲 𝗖𝗵𝗲𝗰𝗸 : Before reaching out to the DNS, your device checks its cache to see if it has the IP saved. If not, it goes through multiple levels (browser, OS, router, ISP) until it gets an answer. 𝗧𝗖𝗣 𝗖𝗼𝗻𝗻𝗲𝗰𝘁𝗶𝗼𝗻 : After getting the IP, a TCP connection is initiated between your device (the client) and the web server using the 𝗧𝗖𝗣/𝗜𝗣 𝟯-𝗪𝗮𝘆 𝗛𝗮𝗻𝗱𝘀𝗵𝗮𝗸𝗲 (SYN, SYN-ACK, ACK). This handshake ensures a stable connection for data transfer. 𝗛𝗧𝗧𝗣 𝗥𝗲𝗾𝘂𝗲𝘀𝘁 : With the connection established, your browser sends an HTTP request to the server, asking it to serve up the webpage. 𝗦𝗲𝗿𝘃𝗲𝗿 𝗥𝗲𝘀𝗽𝗼𝗻𝘀𝗲 : The server processes the request and sends back a response, which includes the status code (e.g., 200 for success, 404 for not found) and the requested data (HTML, CSS, JavaScript). 𝗥𝗲𝗻𝗱𝗲𝗿𝗶𝗻𝗴 𝘁𝗵𝗲 𝗪𝗲𝗯𝗽𝗮𝗴𝗲 : The browser takes over again to process and render the data received: - 𝗣𝗮𝗿𝘀𝗶𝗻𝗴: HTML is parsed into the DOM tree, CSS into the CSSOM tree, and JavaScript is processed. - 𝗥𝗲𝗻𝗱𝗲𝗿𝗶𝗻𝗴: The browser engine works with the render engine to paint each part of the webpage onto the screen. This entire process happens in milliseconds, allowing you to experience a seamless web browsing experience! 𝗪𝗵𝘆 𝗜𝘁 𝗠𝗮𝘁𝘁𝗲𝗿𝘀: Understanding this flow is crucial for web developers, network engineers, and anyone working in tech. Optimizing any step along this path can drastically improve load times and user experience. 👉 Save this post for future reference and feel free to share it with anyone looking to deepen their understanding of web fundamentals!
-
🎟️ Coldplay is coming to Mumbai, and tickets are about to go live on BookMyShow! 🎶 As I’m figuring out how BookMyShow will manage the queue to ensure fairness (and how I can maximize my chances of grabbing those tickets 🏃♂️💨), I started thinking about what’s happening behind the scenes. So, while preparing for this “Fastest Finger First” war, here are my thoughts on how BookMyShow might be gearing up for the massive ticket surge: 1️⃣ Virtual Waiting Rooms: To prevent crashes, users are placed into a FIFO (First-In, First-Out) distributed queue. But here's the catch: how do they actually decide who came first? 2️⃣ Precise Timestamps: Each click to "book" is timestamped down to the millisecond (or even nanosecond?). But speed also depends on how fast your request reaches their server! 👉 The kicker: Even if your request is lightning-fast, it may not be the first to hit the server depending on your location. If you’re in Bangalore and someone else is in Mumbai, and the servers are based in Mumbai, their request might reach faster—even if you both clicked at the same time. 🌍 Example: The network latency (round-trip time) between Bangalore and Mumbai is typically 30-40 milliseconds, while for someone in Mumbai, it could be just 5-10 milliseconds. So, if both users click at exactly the same moment, the person in Mumbai has an edge, with their request hitting the server faster by 20-30 milliseconds! In a high-stakes scenario like Coldplay ticket booking, that small difference could mean the difference between getting tickets or missing out! 🥲 3️⃣ Centralized Queue Management: Once you hit the button, your request is sent to a centralized queue (likely using Kafka, Redis, or RabbitMQ). Even if requests come from different servers, the queue maintains global order based on timestamps—so the faster your request hits, the higher up you’ll be. 4️⃣ Concurrency Control & Atomic Operations: With thousands of clicks pouring in, atomic operations (e.g., Redis INCR) ensure no two users claim the same spot. The system processes one request at a time for fairness. 5️⃣ Race Conditions: If two users click at the same millisecond and their requests reach the server at the same time, tie-breakers like randomization might decide who gets ahead. 6️⃣ Scalable Infrastructure: Auto-scaling servers are ready to handle any load, whether it’s 10,000 or 1 million users. 7️⃣ Rate Limiting & Bot Protection: Real fans get priority over bots thanks to rate limiting and DDoS protection, ensuring fairness. 8️⃣ Real-Time Queue Updates: While you wait, WebSockets or Server-Sent Events (SSE) keep you updated on your queue position and other information like how many seats are left, so you know exactly where you stand. It’s fascinating how distributed systems, network latency, and queuing mechanisms shape events like these. Sometimes, it’s not just about speed!
-
Most systems detect node or master failures using simple polling, and while this approach sounds straightforward, it has an interesting reliability issue... The typical approach is to observe a node directly. This usually means pinging it, checking if a port is open, or running a lightweight query to confirm it is alive. On paper, this seems fine, but all of these methods share the same weakness - what if the observer itself is wrong? In a distributed setup, network glitches are normal. Temporary packet loss, routing hiccups, or partial network partitions can easily make a healthy node appear unreachable to the observer. The usual way to deal with this is to retry multiple times and declare failure after the n-th consecutive failure. This creates a classic tradeoff. If n is small (or polling happens frequently), failure detection becomes fast, but false positives increase. A short-lived network blip can trigger an unnecessary failover, which can sometimes be more disruptive than the original issue. If n is large (or polling intervals are longer), false positives decrease, but real failures take longer to detect. That delay directly increases downtime. But there is a more reliable way to think about this problem when you already have a cluster of nodes available. Instead of relying on a single observer repeatedly polling a target node, you can allow multiple nodes in the cluster to independently perform health checks. The system then treats a node as failed only when a majority of observers agree that the node is unreachable. This consensus-based approach reduces the risk of false positives caused by network partitioning. Even if one observer loses connectivity, the rest of the cluster can still provide an accurate view of system health. Consensus is costly, so this approach is not the most cost-efficient. However, it can be very useful if your system is large enough and distributed across multiple geographies.
-
I got my hands on the leaked Andrew Tate community chats. But instead of hot takes, I did something different: I analyzed 500,000+ messages using Hana NLP capability to create a psychological profile . Not for drama. But to understand how these ideas spread. Full dashboard link in the comments. The AI spotted something crucial: Messages evolve from motivation → manipulation → isolation RED FLAGS IN THE DATA: CORE TRAITS (Spider Chart Analysis): Extreme Authoritarian Leadership High Emotional Suppression Binary "Us vs Them" Worldview Intense Reward-Based Motivation Hyper-Masculine Programming DIAGNOSTIC INDICATORS: 🚨 Most concerning findings from our data: OCPD patterns: 95% Alexithymia (emotional blindness): 85% Narcissistic traits: 82% Anxiety markers: 78% Behavioral addiction signs: 75% RISK ASSESSMENT: Our severity analysis shows: 85% risk of burnout 80% emotional isolation 77% addiction to productivity 72% ideological rigidity Why this matters: These aren't random numbers. They're warning signs of systematic psychological manipulation. The data reveals a clear pattern: Target vulnerable youth Exploit emotional needs Reinforce isolation Create dependency Suppress critical thinking We need to: Teach digital literacy Strengthen emotional intelligence Build supportive communities Encourage critical thinking Create safe spaces for dialogue This isn't just about one influencer. It's about protecting our youth from digital cults. What we need to watch for: • Sudden personality changes • Aggressive ideology adoption • Withdrawal from family/friends • Black-and-white thinking • Dismissal of different viewpoints Parents, teachers, mentors: These aren't just internet trends. They're psychological weapons. The real problem? We're not teaching young people to spot manipulation. Time to change that. #DigitalSafety #YouthMentalHealth #DataAnalysis #ParentingInDigitalAge
-
America’s discharge system has quietly shifted hospital‑level care onto families, offloading complex medical tasks onto untrained, unpaid caregivers who never agreed to become the nation’s hidden workforce. Earlier discharges, denied services, and thinly stretched home health agencies mean families now absorb the same impossible acuity that once overwhelmed long‑term care facilities only without staffing, training, or backup. This isn’t empowerment; it’s systemic abandonment. Families must slow the process down and evaluate three realities: health trajectory, financial burn rate, and housing capacity before making any long‑term decision. Until we name this transfer of labor for what it is, families will continue carrying the weight of a collapsing system alone. #CaregiverCrisis #AmericanDischargePlan #FamilyCaregivers #CaregiverBurden #HealthcareOffloading #CareAtHomeMyth #CaregiverReadiness #CaregiverCollapse #AgingInAmerica #HealthFinanceHousing #SlowItDown
-
The hardest game design problem? Making one game speak to many lifetimes. ❌ Players don’t stay the same. ✅ They evolve, and your game should too. The same player sees your game differently ↳ at every stage of their life. • The 10-year-old discovering games. • The 20-year-old chasing their mastery. • The 35-year-old finding time to play again. That’s why Player Lifecycle design matters. Because your “audience” isn’t one person ↳ it’s one person across time. So how do you build for that? 7 ways to adapt your systems ↳ to the evolving stages of a player’s life 👇 1. Design different welcomes ↳ New players need curiosity, veterans need recognition. 2. Map Core, Risk & Dormant states ↳ Don’t spam lapsed players, reacquire them like new ones. 3. Build nostalgia into re-entry ↳ Players returning after years need memories, not tutorials. 4. Re-onboard resurrected players ↳ Ease them in with grace, not push them into meta confusion. 5. Reward rhythm, not obsession ↳ Core players aren’t infinite, design rest cycles before burnout. 6. Talk by tone, not by template ↳ Risk players need empathy, Core players need energy. 7. Design for return, not retention ↳ The door out and the door back in should both feel intentional. Every game is reinterpreted by the same person ➜ just at a different life checkpoint. ❌ We’re not chasing sessions. ✅ We’re designing lifetimes. I wrote Running a Successful Live Service Game for teams who want to last beyond the first cycle. ➕ Follow Sergei Vasiuk for more Kudos to Grant Snider
-
We're in a new UX era for software: the era of the prompt bar. That doesn't mean you can just add a prompt bar & move on. What 40+ of the best AI-native companies are doing: I enlisted Yaakov Carno to map out AI prompt journeys across products like Canva, Notion, Vercel, Lovable, Airtable (& lesser known AI companies). He traced every step from homepage to first value. The 7 most interesting observations ⤵️ 1. Consider offering multiple entry points: the prompt bar OR a visual UX. Gamma and Wix are two 🔥 examples. Gamma even has 3 options. 2. Increase relevance with a "hidden" step between the prompt bar & output. Lovable, for example, has a series of onboarding questions to collect more context. 3. Don’t just tell users they can “generate anything.” Show them specific, meaningful examples that connect to their job-to-be-done. Canva, for instance, has a visual use case selector w/ a category & sub-category. 4. Use the prompt bar to educate users about what kind of tasks your product supports. Zapier there are sample prompts for lead management, customer support, marketing & growth, and project mgmt. 5. Distinguish whether the AI is a copilot or autopilot. Notion nails this with a mix of placeholder text, surrounding CTAs, and examples that clearly convey what you can do and why. 6. Integrate context, data, and sources at the beginning. bolt.new has a new minimalistic design that focuses only on importing from Figma and GitHub. Constraints increase the likelihood of relevant, valuable outputs. 7. Add a fun factor to make the experience feel different & maybe a bit magical. Playfulness can lower hesitation. Riff and Leap use “Shuffle” or “Surprise me” icons to encourage exploration. --- Read the full deep dive in today's Growth Unhinged newsletter here: https://lnkd.in/ecJ8TRFJ Then chime in: Do you have a favorite AI prompt journey? And what new tools are folks using to build & optimize these new UX experiences? Hope you find this useful 🙏 #ux #ai #genai #product