How we built it I developed the app using TypeScript with React Native and Expo for the mobile frontend. For authentication, database storage, and edge functions, I integrated Supabase. The backend API was built using NestJS, which handles threat-checking by interfacing with Google Safe Browsing, PhishTank, and internal ML logic powered by AI models like ChatGPT.
The app supports:
Magic link login (via Supabase) Guest access with limited features History of scanned links AI-based threat summaries Clean UI built with dark mode support Challenges we ran into Integrating real-time URL scanning APIs and handling rate limits from services like Google Safe Browsing. Creating a seamless magic link login flow across platforms. Combining multiple AI outputs (ChatGPT, Claude, Gemini) into one meaningful summary for the user. Ensuring the app remains lightweight while still being powerful in its detection capabilities. Accomplishments that we're proud of Built and shipped a full-stack mobile app as a solo developer. Integrated multi-AI models into a single pipeline to analyze malicious content in scanned QR links. Designed a user-friendly interface with both guest and authenticated modes. Enabled real-time protection using only open-source and developer-first tools. What we learned Efficiently combining AI models like ChatGPT, Claude, and Gemini for a single task. The power of Supabase for quickly adding secure, scalable backend features. The importance of UI/UX when building cybersecurity tools for non-technical users. How essential URL safety is in the modern digital landscape—and how underprotected users are. What's next for QRGuard The roadmap for QRGuard includes:
SMS Scan: Detecting suspicious links in SMS content automatically. Payment Scan: Validating UPI/payment QR codes to protect against financial fraud. Push notifications for newly discovered threats in previously scanned links. Browser extension to scan QR codes and links directly on the web. Local ML models for faster and offline-first threat detection.
Built With
- expo.io
- nestjs
- react-native
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.