RCR: Poway-Midland Railroad Digital Experience
RCR: Poway-Midland Railroad Digital Experience
Transforming the Poway-Midland Railroad from a static informational website into a dynamic, data-driven visitor platform — built by the RCR team as a Design-Based Research capstone.
Live Train Schedule & Departure Board
From static text table to live departure board
Original site: a plain HTML table listing dates and times only. No seat availability, no live status, no way to check ahead.
Our version connects to a Flask backend to show real seat counts for every departure. Visitors can check from home before driving out — reducing wasted trips and station crowding.
Online Reservation & Booking System
First-ever online reservation system for PMRR
Original site explicitly states: 'No online sales — tickets only available at the depot on ride days.' Visitors must show up and hope seats are available.
A complete end-to-end booking flow. Visitors pick their date, ride, and ticket count, and receive a confirmation code they show at the depot. The backend enforces seat limits in real time to prevent overbooking.
ML-Powered Visitor Forecast
A feature that does not exist anywhere on the original site
Original site: zero visitor volume information. No way to know how busy a given day will be before arriving.
Built from scratch using a Gradient Boosting Regressor (R²=0.93) predicting hourly visitor counts from weather, season, school calendar, and event data. Visitors plan smarter; staff prepares for busy days. With real PMRR attendance data, accuracy improves dramatically.
Interactive Fleet Encyclopedia
From plain text paragraphs to an interactive digital exhibit
Original site Equipment page: short text paragraphs per vehicle, no photos, no specs table, no filtering. Hard to navigate and not engaging.
Rebuilt as a card-and-modal system where every locomotive and railcar has its own visual profile with photos, technical specs, and a full restoration timeline.
Interactive History Timeline
From a wall of static text to an engaging interactive story
Original site History page: long unbroken paragraphs of text. No structure, no visuals, no interactivity — most visitors will not read it.
Reimagined as a layered interactive experience. Visitors click to explore each era at their own pace and uncover the story of how the 1907 Baldwin's true identity was hidden for decades.
Volunteer Crew Scheduling Portal
Replaced manual phone and paper coordination
Original site: a single 'Volunteer with us!' link leading to a contact form. No scheduling, no shift visibility, no coordination tools.
A self-service shift management system where volunteers see all upcoming operations, sign up, cancel, and track coverage — no coordinator phone calls required.
Events & Announcements Board
From an unformatted list to a searchable announcement board
Original site: events listed as plain bold text with no search, no filtering, no categories. Finding a specific event requires reading the whole page manually.
Rebuilt as a structured, filterable board. Visitors search by keyword or filter by category to find what they need in seconds.
360° Panorama & Interactive Route Map
Virtual access to the park — original site has nothing like this
Original site: no virtual tour, no map, no way to explore the railroad digitally before or after visiting.
Gives visitors a digital preview of the railroad — exploring the track, platform, and locomotives from any device. Especially valuable for schools, mobility-limited guests, and out-of-town visitors.
Visitor Notes & Community Board
A community sharing feature the original site has zero of
Original site: no visitor interaction, no community features, no way to share experiences online.
A lightweight community board where visitors post memories and photos from their ride. Creates social proof, builds community, and gives PMRR a living archive of visitor experiences.
AI Visitor Assistant
A 24/7 visitor guide — nothing like this on the original site
Original site: no help system, no FAQ interaction. Visitors must email or call volunteers for basic questions.
A floating AI assistant widget available on every page. Visitors get instant guidance on visiting, booking, history, or volunteering — reducing the volume of emails and calls volunteers handle.
Membership & Donation System
Digitised a membership process that was previously contact-only
Original site: 'Become a Member' leads to a contact form. Annual Family Pass ($50) listed on visit page but with no way to purchase online.
A self-service membership and donation portal. Supporters join or donate directly without contacting the railroad — lowering the barrier to supporting a non-profit that depends on community funding.
👍 What Went Well
- We did well in having conversations with our guests — engaging with them in a friendly and natural way, which created a positive atmosphere.
- We managed our time effectively throughout the presentation and interaction, ensuring smooth transitions between topics and respecting the overall schedule.
📝 What Needs Improvement
- We didn't prepare enough on organizing our words when presenting or explaining features.
- Although we invested significant effort in preparing the schedule system, our guests showed more interest in other functions of the website. This taught us that we should better align our preparation with user expectations.
💬 Key Feedback Received
- PMRR Worker Feedback: GPS tracking feature may not be necessary — site is small and visitors can easily see the train coming.; AI is really useful because a lot of people ask many questions every day, taking up workers' time. We should put more attention on improving the AI.
- Google Reviews of Poway-Midland RR: Reading what real users say helps make the website more user-friendly.; Examples: make the news easier to update, so the worker and visitors can work and have fun more convenient.
📋 Future Plan for Our Website
- ✅ Add functionality on admin page to easily update train schedules and news.
- ❌ Remove the planned GPS tracking system — not needed for this context.
- ✅ Regularly check online comments and reviews of PMRR to guide future improvements.
🎯 Conclusion
Overall, we had a great time with our guests. The experience was not only enjoyable but also highly educational. We learned to listen more closely to user needs, to validate technical ideas before building them, and to use real feedback — from both workers and online reviews — to build a simpler, more useful website.
Next-Phase Features
These features are technically ready for development. Each requires access to PMRR hardware, data, or operational coordination that a formal partnership would provide.
Live Camera Feed
A live video stream from the station platform so visitors can watch operations remotely. Requires a camera and stable network connection installed at Old Poway Park.
ML Forecast with Real Attendance Data
Our current model uses weather and calendar proxies. With actual PMRR ticket sales and headcount records, model accuracy would increase substantially — giving staff genuinely actionable predictions.
Full LLM-Powered AI Assistant
Upgrade our rule-based assistant to a live language model connected to real park data — answering complex questions about schedules, history, and accessibility with accurate, up-to-date answers.
School & Group Booking Portal
A dedicated booking flow for schools and community groups with custom pricing tiers, group size management, and direct coordinator communication — replacing the current phone-based group process.
Staff Login & Management Dashboard
Flask-Login authentication framework — manages staff sessions, protects restricted routes, and prevents unauthorized access to administrative tools. SQLite user credential store — maintains staff account records and verifies login credentials during authentication. Reservation management interface — queries the reservations database and displays customer booking records, ticket quantities, departure details, and confirmation codes. Volunteer records dashboard — retrieves volunteer sign-up data from the database and presents staffing information for upcoming operating days.