{"type":"excalidraw","version":2,"source":"https://AwesomeSystemDesign.dev","elements":[{"angle":0,"strokeColor":"#6577aa","backgroundColor":"#eef1fc","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-1"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-1"}],"updated":0,"link":null,"locked":false,"id":"shape-0","type":"rectangle","seed":41,"x":16,"y":16,"width":288,"height":121.8,"customData":{"revealStep":1}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-1"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-1","type":"text","seed":114,"x":36,"y":34,"width":248,"height":85.8,"fontSize":22,"fontFamily":1,"text":"Matching Engine —\nFinding the Best\nDriver","originalText":"Matching Engine —\nFinding the Best\nDriver","textAlign":"left","verticalAlign":"middle","containerId":"shape-0","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":1}},{"angle":0,"strokeColor":"#628572","backgroundColor":"#edf5ee","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-2"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-3"}],"updated":0,"link":null,"locked":false,"id":"shape-2","type":"rectangle","seed":187,"x":16,"y":181.8,"width":288,"height":93.2,"customData":{"revealStep":2}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-2"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-3","type":"text","seed":260,"x":36,"y":199.8,"width":248,"height":57.2,"fontSize":22,"fontFamily":1,"text":"Input: Rider at (lat,\nlng), requesting UberX","originalText":"Input: Rider at (lat,\nlng), requesting UberX","textAlign":"left","verticalAlign":"middle","containerId":"shape-2","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":2}},{"angle":0,"strokeColor":"#a68a53","backgroundColor":"#fff7e6","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-3"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-5"}],"updated":0,"link":null,"locked":false,"id":"shape-4","type":"rectangle","seed":333,"x":16,"y":319,"width":288,"height":207.6,"customData":{"revealStep":3}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-3"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-5","type":"text","seed":406,"x":36,"y":337,"width":248,"height":171.6,"fontSize":22,"fontFamily":1,"text":"Step 1: Candidate\nGeneration\nGEORADIUS within 5\nkm → 20 nearby\navailable UberX\ndrivers","originalText":"Step 1: Candidate\nGeneration\nGEORADIUS within 5\nkm → 20 nearby\navailable UberX\ndrivers","textAlign":"left","verticalAlign":"middle","containerId":"shape-4","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":3}},{"angle":0,"strokeColor":"#9180ac","backgroundColor":"#f4effb","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-4"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-7"}],"updated":0,"link":null,"locked":false,"id":"shape-6","type":"rectangle","seed":479,"x":16,"y":570.6,"width":288,"height":379.2,"customData":{"revealStep":4}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-4"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-7","type":"text","seed":552,"x":36,"y":588.6,"width":248,"height":343.2,"fontSize":22,"fontFamily":1,"text":"Step 2: ETA\nCalculation\nFor each candidate:\ncompute driving ETA\nfrom driver → pickup\nUse: pre-computed\nroad network graph\n(OSRM/Valhalla)\n→ Candidate list with\nactual ETAs (not\nstraight-line\ndistance)","originalText":"Step 2: ETA\nCalculation\nFor each candidate:\ncompute driving ETA\nfrom driver → pickup\nUse: pre-computed\nroad network graph\n(OSRM/Valhalla)\n→ Candidate list with\nactual ETAs (not\nstraight-line\ndistance)","textAlign":"left","verticalAlign":"middle","containerId":"shape-6","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":4}},{"angle":0,"strokeColor":"#6577aa","backgroundColor":"#eef1fc","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-5"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-9"}],"updated":0,"link":null,"locked":false,"id":"shape-8","type":"rectangle","seed":625,"x":16,"y":993.8,"width":288,"height":550.8000000000001,"customData":{"revealStep":5}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-5"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-9","type":"text","seed":698,"x":36,"y":1011.8,"width":248,"height":514.8000000000001,"fontSize":22,"fontFamily":1,"text":"Step 3: Scoring\nscore = w1 ×\n(1/pickup_eta) //\ncloser = better\nw2 × driver_rating\n// higher rated =\npreferred\nw3 ×\nacceptance_rate //\nreliable drivers\npreferred\nw4 × (1/idle_time) //\nfairness: long-waiting\nw5 ×\nheading_alignment //\ndriver heading toward\n// pickup = less\nU-turn","originalText":"Step 3: Scoring\nscore = w1 ×\n(1/pickup_eta) //\ncloser = better\nw2 × driver_rating\n// higher rated =\npreferred\nw3 ×\nacceptance_rate //\nreliable drivers\npreferred\nw4 × (1/idle_time) //\nfairness: long-waiting\nw5 ×\nheading_alignment //\ndriver heading toward\n// pickup = less\nU-turn","textAlign":"left","verticalAlign":"middle","containerId":"shape-8","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":5}},{"angle":0,"strokeColor":"#628572","backgroundColor":"#edf5ee","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-6"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-11"}],"updated":0,"link":null,"locked":false,"id":"shape-10","type":"rectangle","seed":771,"x":16,"y":1588.6,"width":288,"height":150.4,"customData":{"revealStep":6}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-6"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-11","type":"text","seed":844,"x":36,"y":1606.6,"width":248,"height":114.4,"fontSize":22,"fontFamily":1,"text":"Typical weights:\nw1=0.5, w2=0.15,\nw3=0.1, w4=0.15,\nw5=0.1","originalText":"Typical weights:\nw1=0.5, w2=0.15,\nw3=0.1, w4=0.15,\nw5=0.1","textAlign":"left","verticalAlign":"middle","containerId":"shape-10","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":6}},{"angle":0,"strokeColor":"#a68a53","backgroundColor":"#fff7e6","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-7"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-13"}],"updated":0,"link":null,"locked":false,"id":"shape-12","type":"rectangle","seed":917,"x":16,"y":1783,"width":288,"height":322,"customData":{"revealStep":7}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-7"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-13","type":"text","seed":990,"x":36,"y":1801,"width":248,"height":286,"fontSize":22,"fontFamily":1,"text":"Step 4: Dispatch\nSelect top-scoring\ndriver → send offer\n(15 second timeout)\nIf declined/timeout →\nnext best driver (up\nto 3 attempts)\nIf no driver after 3\nattempts → \"No\ndrivers available\"","originalText":"Step 4: Dispatch\nSelect top-scoring\ndriver → send offer\n(15 second timeout)\nIf declined/timeout →\nnext best driver (up\nto 3 attempts)\nIf no driver after 3\nattempts → \"No\ndrivers available\"","textAlign":"left","verticalAlign":"middle","containerId":"shape-12","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":7}},{"angle":0,"strokeColor":"#9180ac","backgroundColor":"#f4effb","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-8"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-15"}],"updated":0,"link":null,"locked":false,"id":"shape-14","type":"rectangle","seed":1063,"x":16,"y":2149,"width":288,"height":550.8000000000001,"customData":{"revealStep":8}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-8"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-15","type":"text","seed":1136,"x":36,"y":2167,"width":248,"height":514.8000000000001,"fontSize":22,"fontFamily":1,"text":"Advanced: Batch\nMatching (Uber's\napproach for high\ndemand)\nInstead of matching\none ride at a time:\nCollect ride requests\nover a 2-second\nwindow\nSolve global\nassignment: minimize\ntotal pickup ETAs\nUsing Hungarian\nalgorithm or greedy\nassignment\n→ Better global\noptimality than\ngreedy one-at-a-time","originalText":"Advanced: Batch\nMatching (Uber's\napproach for high\ndemand)\nInstead of matching\none ride at a time:\nCollect ride requests\nover a 2-second\nwindow\nSolve global\nassignment: minimize\ntotal pickup ETAs\nUsing Hungarian\nalgorithm or greedy\nassignment\n→ Better global\noptimality than\ngreedy one-at-a-time","textAlign":"left","verticalAlign":"middle","containerId":"shape-14","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":8}}],"appState":{"viewBackgroundColor":"#fbfbf8","gridSize":null},"files":{}}