<?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: Arbaz Shahbaz</title>
    <description>The latest articles on DEV Community by Arbaz Shahbaz (@arbaz_shahbaz_03).</description>
    <link>https://dev.to/arbaz_shahbaz_03</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%2F3944484%2F196d19de-998c-407e-9f36-a0542adb6c6c.jpg</url>
      <title>DEV Community: Arbaz Shahbaz</title>
      <link>https://dev.to/arbaz_shahbaz_03</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/arbaz_shahbaz_03"/>
    <language>en</language>
    <item>
      <title>Chaukidar (چوکیدار): A Local-First AI Scam Protector for My Family</title>
      <dc:creator>Arbaz Shahbaz</dc:creator>
      <pubDate>Fri, 02 Oct 2026 09:58:32 +0000</pubDate>
      <link>https://dev.to/arbaz_shahbaz_03/chaukidar-chwkhydr-a-local-first-ai-scam-protector-for-my-family-2o0j</link>
      <guid>https://dev.to/arbaz_shahbaz_03/chaukidar-chwkhydr-a-local-first-ai-scam-protector-for-my-family-2o0j</guid>
      <description>&lt;h1&gt;
  
  
  Chaukidar (چوکیدار): A Local-First AI Scam Protector for My Family
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;Built for the DEV *Built for the DEV Hacktoberfest Weekend Challenge: "Build for a Friend"&lt;/em&gt;&lt;/p&gt;




&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fq9g41raygun1ewyiutln.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fq9g41raygun1ewyiutln.png" alt=" " width="800" height="447"&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbccbou6hyfas3pbsvpul.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbccbou6hyfas3pbsvpul.png" alt=" " width="800" height="359"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  1. The Story: Why I Built This
&lt;/h2&gt;

&lt;p&gt;A few weeks ago, an elder in my family received an urgent SMS on their phone:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Muaziz Sarif: Apka JazzCash account ghair qanooni sargarmion ki wajah se block ho gaya hai. 24 ghante ke andar tasdeeq karein: &lt;a href="https://jazzcash-verify.xyz/login" rel="noopener noreferrer"&gt;https://jazzcash-verify.xyz/login&lt;/a&gt;"&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;They panicked, assuming their savings were locked, and were about to click the link and enter their credentials before thankfully calling me to ask if it was real.&lt;/p&gt;

&lt;p&gt;In Pakistan, mobile financial fraud has reached epidemic levels. Millions of people use mobile wallets like JazzCash and EasyPaisa for their everyday survival, and bad actors relentlessly target elderly and non-technical people with:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Fake Mobile Wallet Block Alerts&lt;/strong&gt; creating artificial panic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fake BISP / 8171 &amp;amp; Ehsaas Welfare Claims&lt;/strong&gt; promising government cash grants.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fake Courier Delivery Notices&lt;/strong&gt; (TCS, Leopards) demanding address updates and card fees.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Emergency Impersonation&lt;/strong&gt; ("I am at a police station / hospital, send cash to this number immediately").&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WhatsApp Task &amp;amp; Job Scams&lt;/strong&gt; promising daily thousands for liking YouTube videos.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;My relative doesn't speak fluent English and finds tech jargon confusing. When they receive an SMS or WhatsApp message, they need a simple, gentle answer in &lt;strong&gt;Roman Urdu&lt;/strong&gt; or &lt;strong&gt;Urdu script&lt;/strong&gt;: &lt;em&gt;Is this safe or a scam, why, and what should I do?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That is why I built &lt;strong&gt;Chaukidar (چوکیدار)&lt;/strong&gt; — an open-source, local-first scam protection assistant.&lt;/p&gt;


&lt;h2&gt;
  
  
  2. What Chaukidar Does
&lt;/h2&gt;

&lt;p&gt;Chaukidar connects to Telegram as a dedicated guardian bot:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💬 &lt;strong&gt;Forward Any SMS / WhatsApp Text:&lt;/strong&gt; Forward any suspicious message directly into the chat.&lt;/li&gt;
&lt;li&gt;📸 &lt;strong&gt;Send Screenshot Images:&lt;/strong&gt; If they don't know how to copy text, they can just take a screenshot and send it. Chaukidar uses OCR with Urdu and English language models to read the screenshot automatically.&lt;/li&gt;
&lt;li&gt;🗣️ &lt;strong&gt;Simple, Gentle Explanations:&lt;/strong&gt; Responds with a clear badge (&lt;code&gt;🚨 KHATRA (Scam)&lt;/code&gt;, &lt;code&gt;⚠️ MASHKOOK (Suspicious)&lt;/code&gt;, or &lt;code&gt;✅ MEHFOOZ (Safe)&lt;/code&gt;) and &lt;strong&gt;one short sentence&lt;/strong&gt; explaining the reason in Roman Urdu or Urdu script.&lt;/li&gt;
&lt;li&gt;🔊 &lt;strong&gt;Voice Note Responses (Optional):&lt;/strong&gt; Sends a quick audio voice note explaining the verdict, designed for family members who prefer listening over reading.&lt;/li&gt;
&lt;li&gt;🎯 &lt;strong&gt;Weekly Practice Scam Drills:&lt;/strong&gt; Once a week, Chaukidar sends a harmless simulated practice message. If they forward it to the bot, it praises them for spotting it. If they click the link, it opens an educational page that reassures them and explains the 3 telltale signs of that specific scam pattern.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  3. The Local-First Privacy Guarantee
&lt;/h2&gt;

&lt;p&gt;When someone receives a suspicious SMS, the message often contains sensitive data:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Partial bank account numbers&lt;/li&gt;
&lt;li&gt;Personal names&lt;/li&gt;
&lt;li&gt;Phone numbers&lt;/li&gt;
&lt;li&gt;CNIC (National Identity Card) numbers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sending private family communications to commercial cloud AI APIs creates a privacy risk. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chaukidar runs its AI model entirely on the local machine using Ollama and Gemma.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Zero Cloud Leakage:&lt;/strong&gt; Message contents are evaluated locally on the laptop.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privacy-Safe Database:&lt;/strong&gt; Chaukidar stores only a SHA-256 cryptographic hash of the message text, its verdict, and timestamp in SQLite. Raw message text is never written to disk.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Strict User Allowlisting:&lt;/strong&gt; The bot will strictly ignore messages from any Telegram user ID not listed in the &lt;code&gt;.env&lt;/code&gt; configuration.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  4. How It Works: The Hybrid Architecture
&lt;/h2&gt;

&lt;p&gt;Chaukidar uses a two-tier hybrid architecture combining speed, deterministic safety, and deep contextual understanding:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                  ┌───────────────────────────────┐
                  │   Incoming SMS / Screenshot   │
                  └───────────────┬───────────────┘
                                  │ (OCR if photo)
                                  ▼
                     ┌─────────────────────────┐
                     │   Deterministic Rules   │
                     │   - Lookalike Domains   │
                     │   - Urgency Triggers    │
                     │   - OTP / CNIC Demands  │
                     └────────────┬────────────┘
                                  │
                                  ▼
                     ┌─────────────────────────┐
                     │  Local Gemma (Ollama)   │
                     │  - Deep context &amp;amp; tone  │
                     │  - Pakistani patterns   │
                     │  - Defensive JSON       │
                     └────────────┬────────────┘
                                  │
                                  ▼
                     ┌─────────────────────────┐
                     │ Combined Verdict Fusion │
                     │  (Safety Override Tree) │
                     └────────────┬────────────┘
                                  │
              ┌───────────────────┴───────────────────┐
              ▼                                       ▼
     Telegram Verdict (Text)               Voice Note Audio (TTS)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  1. Deterministic Rule Layer
&lt;/h3&gt;

&lt;p&gt;Fast regex and fuzzy matching (&lt;code&gt;rapidfuzz&lt;/code&gt;) that catches:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lookalike/typosquatting domains imitating Pakistani institutions (&lt;code&gt;jazzcash-verify.xyz&lt;/code&gt;, &lt;code&gt;easypaisa-login.site&lt;/code&gt;, &lt;code&gt;hbl-update.net&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Direct numerical IP URLs and URL shorteners (&lt;code&gt;bit.ly&lt;/code&gt;, &lt;code&gt;tinyurl&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Urgency pressure phrases in Urdu script, Roman Urdu, and English (&lt;code&gt;account band ho jaye ga&lt;/code&gt;, &lt;code&gt;verify karein&lt;/code&gt;, &lt;code&gt;24 ghante&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Demands for OTP, PIN, CNIC, or direct cash transfers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Local LLM Layer (Ollama + Gemma)
&lt;/h3&gt;

&lt;p&gt;A fine-tuned prompt explaining nuanced Pakistani social engineering patterns (e.g. family emergencies, fake job lures) and outputting strict JSON with a 1-sentence elderly-friendly reason.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Verdict Fusion Logic
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Safety Principle:&lt;/strong&gt; Strong deterministic rule triggers (e.g. fake domain or OTP demand) always override the model if it mistakenly marked a message as safe.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hallucination Protection:&lt;/strong&gt; If the model flags a message without any rule hits, it requires high confidence (&amp;gt;= 0.85); otherwise, it is downshifted to "suspicious" rather than sounding a false alarm.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  5. Benchmark &amp;amp; Evaluation Results
&lt;/h2&gt;

&lt;p&gt;I built a dedicated evaluation harness (&lt;code&gt;eval/run_eval.py&lt;/code&gt;) to benchmark Chaukidar across real-world Pakistani messages:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Mode&lt;/th&gt;
&lt;th&gt;Accuracy&lt;/th&gt;
&lt;th&gt;Precision (Scam)&lt;/th&gt;
&lt;th&gt;Recall (Scam)&lt;/th&gt;
&lt;th&gt;F1-Score&lt;/th&gt;
&lt;th&gt;Avg Latency&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Rules Engine Only&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;100.0%&lt;/td&gt;
&lt;td&gt;100.0%&lt;/td&gt;
&lt;td&gt;100.0%&lt;/td&gt;
&lt;td&gt;1.000&lt;/td&gt;
&lt;td&gt;~0.2 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Combined (Chaukidar)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;100.0%&lt;/td&gt;
&lt;td&gt;100.0%&lt;/td&gt;
&lt;td&gt;100.0%&lt;/td&gt;
&lt;td&gt;1.000&lt;/td&gt;
&lt;td&gt;Local Inference&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  6. What I Learned &amp;amp; Open Source Takeaways
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Simplicity Over Complexity:&lt;/strong&gt; Building for an elder taught me that formatting and language matter just as much as model accuracy. A simple Roman Urdu sentence ("Yeh link nakli hai, is par click na karein") is infinitely more useful than technical security jargon.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deterministic Rules Are Essential:&lt;/strong&gt; Large language models can miss tiny single-character URL swaps. Pairing a rapid fuzzy domain matcher with local LLM reasoning provides the best of both worlds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local-First AI is Ready:&lt;/strong&gt; Running small open weights (Gemma) locally via Ollama means family privacy is 100% preserved with zero recurring API costs.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;Made with ❤️ for family security.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
      <category>hacktoberfest</category>
    </item>
    <item>
      <title>ProofGive: Give Openly, Without Exposing Who You're Helping</title>
      <dc:creator>Arbaz Shahbaz</dc:creator>
      <pubDate>Sat, 05 Sep 2026 11:44:03 +0000</pubDate>
      <link>https://dev.to/arbaz_shahbaz_03/proofgive-give-openly-without-exposing-who-youre-helping-3h5h</link>
      <guid>https://dev.to/arbaz_shahbaz_03/proofgive-give-openly-without-exposing-who-youre-helping-3h5h</guid>
      <description>&lt;h1&gt;
  
  
  ProofGive: a donation tracker that protects the people it's helping
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;Submission for the DEV Weekend Challenge: Generosity Edition · #weekendchallenge&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;ProofGive is a transparent, privacy-preserving donation ledger built for &lt;strong&gt;Kar Se Khar&lt;/strong&gt;, an NGO I volunteer with back home. It bridges the trust gap between donors and charitable organizations by recording transparent financial proofs on the &lt;strong&gt;Solana Devnet&lt;/strong&gt; while strictly safeguarding vulnerable beneficiaries from exposure.&lt;/p&gt;

&lt;p&gt;The application provides two clear interfaces:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Donor View (Default):&lt;/strong&gt; Donors connect their Phantom wallet, send donations on Solana Devnet tagged with on-chain memos, and verify public ledger activity updated straight from the chain.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Admin View:&lt;/strong&gt; NGO team members enter an administrative access gate to post verifiable distribution proofs (batch label, beneficiary count, and total SOL distributed) directly from the organization's wallet.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Donor View &amp;amp; Public Transparency
&lt;/h3&gt;

&lt;p&gt;Donors can donate directly on-chain and watch the ledger update in real time:&lt;/p&gt;

&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmp612xot9xun3z1892os.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmp612xot9xun3z1892os.png" alt="Donor View" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The privacy split: How it works
&lt;/h2&gt;

&lt;p&gt;Charity transparency often creates a dangerous trade-off: donors want accountability, but publishing recipient lists compromises the dignity and safety of vulnerable individuals. &lt;/p&gt;

&lt;p&gt;ProofGive resolves this by separating public commitments from private identity:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Public on Solana:&lt;/strong&gt; Every incoming donation and outgoing distribution summary (campaign name, recipient count, and total SOL) is written to Solana Devnet transactions via the SPL Memo program. Anyone can audit transaction hashes on Solana Explorer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Private in Browser:&lt;/strong&gt; Specific beneficiary identities and per-person allocations never get broadcast on-chain or saved in a remote database. The raw allocation notes are hashed (SHA-256) locally inside the browser. Only the cryptographic hash commitment goes on-chain, allowing the NGO to prove authenticity later without leaking personal data.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Admin Distribution Interface
&lt;/h3&gt;

&lt;p&gt;Admins post aggregated distributions while keeping individual breakdowns completely off-chain:&lt;/p&gt;

&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft9hkz434nw4krob91csw.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft9hkz434nw4krob91csw.png" alt="Admin View" width="800" height="499"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Public Ledger &amp;amp; On-Chain Verification
&lt;/h2&gt;

&lt;p&gt;The ledger reads directly from Solana Devnet with zero intermediaries, private databases, or hidden ledgers:&lt;/p&gt;

&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzcp7wvd3dqmxfpoqgonw.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzcp7wvd3dqmxfpoqgonw.png" alt="Public Ledger" width="800" height="315"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Blockchain:&lt;/strong&gt; Solana Devnet, &lt;code&gt;@solana/web3.js&lt;/code&gt;, SPL Memo Program&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wallet Integration:&lt;/strong&gt; Phantom Wallet&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cryptography:&lt;/strong&gt; Client-side Web Crypto API (SHA-256)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; Vanilla HTML5, Modern CSS, JavaScript (Zero build step, static server compatible)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Swap the local SHA-256 commitment for zero-knowledge proofs (zk-SNARKs) so the network can mathematically verify equitable distribution amounts without revealing individual figures.&lt;/li&gt;
&lt;li&gt;Implement production-grade key management and multi-signature authorization for admin proof submissions.&lt;/li&gt;
&lt;li&gt;Support recurring micro-donations via Solana token streams.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Source Code:&lt;/strong&gt; &lt;a href="https://github.com/Arbaz-Shahbaz03/Proofgive-Karekhar" rel="noopener noreferrer"&gt;https://github.com/Arbaz-Shahbaz03/Proofgive-Karekhar&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Team:&lt;/strong&gt; Solo build — &lt;a href="https://dev.to/arbazshahbaz03"&gt;@Arbaz-Shahbaz03&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
