Design-Based Research Capstone · CSP

Friends of the Poway Library

A full-stack redesign of powayfriends.org — replacing dead history pages, placeholder images, and a 'Watch this space for 2025' banner with a live book catalog, gamification hub, volunteer flow, and a deployed Flask backend.

Live Team: Shayan Bhatti, Arnav Pallapotu, Tanay Paranjpe Boolean-Boyz · Poway, CA
8+ Live pages deployed
6 Interactive games built
10+ REST API endpoints
1978 Organization founded
Friends of the Poway Library — capstone project infographic
Live
Project Team Shayan Bhatti · Arnav Pallapotu · Tanay Paranjpe

Friends of the Poway Library

Nonprofit Website Redesign & Community Engagement Hub

  • Built a live Book Catalog with search, filter by age group and condition, sort by price/title/author, full admin CRUD, and a Book Detail modal — all connected to a Flask REST API
  • Integrated a Gemini AI chat interface for personalized book recommendations directly on the catalog page (Groq as fallback)
  • Deployed full authentication: sign-in and account registration with JWT tokens and localStorage session management
  • Created a Gamification Hub with 6 live games: PinShelf (daily word game), Book Trivia, Word Scramble, Library Shelf Run (arcade), Network Stack Challenge, and OSI Layers RPG
  • Built user profiles with game statistics — Wordle streaks, guess distribution chart, XP level progression across all six games
  • Rebuilt the History page with a real organizational timeline: founding in 1978, first used book sales in the 1980s, permanent bookstore in the 1990s, expanded programming through today
  • Created a Newsletters archive with The Open Book PDF viewer and quarterly issue cards going back to 2023
  • Built a Contact page with embedded Google Map, social media links (Facebook, Instagram, X, Yelp), address, phone, email, and hours
  • Implemented an Events Calendar on the home page with admin controls for creating and managing library events
  • Flask backend (bb-flask) provides REST endpoints for auth, book catalog CRUD, AI recommendations, and puzzle/game stats — CORS-enabled for GitHub Pages frontend
Jekyll (GitHub Pages) Flask + Python SQLAlchemy JavaScript (ES6+) HTML / CSS Gemini API Groq API (AI fallback) Flask-RESTful JWT Auth Lato + Cabin (Google Fonts)

The Friends of the Poway Library is a volunteer-run 501(c)(3) nonprofit that operates a used bookstore at 13137 Poway Rd, funds library programs, and hosts 400+ annual events. Their old site had a History page with no actual history, events that redirect away to the county library, and a volunteer CTA that just said 'email us.' This capstone rebuilt the entire site: a live book catalog with AI recommendations, a gamification hub with six interactive games, full authentication, user profiles with game streaks, and a Flask/SQLAlchemy backend.

  • Book catalog makes the bookstore's inventory searchable online for the first time — visitors can browse titles before they walk in
  • AI recommendations connect readers to books they'll want, increasing engagement and bookstore revenue for the library
  • Six gamified challenges reward library engagement, driving repeat visits and time on site
  • Real authentication and profiles give volunteers and donors a persistent presence instead of a dead 'email us' CTA
  • Rebuilt history and About content establishes organizational credibility for new donors and grant applications
  • Newsletter archive gives the community access to The Open Book publications without digging through their inbox
  • Events calendar embedded on-site means visitors no longer leave to the county library system to find Storytime, Tai Chi, or Chess Club
  • Accessible design (ARIA labels, keyboard navigation) opens the site to seniors and families — the library's core audience

Live Features

📚

Book Catalog

Search, filter by age group and condition, sort by price/title/author. Admin CRUD with Book Detail modal. Connected to Flask REST API.

🤖

AI Recommendations

Gemini-powered chat interface on the catalog page. Ask for book recommendations by genre, age group, or mood. Groq API as fallback.

🎮

Gamification Hub

Six interactive games: PinShelf (daily word), Book Trivia, Word Scramble, Library Shelf Run (arcade), Network Stack Challenge, OSI Layers RPG.

🔐

Authentication

Full sign-in and registration system. JWT tokens, localStorage session management, and protected routes. Backend: /api/fopl/login and /api/fopl/register.

👤

User Profiles

Profile pages with game stats: Wordle streaks, guess distribution, XP level, sessions played, and win rate across all six games.

📅

Events Calendar

Embedded events calendar on the home page with admin controls. No more redirecting visitors to the SD County Library system to find Storytime or Chess Club.

📰

Newsletter Archive

"The Open Book" quarterly issues with inline PDF viewer and issue grid cards going back to 2023. Membership callout section.

🗓️

History + Timeline

Rebuilt the History page with a real organizational timeline: founding in 1978, used book sales in the 1980s, permanent bookstore in the 1990s, through today.

📍

Contact + Map

Contact page with embedded Google Map, social media links, address, phone, email, and bookstore hours. Get Involved card with volunteer CTA.

Boolean-Boyz GitHub Organization