<?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: arpit upadhyay</title>
    <description>The latest articles on DEV Community by arpit upadhyay (@arpitupadhyay68).</description>
    <link>https://dev.to/arpitupadhyay68</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%2F3855909%2F7b9868cf-b19d-43fb-85c8-a625b31cd8c9.png</url>
      <title>DEV Community: arpit upadhyay</title>
      <link>https://dev.to/arpitupadhyay68</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/arpitupadhyay68"/>
    <language>en</language>
    <item>
      <title>We built a fraud-proof insurance engine in 24 hours. Here's what nearly broke us.</title>
      <dc:creator>arpit upadhyay</dc:creator>
      <pubDate>Wed, 01 Apr 2026 15:05:44 +0000</pubDate>
      <link>https://dev.to/arpitupadhyay68/we-built-a-fraud-proof-insurance-engine-in-24-hours-heres-what-nearly-broke-us-36mi</link>
      <guid>https://dev.to/arpitupadhyay68/we-built-a-fraud-proof-insurance-engine-in-24-hours-heres-what-nearly-broke-us-36mi</guid>
      <description>&lt;p&gt;I'm writing this the day after a deadline that nearly ended our hackathon run.&lt;/p&gt;

&lt;p&gt;We're Team Unfiltered Minds, competing in Guidewire DEVTrails 2026 — a 6-week &lt;br&gt;
startup simulation where you build an AI-powered parametric insurance platform &lt;br&gt;
for gig delivery workers in India. Think Zomato, Swiggy, Zepto riders. No health &lt;br&gt;
coverage, no vehicle insurance. Just income protection when the weather turns bad &lt;br&gt;
and they can't work.&lt;/p&gt;

&lt;p&gt;The product is called &lt;strong&gt;GigSafe&lt;/strong&gt;. The idea is simple: when IMD declares a red &lt;br&gt;
alert in your city, you shouldn't have to file a claim. The system should already &lt;br&gt;
know you're affected and pay you automatically.&lt;/p&gt;

&lt;p&gt;Simple in theory. Absolutely not simple to build securely.&lt;/p&gt;




&lt;h2&gt;
  
  
  The problem nobody warns you about with parametric insurance
&lt;/h2&gt;

&lt;p&gt;Parametric insurance pays out based on an objective trigger — rainfall exceeds &lt;br&gt;
64.5mm/day, AQI crosses 400, temperature holds above 42°C for 3+ hours. No &lt;br&gt;
adjuster. No claim form. No waiting.&lt;/p&gt;

&lt;p&gt;The trigger fires. The payout goes out. Done.&lt;/p&gt;

&lt;p&gt;The problem? If you're building this system and your trigger is just "is the GPS &lt;br&gt;
inside the red-alert zone?" — you've built a fraud machine, not an insurance &lt;br&gt;
product.&lt;/p&gt;

&lt;p&gt;We found this out the hard way.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Market Crash
&lt;/h2&gt;

&lt;p&gt;24 hours before Phase 1 closed, the hackathon organizers dropped what they called &lt;br&gt;
a "Market Crash" event. A simulated attack scenario:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;500 delivery workers. Telegram-coordinated. GPS spoofing apps. All of them &lt;br&gt;
faking their location inside a declared severe weather zone. Liquidity pool &lt;br&gt;
drained in one alert window.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;They gave us 24 hours to architect a defense or take a financial penalty in the &lt;br&gt;
competition's virtual economy.&lt;/p&gt;

&lt;p&gt;No code required. Just airtight logic.&lt;/p&gt;

&lt;p&gt;My first instinct was: GPS + IP cross-check. Done in 10 minutes, ship it.&lt;/p&gt;

&lt;p&gt;My teammate looked at me and said "VPN exists."&lt;/p&gt;

&lt;p&gt;He was right. So we went deeper.&lt;/p&gt;




&lt;h2&gt;
  
  
  What we actually built
&lt;/h2&gt;

&lt;p&gt;The core insight was this: &lt;strong&gt;fraud is a network phenomenon, not an individual one.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A single bad actor filing a false claim looks like noise. 500 coordinated bad &lt;br&gt;
actors filing simultaneously leave structural signatures that no individual-level &lt;br&gt;
anomaly detector will catch — but a graph will.&lt;/p&gt;

&lt;p&gt;We designed a heterogeneous evidence graph with 6 node types:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Worker Account&lt;/li&gt;
&lt;li&gt;Device Fingerprint
&lt;/li&gt;
&lt;li&gt;Network Signature&lt;/li&gt;
&lt;li&gt;Payout Wallet&lt;/li&gt;
&lt;li&gt;Geo-Time Bucket&lt;/li&gt;
&lt;li&gt;Alert Window&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And 5 edge types connecting them: &lt;code&gt;uses-device&lt;/code&gt;, &lt;code&gt;uses-network&lt;/code&gt;, &lt;br&gt;
&lt;code&gt;receives-wallet&lt;/code&gt;, &lt;code&gt;claimed-in-bucket&lt;/code&gt;, &lt;code&gt;co-claims-alert-window&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Then we defined 5 deterministic ring detection rules. Not "anomaly detected." &lt;br&gt;
Actual hard thresholds:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;R1 — Device fan-in burst:&lt;/strong&gt; If 12+ unique workers link to the same device &lt;br&gt;
fingerprint within 90 minutes of an alert activation, and 70%+ of those are &lt;br&gt;
filing their first claim in 30 days → +35 ring risk points.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;R2 — Wallet convergence:&lt;/strong&gt; If 8+ workers route payouts to one wallet within &lt;br&gt;
24 hours, median account age under 21 days → +30 points, wallet cluster frozen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;R3 — Geo-time synchrony:&lt;/strong&gt; If 10+ workers enter the same alert polygon within &lt;br&gt;
5 minutes with trajectory similarity ≥ 0.85 → +25 points, full cluster goes &lt;br&gt;
Amber minimum.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;R4 — Impossible mobility:&lt;/strong&gt; Same worker jumping 8km in under 4 minutes, twice &lt;br&gt;
in one shift. Or 6 workers with near-identical path templates within 2-second &lt;br&gt;
timestamp jitter → +20 points.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;R5 — Network opportunism:&lt;/strong&gt; 15+ claims from the same network signature group &lt;br&gt;
in 30 minutes, alert-window claim rate 6x baseline → +20 points.&lt;/p&gt;

&lt;p&gt;Ring score = sum of triggered rules. 0–39 is low risk. 40–59 is Amber. &lt;br&gt;
60+ is Red hold with containment actions.&lt;/p&gt;




&lt;h2&gt;
  
  
  The case that nearly broke the whole model
&lt;/h2&gt;

&lt;p&gt;Here's the thing nobody thinks about when designing fraud detection for gig &lt;br&gt;
workers: &lt;strong&gt;the workers most likely to be falsely flagged are the workers who &lt;br&gt;
most need the payout.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A Zomato rider with a ₹6,000 phone in the middle of Cyclone Michaung. Low &lt;br&gt;
battery. No GPS lock. Dropped data connection every 3 minutes. Offline gap of &lt;br&gt;
10 minutes during the claim window.&lt;/p&gt;

&lt;p&gt;In our naive model? That worker looks exactly like a GPS spoofer. Every trust &lt;br&gt;
signal is weak. Device integrity score: low. Spatiotemporal plausibility: low. &lt;br&gt;
Cross-signal corroboration: low.&lt;/p&gt;

&lt;p&gt;Our system would have held his payout and asked him to submit evidence while &lt;br&gt;
he was sitting in floodwater with 9% battery.&lt;/p&gt;

&lt;p&gt;That's not anti-fraud. That's just punishing poverty.&lt;/p&gt;

&lt;p&gt;So we built what we called the &lt;strong&gt;Amber-Degraded Lane&lt;/strong&gt;. Any claim where 2 of &lt;br&gt;
these 4 conditions are true:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Battery &amp;lt; 12%&lt;/li&gt;
&lt;li&gt;GPS accuracy worse than 150m for 8+ minutes
&lt;/li&gt;
&lt;li&gt;Packet loss &amp;gt; 40% for 10+ minutes&lt;/li&gt;
&lt;li&gt;Offline gap &amp;gt; 8 minutes during alert&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;...automatically enters a protected flow. 40% provisional payout releases in &lt;br&gt;
10 minutes. A 6-hour evidence recovery window opens. If review isn't completed &lt;br&gt;
within 12 hours and no hard fraud signal is confirmed, the provisional &lt;br&gt;
auto-upgrades to 70%.&lt;/p&gt;

&lt;p&gt;The worker isn't penalized for bad infrastructure. The system absorbs the &lt;br&gt;
uncertainty instead of pushing it onto the person with the least capacity to &lt;br&gt;
handle it.&lt;/p&gt;




&lt;h2&gt;
  
  
  What we got wrong
&lt;/h2&gt;

&lt;p&gt;We got 2 stars out of 5 in Phase 1.&lt;/p&gt;

&lt;p&gt;The judge's feedback was precise: &lt;em&gt;"Exceptional depth in fraud prevention. &lt;br&gt;
Completely misses core hackathon requirements. No persona definition, no premium &lt;br&gt;
model, no parametric triggers, no technical implementation."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;They were right. We spent so much time on the adversarial defense section that &lt;br&gt;
the actual insurance product design never made it into the README. The fraud &lt;br&gt;
architecture was impressive. It just had no product underneath it.&lt;/p&gt;

&lt;p&gt;The lesson: a security system without a product to protect is just a &lt;br&gt;
white paper.&lt;/p&gt;

&lt;p&gt;Phase 2 is about building the actual product. The fraud architecture is one &lt;br&gt;
section. Not the whole thing.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's coming in Phase 2
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Worker onboarding with dynamic weekly premium calculation
(base ₹49 × zone risk multiplier × history multiplier × seasonal multiplier)&lt;/li&gt;
&lt;li&gt;Live parametric trigger monitoring (IMD API + mock weather feeds)&lt;/li&gt;
&lt;li&gt;Zero-touch claim initiation — no form, no button, just automatic detection&lt;/li&gt;
&lt;li&gt;Worker dashboard + insurer analytics panel&lt;/li&gt;
&lt;li&gt;The full anti-spoofing engine running underneath all of it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're building anything in the insurance or fintech space and want to talk &lt;br&gt;
through the fraud detection architecture, I'm happy to go deeper in the comments.&lt;/p&gt;

&lt;p&gt;We're still in the competition. Phase 2 deadline is April 4th.&lt;/p&gt;

&lt;p&gt;Clock's running.&lt;/p&gt;

&lt;p&gt;— Team Unfiltered Minds&lt;/p&gt;

</description>
      <category>hackathon</category>
      <category>webdev</category>
      <category>nextjs</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
