Inspiration

What it does

How we built it

Challenges we ran into

Accomplishments that Campus Pulse 📡 is a newsletter-style web app where Bangladeshi university students share campus news: scholarships, internships, research, notes, skills, and events.

Problem: Opportunity news is scattered across Facebook groups and Messenger, so deadlines get missed and useful info gets lost.

How it works: When someone posts, Gemma AI automatically writes a 2-line Bangla summary, assigns a category, and generates a Bangla Weekly Digest newsletter (with share link and copy button).

Features:

Feed with category/university filters, search, and deadline badges (red/yellow/green, gray when expired) Mobile-first UI with Bangla typography, loading skeletons, and empty/error states Security: honeypot, rapid-submit block, IP rate limiting, length limits, http/https links only Keyword-based fallback if the AI is down, so posting never breaks

Stack: Next.js 16, Tailwind CSS v4, Supabase (PostgreSQL), @google/genai, Vercel

Setup: Run npm install, create .env.local from .env.example, run supabase.sql in Supabase, then npm run dev.

Env vars: GEMINI_API_KEY (server-only), NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY

Note: Gemma 4 E4B is an open-weight model, called here through the Google AI Studio API rather than self-hosted. If you get a 404, update the model ID in lib/ai.ts.we're proud of

What we learned

What's next for Campus Pulse

Built With

  • css
  • next.js
  • tailwind
Share this project:

Updates

Submission history