Skip to content

Debyte404/Obscura

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

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:

Component Technology Role
Frontend Next.js 15+ Modern, performant React framework
Styling Tailwind CSS 4 Utility-first styling for premium design
Database MongoDB Flexible NoSQL data storage
Authentication Firebase Auth Secure Google OAuth integration
AI / Intelligence Google Gemini API Matching logic, Avatar gen, and AI Therapy
UI Components Radix UI / Shadcn Accessible, high-quality UI foundations
Animations Framer Motion Smooth, 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:

# MongoDB
MONGODB_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=...

# Gemini
GEMINI_API_KEY=your_gemini_api_key

3. Installation & Run

# Navigate to code directory
cd 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

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors