##Inspiration The idea was born from the chaos of our college WhatsApp groups. We noticed a recurring pattern: a student would ask for a small favor—like needing a charger or a printout—and the message would get buried under hundreds of chat replies. We realized university campuses are full of two types of people: students who are "time-poor" (need help) and students who are "cash-poor" (want pocket money). Existing apps like TaskRabbit are too expensive and broad for campus life, and WhatsApp is too disorganized. We wanted to build a bridge between them, inspired by the "Quest" systems in video games where tasks are clear, rewarding, and instant.

What it does

Campus "Side Quest" is a hyper-local, real-time micro-tasking platform designed exclusively for university students.

For Posters: It allows students to post a "Quest" (errand) with a specific reward and location.

For Runners: It provides a live feed of open tasks. Students can "Accept" a quest, which instantly locks it to them so no one else can take it.

Gamification: It turns chores into a game. Completing tasks earns money and increases a user's "Reputation Score," unlocking higher-tier quests.

Safety: It creates a "fenced" ecosystem where only users with verified college email IDs can participate.

How we built it

We prioritized a lightweight, rapid-response architecture:

Backend: We used Python (Flask) for its robust handling of API endpoints and database logic.

Database: We utilized SQLite/SQLAlchemy to manage relational data between Users and Tasks.

Real-Time Logic: Instead of heavy WebSockets, we implemented AJAX Short Polling in Vanilla JavaScript. The client polls the server every 2 seconds to refresh the "Quest Feed" instantly.

Concurrency: We wrote specific backend logic to handle "Race Conditions"—ensuring that if two people click "Accept" at the same time, the database atomically locks the task for the first request and denies the second.

Challenges we ran into

The Race Condition: The biggest technical hurdle was preventing double-booking. In early logic, two users could accept a task simultaneously. We had to implement strict state-checking (Atomic Locking) in the database transaction to solve this.

Trust & Safety: Designing a system that feels safe for students. We had to decide how to verify users without a complex KYC process, leading us to the ".edu email" verification strategy.

Real-Time Latency: Making the app feel "instant" without overloading the server. Tuning the AJAX polling interval to balance server load vs. user experience was a key challenge.

Accomplishments that we're proud of Solving the "Tragedy of the Commons": We successfully moved task requests from chaotic group chats to a structured, organized database.

The "Locking" Mechanism: Successfully implementing the logic that allows a user to "claim" a task instantly, updating the UI for everyone else in real-time.

The UI/UX: moving away from boring corporate designs to a "Cyberpunk/Gamer" aesthetic that actually appeals to Gen Z students.

What we learned

Full Stack Integration: We learned how to tightly couple a Python backend with a dynamic JavaScript frontend.

Database Integrity: We gained a deep understanding of why transactional integrity matters when money or commitments are involved.

Product-Market Fit: We learned that students value speed and convenience over almost anything else.

What's next for Campus "Side Quest"

UPI Integration: Integrating India's Unified Payments Interface for seamless, instant peer-to-peer payments upon task completion.

WebSockets: Upgrading from AJAX polling to full WebSockets (using Flask-SocketIO) for true, bi-directional real-time communication as we scale.

AI Matching: Using simple ML to notify specific "Runners" about tasks they prefer (e.g., notifying Computer Science students when a coding-help task appears).

Built With

  • concurrency-safe
  • paired-with-a-performance-optimized-vanilla-javascript-frontend-that-utilizes-ajax-polling-to-deliver-real-time
  • task
  • we-engineered-the-platform-using-a-robust-python-flask-backend-to-handle-atomic-database-transactions
Share this project:

Updates