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 on the catalog page (Groq API as fallback)
- ✓ Deployed full authentication: sign-in, account registration, JWT tokens, localStorage session management, and admin role gating
- ✓ 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 bookstore hours
- ✓ Implemented an Events Calendar on the home page with admin controls for creating and managing library events
- ✓ Added tree/nature-themed hero decorations site-wide and a persistent auth nav that shows the logged-in user's name on every page
- ✓ Built a server-rendered admin dashboard at /fopl/admin — registered users table, book catalog breakdowns by age group and condition, per-game session and win-rate stats, and calendar event count. JWT-gated, admin-only
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 redirected 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 with JWT tokens, user profiles with game streaks, an admin dashboard, 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, semantic HTML) opens the site to seniors and families — the library's core audience
Planned Features
Book Scan — Add to Catalog
Volunteers scan a book's barcode or ISBN with their phone camera to instantly add it to the online catalog — no manual data entry. Title, author, and cover art pulled automatically.
Book Scan — Remove on Sale
When a customer buys a book, staff scan it again to automatically remove it from the catalog and decrement inventory — keeping the online listing in sync with the physical shelf in real time.
AI Chatbot
A conversational AI assistant embedded on the site to help visitors find books, answer questions about the library, and guide them through available resources and events.
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.
Admin Dashboard
Server-rendered dashboard at /fopl/admin showing registered users, book catalog breakdowns by age group and condition, per-game session and win-rate stats, and total event count. JWT-gated, admin-only.
Contact + Map
Contact page with embedded Google Map, social media links, address, phone, email, and bookstore hours. Get Involved card with volunteer CTA.