A campus study spot discovery, rating, and group matching app for students.
Huddle helps students discover and evaluate study locations on campus, find compatible study groups, and get personalized recommendations. Users can explore maps of study spots, rate them on multiple metrics (noise, seating, lighting, power, WiFi, crowdedness, etc.), and review community insights.
- Study Spot Discovery — View study locations on a map or list with details like noise level, WiFi quality, and seating availability
- Ratings & Reviews — Rate study spots across multiple metrics and leave notes for the community
- Study Group Formation — Join or create study groups based on shared preferences and availability
- Location Recommendations — Groups receive recommended spots based on aggregated preferences
- User Profiles & Preferences — Set study preferences to power matching and recommendations
- Search & Filtering — Filter spots by criteria (quiet, has outlets, open late, etc.)
| Layer | Tools |
|---|---|
| Frontend | React, TailwindCSS |
| Backend | Node.js (Serverless / API Routes) |
| Database & Auth | Firebase (Firestore, Auth) |
| Hosting | Vercel |
| Data / Logic | JavaScript / TypeScript |
- Node.js (v18+)
- npm or yarn
- Firebase project configured
git clone https://github.com/parsa-faraji/Huddle.git
cd Huddle
npm installCopy the example env file and fill in your Firebase credentials:
cp .env.example .env.localnpm run devUse this when you want to initialize the backend pipeline end to end on Vercel.
mkdir -p api
cat > api/hello.js <<'EOF'
module.exports = (req, res) => {
res.status(200).json({ ok: true, message: "hello world" });
};
EOFCreate package.json in the repo root:
{
"name": "huddle",
"private": true,
"type": "commonjs",
"engines": { "node": ">=18" },
"scripts": {
"dev": "vercel dev",
"deploy": "vercel --prod"
},
"devDependencies": {
"vercel": "^48.0.5"
}
}npm install
npm run devOpen http://localhost:3000/api/hello and confirm:
{"ok":true,"message":"hello world"}git add .
git commit -m "Scaffold Vercel Node API hello world"
git push origin main- Vercel Dashboard ->
Add New Project - Import this GitHub repo
- Framework Preset:
Other - Root Directory: repo root
- Click
Deploy
Open:
https://<your-vercel-domain>/api/hello
If this works, the backend deployment pipeline is wired correctly.
Huddle/
├── public/ # Static assets
├── src/
│ ├── components/ # Reusable UI components
│ ├── pages/ # Page-level components / routes
│ ├── hooks/ # Custom React hooks
│ ├── services/ # Firebase & API service layer
│ ├── utils/ # Helper functions & matching logic
│ ├── styles/ # Global styles
│ └── App.jsx # App entry point
├── .env.example # Environment variable template
└── package.json
Built by the Huddle team — 8-12 members across frontend, backend, design, and data.
This project is for educational purposes.