<?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: Nitten Sharma</title>
    <description>The latest articles on DEV Community by Nitten Sharma (@nitten_sharma_a893a24522a).</description>
    <link>https://dev.to/nitten_sharma_a893a24522a</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3710471%2F24f26245-2a87-4234-9337-d9f03090e5b0.jpg</url>
      <title>DEV Community: Nitten Sharma</title>
      <link>https://dev.to/nitten_sharma_a893a24522a</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nitten_sharma_a893a24522a"/>
    <language>en</language>
    <item>
      <title>Marshal: Teaching an AI Copilot to Run a World Cup Stadium — Built with Google Antigravity</title>
      <dc:creator>Nitten Sharma</dc:creator>
      <pubDate>Sun, 12 Jul 2026 08:00:56 +0000</pubDate>
      <link>https://dev.to/nitten_sharma_a893a24522a/marshal-teaching-an-ai-copilot-to-run-a-world-cup-stadium-built-with-google-antigravity-478e</link>
      <guid>https://dev.to/nitten_sharma_a893a24522a/marshal-teaching-an-ai-copilot-to-run-a-world-cup-stadium-built-with-google-antigravity-478e</guid>
      <description>&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;PromptWars Challenge 4 asked for a GenAI solution touching stadium &lt;br&gt;
navigation, crowd management, accessibility, transportation, &lt;br&gt;
sustainability, multilingual support, and operational intelligence &lt;br&gt;
during FIFA World Cup 2026 — for fans, organizers, volunteers, or &lt;br&gt;
venue staff.&lt;/p&gt;

&lt;p&gt;That's seven verticals in one sentence. Trying to solve all of them &lt;br&gt;
is how you end up with a shallow app that does nothing well.&lt;/p&gt;
&lt;h2&gt;
  
  
  Why I Rejected the Obvious Path
&lt;/h2&gt;

&lt;p&gt;Most teams in this challenge will build a fan-facing app — a chatbot &lt;br&gt;
that helps you find your seat, or a navigation assistant. It's the &lt;br&gt;
first idea everyone has, which means the leaderboard will be full of &lt;br&gt;
near-identical submissions competing on polish alone.&lt;/p&gt;

&lt;p&gt;I went the other way: &lt;strong&gt;build for stadium staff, not fans.&lt;/strong&gt; A World &lt;br&gt;
Cup venue runs on volunteers and ops staff making fast decisions with &lt;br&gt;
incomplete information — where's the bottleneck, who do we move, in &lt;br&gt;
what language do we tell them. That's a harder, less obvious, and &lt;br&gt;
much less saturated problem. I named it &lt;strong&gt;Marshal&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Marshal combines three of the seven verticals — crowd management, &lt;br&gt;
real-time decision support, and multilingual support — and &lt;br&gt;
deliberately ignores the other four (navigation, accessibility, &lt;br&gt;
transportation, sustainability) for this build. Depth over breadth.&lt;/p&gt;
&lt;h2&gt;
  
  
  Architecture
&lt;/h2&gt;

&lt;p&gt;Marshal runs as a 4-agent pipeline:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Signal Ingestor&lt;/strong&gt; — reads live gate density, transit delays, and 
incident feeds (simulated for this build)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Situation Analyzer&lt;/strong&gt; — detects anomalies and classifies severity 
(LOW/MEDIUM/HIGH) based on how fast a gate is approaching capacity&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Action Recommender&lt;/strong&gt; — calls a tool, &lt;code&gt;checkAlternateGateCapacity()&lt;/code&gt;, 
that checks the real-time density of every other gate and picks the 
least-congested one, then drafts a concrete staff action&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multilingual Notifier&lt;/strong&gt; — generates real alert text in English, 
Spanish, French, and Hindi for staff, plus a simplified version for 
fan-facing signage&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The pipeline is visualized live in the UI — each stage lights up as &lt;br&gt;
it runs, and a reasoning console streams the AI's decision-making in &lt;br&gt;
real time, so a viewer can watch the logic unfold instead of just &lt;br&gt;
seeing a final answer appear.&lt;/p&gt;
&lt;h2&gt;
  
  
  My Build Process with Antigravity
&lt;/h2&gt;

&lt;p&gt;I built this in 8 sequential prompts rather than one giant spec — &lt;br&gt;
smaller, focused prompts held Antigravity's output closer to what I &lt;br&gt;
actually wanted at each stage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prompt 1&lt;/strong&gt; scaffolded the 3-panel dashboard and simulated gate-density &lt;br&gt;
generator. This came out clean on the first pass — proper HTML/CSS/JS &lt;br&gt;
separation, a distinctive dark control-room visual theme (glassmorphism, &lt;br&gt;
scanline overlay, amber/cyan glow accents) instead of a generic template.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What broke:&lt;/strong&gt; After the first few prompts, three real gaps showed up &lt;br&gt;
when I compared the output against what I'd actually asked for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The "Simulate Crowd Spike" button had no click listener wired to 
it — the pipeline was instead running on a random 3-second timer, 
which meant I had zero control over when a demo-worthy event 
actually fired.&lt;/li&gt;
&lt;li&gt;The Action Recommender was a hardcoded lookup table 
(&lt;code&gt;{'Gate A': 'Deploy 2 tickets...'}&lt;/code&gt;) instead of a real tool call — 
it gave the same canned advice regardless of what was actually 
happening at the other gates.&lt;/li&gt;
&lt;li&gt;The Multilingual Notifier printed a console line &lt;em&gt;claiming&lt;/em&gt; it sent 
alerts in EN/ES/FR, but never actually generated any translated text.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How I fixed it:&lt;/strong&gt; I sent three targeted follow-up prompts rather than &lt;br&gt;
re-prompting from scratch — each one named the exact gap:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wire a real click handler to the button and force a controllable 
spike instead of relying on the timer&lt;/li&gt;
&lt;li&gt;Replace the lookup table with a real &lt;code&gt;checkAlternateGateCapacity()&lt;/code&gt; 
function that reads live gate state and picks the actual 
least-congested option, with the tool call and its result logged 
visibly in the console&lt;/li&gt;
&lt;li&gt;Generate real 4-language alert text tied to the specific gate and 
action from that run, displayed in the alert card itself&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This iteration loop — build, compare against the original prompt, name &lt;br&gt;
the specific gap, re-prompt — was more reliable than trying to get &lt;br&gt;
everything right in one shot.&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo Walkthrough
&lt;/h2&gt;


&lt;div&gt;
  &lt;iframe src="https://loom.com/embed/0523f68b722845489aad58bccdc66969"&gt;
  &lt;/iframe&gt;
&lt;/div&gt;


&lt;p&gt;Clicking "Simulate Crowd Spike at Gate 3" triggers the full pipeline: &lt;br&gt;
Gate 3 density jumps to 91%, the Signal Ingestor picks it up, the &lt;br&gt;
Analyzer classifies it as HIGH severity and explains why, the &lt;br&gt;
Recommender calls its tool and finds the least-crowded alternate gate, &lt;br&gt;
and the Notifier pushes a real multilingual alert — all visible in the &lt;br&gt;
console in under 15 seconds.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quantified Impact
&lt;/h2&gt;

&lt;p&gt;Simulated staff decision latency drops from ~4 minutes of manual radio coordination to under 15 seconds of automated &lt;br&gt;
detection-to-alert time."  its a simulated benchmark, &lt;br&gt;
since this is a prototype, not a deployed system.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'd Build With More Time
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Real IoT/sensor integration instead of simulated feeds&lt;/li&gt;
&lt;li&gt;A predictive model (forecasting a crowd spike 10+ minutes ahead) 
rather than a reactive one&lt;/li&gt;
&lt;li&gt;Historical incident data to tune severity thresholds per venue&lt;/li&gt;
&lt;li&gt;Expanding to the accessibility and transportation verticals I 
deliberately left out of this build&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Live demo: &lt;a href="https://nittensharma16.github.io/marshal-stadium-copilot/*/" rel="noopener noreferrer"&gt;https://nittensharma16.github.io/marshal-stadium-copilot/*/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Code: &lt;a href="https://github.com/nittensharma16/marshal-stadium-copilot" rel="noopener noreferrer"&gt;https://github.com/nittensharma16/marshal-stadium-copilot&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Built for PromptWars Challenge 4, using Google Antigravity end to end.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devchallenge</category>
      <category>google</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
