Friends of the Poway Library
Rebuilding the Friends of the Poway Library website with a live events calendar, volunteer portal, donation flow, and impact dashboard to match the quality of their community mission.
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.
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
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.