Skip to content

Latest commit

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Obscura

Obscura Hero Image

Solving Solitude, One Connection at a Time.

Obscura is a privacy-first social platform designed to combat loneliness among students. By leveraging advanced AI-based matching and anonymous communication, we create a safe space for students to discover like-minded peers and build meaningful connections without the pressure of social identity.


✨ Features

  • 🤝 AI-Powered Matching: Our unique algorithm uses Google Gemini to analyze user personas, interests, and "vibes" to create natural, high-compatibility matches.
  • 🎭 Anonymous Interaction: Your identity remains hidden until you're ready to share. Discover new people based on personality, not profiles.
  • 🧘 AI Therapy: An empathetic, professional-grade AI counselor (powered by Gemini) provides a safe, non-judgmental space for students to express their feelings.
  • 👤 Dynamic Avatar Generation: Auto-generate unique, personality-driven avatars using AI analysis of your profile tags and introduction.
  • 🔐 Seamless Google Auth: Quick and secure sign-in using Google OAuth.

🛠️ Tech Stack

Built for the GDG Hackathon, showcasing the power of Google Cloud products:

ComponentTechnologyRole
FrontendNext.js 15+Modern, performant React framework
StylingTailwind CSS 4Utility-first styling for premium design
DatabaseMongoDBFlexible NoSQL data storage
AuthenticationFirebase AuthSecure Google OAuth integration
AI / IntelligenceGoogle Gemini APIMatching logic, Avatar gen, and AI Therapy
UI ComponentsRadix UI / ShadcnAccessible, high-quality UI foundations
AnimationsFramer MotionSmooth, premium micro-animations

🏗️ Architecture

The following diagram illustrates the high-level architecture of Obscura:

graph TD
User((User)) <--> NextJS[Next.js App Router]
NextJS <--> Firebase[Firebase Auth / OAuth]
NextJS <--> MongoDB[(MongoDB)]
NextJS <--> Gemini[Google Gemini API]
subgraph AI Processing
Gemini --> Match[Matchmaking Engine]
Gemini --> Avatar[Avatar Generator]
Gemini --> Therapy[AI Therapist]
end
Loading

Matchmaking Workflow

  1. Base Scoring: Filters candidates by location, language, and shared tags.
  2. AI Layer: Gemini analyzes user "introductions" vs "preferences" to assign a compatibility score.
  3. Randomization: Adds a natural variability element to the top-tier candidates.
  4. Execution: Creates a secure, ephemeral chat room for the matched pair.

🚀 Self-Hosting Guide

Want to run Obscura on your own? Follow these steps:

1. Prerequisites

2. Environment Setup

Create a .env.local file in the code directory with the following variables:

# MongoDBMONGODB_URI=your_mongodb_connection_string# Firebase (Client & Admin)NEXT_PUBLIC_FIREBASE_API_KEY=...NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=...NEXT_PUBLIC_FIREBASE_PROJECT_ID=...FIREBASE_PROJECT_ID=...FIREBASE_CLIENT_EMAIL=...FIREBASE_PRIVATE_KEY=...# GeminiGEMINI_API_KEY=your_gemini_api_key

3. Installation & Run

# Navigate to code directorycd code
# Install dependencies
pnpm install
# Start development server
pnpm dev

👨‍💻 Credits

Obscura was built with ❤️ by the Syntax Error team:

  • Debyte
  • Shams
  • Astitva

About

anonymous community to fix yourself

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages