Inspiration

Too many hangouts die in the group chat. Even when people meet, the plan fizzles and everyone just… scrolls. SideQuest nudges you off the couch with fun, low-friction prompts that fit your vibe, your location, and your day—so “we should do something” actually turns into doing something.

What it does

SideQuest is a social-location game that drops three daily “quests” tailored to your interests and where you are. One quest is always a free, low-barrier option (e.g., “5-minute campus walk”). You can:

Match with nearby players to go on random sidequests (opt-in, consent-first). Sidequests inspired by common interests, or completely random!

See safe meet spots on a map, complete a quest, and post a quick proof (photo/text).

Earn points, climb a weekly leaderboard, and collect streaks/badges.

Get safety-aware recommendations (daylight hours, public spaces, no risky prompts) with built-in content moderation.

How I built it

  • App: React Native (Expo) with a clean, swipeable quest UI and a map view.
  • Auth: Auth0 for passwordless login and account linking.
  • AI: Gemini (1.5-pro) generates personalized, context-aware quests; a safety pass filters anything edgy.
  • Agent Logic: Agentuity orchestrates prompt pipelines, tracing, and retries.
  • Backend (serverless): AWS API Gateway + Lambda for APIs.
  • Data: DynamoDB
  • Users (PK: userId) → name, username, email, interests, safety prefs, stats
  • Photos (PK: picId, GSI: userId) → userId, s3Key, createdAt, questId
  • Media: S3 for proof uploads; presigned URLs from the API.
  • Scheduling: EventBridge/CloudWatch to drop quests at local morning time.
  • Maps: Mapbox/OpenStreetMap for POIs and geofencing.
  • Observability: Traces via OpenTelemetry (you’ll see quest generation spans in the console).

Challenges I ran into

  • SOLO HACKATHON 😭
  • Getting geofencing accurate without crushing battery life.
  • Balancing spontaneity with safety (tone-checking quests, daylight rules, public-place bias).
  • Reducing “cold start” moments when few users are nearby (solo/async quests as a fallback).
  • Mobile quirks: iOS location permissions timing, expo config plugin rough edges, and the classic “Network request failed” on simulators.
  • And in case I didn't mention, SOLO HACKATHON 😭

Accomplishments that I'm proud of

  • End-to-end flow in a weekend: profile → quests → match → proof → leaderboard.
  • A quest generator that respects interests and safety constraints.
  • Clean, serverless infra with cheap scaling and simple deploys, all architected by myself.
  • A UX that makes doing one tiny thing today feel rewarding (streaks actually stuck in tests).

What I learned

  • Constraints make it fun: three choices beat an infinite feed.
  • Safety-by-design (public spaces, daylight bias, moderation) builds trust and retention.
  • People love cozy quests—low effort, immediate payoff.
  • Presigned S3 uploads keep mobile snappy and secure; DynamoDB GSIs make feeds fast.

What’s next for SideQuest

  • Campus pilot: clubs + RA events as featured quests.
  • Richer social: squads, shared streaks, and “duo quests.”
  • IRL partners: cafés/parks for themed quests and rewards.
  • Offline & travel modes: locationless quests when you’re on the move.
  • Main quest arc: multi-day chains that unlock badges and real perks.
Share this project:

Updates