Project: Pata

The All-India Lost & Found Network - Technical Dashboard

Our Vision

To create India's largest, most trusted, and community-powered network for lost and found items, leveraging technology to foster civic responsibility and reunite people with their valued belongings.

Our Mission

To build a scalable, multilingual, and hyperlocal mobile-first platform that incentivizes participation, ensures security, and delivers significant social impact through high-priority alert systems.

Live Geolocation Demo

Click the button to fetch your approximate location based on your IP address. This demonstrates our ability to geo-tag posts for a hyperlocal experience.

This is a demo and does not store your location data.

System Architecture

We will adopt a modern, serverless architecture to ensure scalability, rapid development, and cost-effectiveness. The architecture is composed of four main layers demonstrated by the flow below.

Frontend

Client-Side

Backend

Serverless Logic

Database & Services

Cloud Platform

Technology Stack

Next.js (React)

Frontend Framework

Offers server-side rendering, static site generation, and a robust routing system for a seamless user experience.

Tailwind CSS

Styling

A utility-first CSS framework for building beautiful, custom, and responsive designs quickly.

TypeScript

Language

Provides type safety, leading to better code quality, easier maintenance, and fewer bugs.

Firebase

Backend as a Service

An all-in-one platform providing Firestore DB, Auth, Cloud Functions, and Storage.

Google Translate API

Translation Service

Enables the seamless, one-click translation feature to break down language barriers across India.

Razorpay / Stripe

Payment Gateway

For secure processing of bounty payments and payouts to "Hunters," including escrow services.

Database Schema (Cloud Firestore)

`users` collection

Stores public and private information for each user.

{
  "uid": "string",
  "email": "string",
  "displayName": "string",
  "role": "seeker" | "finder" | "hunter",
  "karmaPoints": "number",
  "location": { "city": "string", "state": "string" },
  "isHunterVerified": "boolean",
  "createdAt": "timestamp"
}

`items` collection

The core collection for all lost and found item listings.

{
  "title": "string",
  "description": "string",
  "category": "electronics" | "documents" | "pets",
  "status": "open" | "claimed" | "closed",
  "type": "lost" | "found",
  "imageUrl": "string",
  "location": { "address": "string", "geo": { ... } },
  "ownerId": "string",
  "finderId": "string" | null,
  "bountyAmount": "number",
  "isHighPriority": "boolean",
  "createdAt": "timestamp"
}

`claims` collection

Manages the handover process between a Seeker and a Finder.

{
  "itemId": "string",
  "seekerId": "string",
  "finderId": "string",
  "status": "pending" | "accepted" | "completed",
  "verificationProofUrl": "string",
  "handoverQRCode": "string",
  "createdAt": "timestamp"
}

Implementation & Team Roles

Team Roles & First Steps

Frontend Lead (2 Devs)

Focus: Building the UI/UX in Next.js & Tailwind CSS. Create components, set up navigation and state management.
First Step: Build the "Post an Item" form and the main grid view.

Backend Lead (1-2 Devs)

Focus: Firebase setup and Cloud Functions. Define security rules and write core functions.
First Step: Set up Firebase Authentication and the function to add new items to Firestore.

Product/API Lead (1 Dev)

Focus: Third-party integrations and product logic. Manage API keys and define data flows.
First Step: Get Google Translate API working and set up a Razorpay developer account.

Hackathon Goal

Build a working prototype that demonstrates the core loop: A user can post a lost item with a photo, and another user can see it on a real-time feed.

Hunter Verification Flow

A user applies from their profile. A Cloud Function calls a KYC API (e.g., Signzy) with the uploaded documents. On success, the user's role is updated to 'hunter' and `isHunterVerified` is set to true.

Pata Alert System

When an item is created with `isHighPriority: true`, a Cloud Function triggers. It queries users within a 50km radius and sends a targeted push notification via Firebase Cloud Messaging with the item details.

Bounty & Escrow System

A Seeker pays a bounty via Razorpay/Stripe. A webhook triggers a Cloud Function to mark the bounty as "funded." After the secure QR code handover is verified, another function is called to release the payment to the Hunter.