Skip to content

rida-118-sam/SD009

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

111 Commits
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“± infiScroll – Infinite Feed Recommendation Web App

infiScroll is a sleek, scroll-based content recommendation app designed to deliver an endless stream of personalized posts β€” including Photos. With smart onboarding, dynamic themes, and an intuitive UI, it's built for users who crave simplicity without sacrificing discovery.

πŸ”— Live Demo: Try it on Vercel


πŸ“– Table of Contents


# 🎯 Objective

To solve content fatigue by offering a recommendation-driven, clean, and infinite scroll experience tailored to individual interests β€” all in one beautiful UI.


# ✨ Key Features
  • ♾️ Infinite Feed – Seamlessly loads more posts as you scroll.
  • πŸ” Smart Recommendations – Posts based on selected interests (coming in final version).
  • 🧠 Category Tabs – Filter content across: Photos.
  • ❀️ User Interaction – Like, Save, Skip, and View Later functionality.
  • πŸ“± Onboarding & Preferences – Personalized category selection during login.
  • πŸŒ— Theme Toggle – Switch between Light and Dark mode.
  • πŸ“Ά Responsive Design – Optimized for both desktop and mobile.

## 🧠 Tech Stack
LayerΒ  Β  Β  Β  Β  TechnologiesΒ  Β  Β  Β  Β  Β  Β 
FrontendΒ  Β  Β  Β  React.js, Tailwind CSSΒ  Β 
BackendΒ  Β  Β  Β  Node.js, Express.jsΒ  Β  Β  Β 
DatabaseΒ  Β  Β  Β  Firebase FirestoreΒ  Β  Β  Β 
AuthΒ  Β  Β  Β  Β  Β  Firebase Google Sign-InΒ  Β 
DeploymentΒ  Β  Β  Vercel (Frontend),

## πŸ› οΈ How to Run Locally

1. Install Dependencies

npm install

## πŸ› οΈ How to Run Locally

### 1. Install Dependencies
```bash
npm install

2. Configure Firebase

Add your Firebase config to a .env file:

VITE_API_KEY=your_api_key
VITE_AUTH_DOMAIN=your_auth_domain
VITE_PROJECT_ID=your_project_id
VITE_STORAGE_BUCKET=your_storage_bucket
VITE_MESSAGING_SENDER_ID=your_messaging_sender_id
VITE_APP_ID=your_app_id

3. Start the App

npm start

# πŸ“‚ Folder Structure
infiScroll/
β”œβ”€β”€ public/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ pages/
β”‚   β”œβ”€β”€ assets/
β”‚   β”œβ”€β”€ hooks/
β”‚   β”œβ”€β”€ App.jsx
β”‚   └── main.jsx
β”œβ”€β”€ .env
β”œβ”€β”€ package.json
└── README.md

πŸ§ͺ Challenges Faced
  • Integrating Firebase Auth with persistent state
  • Conditional theme rendering across components
  • Designing mobile-first responsive cards
  • Managing scroll-based content rendering
  • Syncing "Liked" & "Saved" states with Firebase

πŸ‘₯ Team
Name Role
Aayush Bhaiya Mentor
Suhani Team Leader
Krisha Developer
Rida Developer
Shambhavi Developer

## πŸ“Š Analytics & Engagement Tracking

We use Firebase Analytics and custom event logging to better understand user behavior and continuously improve the platform.

🎯 Tracked Events

Event Name Trigger Location Description
onboard_complete Onboarding Page User completed initial setup
content_view Explore Feed User viewed a content card
like_post Post Card User liked a specific post
save_post Post Card User saved a post to favorites
upload_content Upload Page User uploaded their own media
scroll_depth Explore Page Measures how deep the user scrolls
toggle_theme Settings Page User toggled between Light/Dark mode

πŸ“ˆ Insights

  • We use this data to:
    • Prioritize popular categories (e.g., SPORTS, TECH)
    • Monitor active user sessions per day
    • Track how much content users actually scroll through
    • Optimize which uploads get promoted first

πŸ” All analytics are anonymized and comply with Firebase's data privacy standards.

# πŸš€ Project Submission

Built with ❀️ by Team SD_009 for IITI Summer of Code 2025

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •