<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Shoaib Khan</title>
    <description>The latest articles on DEV Community by Shoaib Khan (@shoaib_khan_72d3099de1896).</description>
    <link>https://dev.to/shoaib_khan_72d3099de1896</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3360739%2F7fbaacaf-43d4-4334-8c34-aa34f647358f.jpg</url>
      <title>DEV Community: Shoaib Khan</title>
      <link>https://dev.to/shoaib_khan_72d3099de1896</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shoaib_khan_72d3099de1896"/>
    <language>en</language>
    <item>
      <title>VenueFlow AI</title>
      <dc:creator>Shoaib Khan</dc:creator>
      <pubDate>Mon, 20 Apr 2026 03:12:46 +0000</pubDate>
      <link>https://dev.to/shoaib_khan_72d3099de1896/venueflow-ai-9ck</link>
      <guid>https://dev.to/shoaib_khan_72d3099de1896/venueflow-ai-9ck</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F79iepjwgg0ajbjordmu4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F79iepjwgg0ajbjordmu4.png" alt=" " width="800" height="394"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2cc220haxpax8icrkkmt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2cc220haxpax8icrkkmt.png" alt=" " width="800" height="394"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1j43ow6kjlb3tjha7p0q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1j43ow6kjlb3tjha7p0q.png" alt=" " width="800" height="394"&gt;&lt;/a&gt;🏟️ I built VenueFlow AI — real-time crowd intelligence for 100,000+ capacity stadiums.&lt;/p&gt;

&lt;p&gt;Built for the Google Build with AI program. Here's what's under the hood:&lt;/p&gt;

&lt;p&gt;⚡ The Core Problem&lt;br&gt;
How do you route 105,000 fans to the right gate — instantly, without chaos?&lt;/p&gt;

&lt;p&gt;🧠 The Solution: Min-Heap Priority Queue&lt;br&gt;
Instead of brute-forcing every gate option, I implemented a composite scoring algorithm:&lt;/p&gt;

&lt;p&gt;score = queue_length / throughput + α · distance&lt;/p&gt;

&lt;p&gt;→ O(N + k log N) time complexity&lt;br&gt;
→ Each routing query: ~O(log 20) ≈ constant time&lt;br&gt;
→ Full rebalance of 105K users: ~450,000 ops in &amp;lt; 50ms&lt;/p&gt;

&lt;p&gt;That's not a guess — that's math.&lt;/p&gt;

&lt;p&gt;🏗️ Full-Stack, Production-Grade&lt;br&gt;
• Python Flask + WebSockets backend&lt;br&gt;
• React 19 + Tailwind CSS 4 frontend&lt;br&gt;
• Google Gemini AI for the fan assistant &amp;amp; crowd context&lt;br&gt;
• Dual persistence: Redis → falls back to local JSON automatically&lt;br&gt;
• Google Maps API with Haversine fallback for zero-downtime routing&lt;/p&gt;

&lt;p&gt;🤖 AI-Powered&lt;br&gt;
Every chat query injects live crowd context into Gemini — so fans get answers that actually reflect what's happening in the venue right now.&lt;/p&gt;

&lt;p&gt;📍 The UX Insight&lt;br&gt;
I used cardinal directions (N/S/E/W) as spatial anchors — because fans already think this way inside a circular stadium. Reduced time-to-decision without a single extra click.&lt;/p&gt;

&lt;p&gt;Building this taught me that the right data structure isn't a detail — it's the whole product.&lt;/p&gt;

&lt;p&gt;link : &lt;a href="https://venueflow-service-1015826998904.us-central1.run.app/" rel="noopener noreferrer"&gt;https://venueflow-service-1015826998904.us-central1.run.app/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>devchallenge</category>
    </item>
  </channel>
</rss>
