A web-based application for teaching critical evaluation of scientific research through interactive peer assessment.
Unlock the Lab is an educational tool designed to develop science literacy by training participants to evaluate research quality using evidence-based criteria. The application presents fictional research scenarios and challenges users to predict peer consensus on research quality, creating an engaging environment for learning to distinguish rigorous science from sensationalized claims.
- Develop critical thinking skills for evaluating scientific claims
- Understand research quality indicators (methodology, data transparency, publication practices)
- Recognise barriers to accessing scientific knowledge (paywalls, predatory publishing)
- Practice objective assessment independent of title framing
- Build consensus evaluation skills through peer comparison
- Interactive Workshop Flow: Guided progression through educational content, evaluation rubric, and 48 fictional research scenarios
- Dual Assessment System: Participants rate both research quality (1-7 scale) and predict peer consensus
- Real-time Leaderboard: Rankings based on prediction accuracy with 24-hour and all-time views (top 200)
- Live Analytics Dashboard: Public visualisation of aggregate ratings, participant statistics, and study-level metrics with 95% confidence intervals
- Anonymous Participation: Automatic assignment of unique usernames (e.g., "Cheerful Penguin") for data privacy
- Comprehensive Glossary: 21 scientific terms with accessible definitions, available throughout the activity
- Real-time data synchronisation via Firebase Realtime Database
- Responsive design for desktop and mobile devices
- Interactive data visualisations using Chart.js
- Session timeout management (30-minute initial limit, extendable to 2 hours)
- Active participant tracking (60-second activity window)
- Percentage-based scoring system (0-100% per study, aggregate score)
- Email/password authentication for admin access
- Session management controls (end all active sessions)
- Firebase usage monitoring (concurrent connections, storage, session count)
- Study detail modals with paper information and DOI links
- Sortable statistics table with colour-coded metrics
- HTML5, CSS3, JavaScript (ES6+)
- Chart.js 4.4.0 (data visualisation)
- Vite 5.4.21 (build tool)
- Firebase Realtime Database (data storage and synchronisation)
- Firebase Authentication (admin access control)
- Firebase Hosting (deployment)
/ratings/{sessionId}/{studyId} - Individual study ratings
/active/{sessionId} - Active participant timestamps
/leaderboard/{sessionId} - Completed session scores
- Node.js (v16 or higher)
- npm or yarn
- Firebase project with Realtime Database and Authentication enabled
- Clone the repository:
git clone https://github.com/pablobernabeu/Unlock_the_Lab.git
cd Unlock_the_Lab- Install dependencies:
npm install-
Configure Firebase:
- Create a Firebase project at https://console.firebase.google.com
- Enable Realtime Database and Email/Password Authentication
- Copy your Firebase configuration to
firebase-config.js
-
Run development server:
npm run dev- Build for production:
npm run build- Deploy to Firebase:
firebase deploy --only hosting- Navigate to the application URL
- Review the educational content, glossary, and rubric
- Evaluate 48 research scenarios by rating quality (1-7) and predicting peer ratings
- Receive immediate feedback on prediction accuracy
- View final score and leaderboard position upon completion
- Access admin panel via the Admin link (bottom right corner)
- Sign in with configured email and password
- Monitor real-time participant activity and Firebase usage
- Manage active sessions as needed
- View detailed analytics on the public dashboard
- Per-Study Score:
100 - |predicted_rating - actual_average| × 12(capped at 0-100) - Aggregate Score: Sum of all 48 study scores
- Percentage Display:
(total_score / (num_studies × 100)) × 100 - Leaderboard Ranking: Based on aggregate score, top 200 displayed
- No demographic data or personally identifiable information collected
- Anonymous usernames auto-generated and validated for uniqueness
- Session IDs used as primary identifiers
- All data fully anonymised for research purposes
/
├── index.html # Main application entry point
├── dashboard.html # Public analytics dashboard
├── admin.html # Admin login page
├── app.js # Core application logic
├── styles.css # Global styles
├── firebase-config.js # Firebase configuration
├── glossary.json # Scientific terminology definitions
├── rubric.json # Evaluation criteria
├── papers.json # Research scenario data
└── public/
└── unlock-lab-icon.svg # Application logo
Contributions are welcome through GitHub issues and pull requests. Areas for enhancement include:
- Additional research scenarios
- Localisation/internationalisation
- Accessibility improvements (WCAG compliance)
- Mobile experience optimisation
- Analytics export functionality
See the issues page for current development priorities.
This project is licensed under CC BY 4.0 - free to use with attribution.
Dr Pablo Bernabeu
Department of Education, University of Oxford
- Workshop design based on peer assessment pedagogy
- Fictional research scenarios created for educational purposes
- Open source libraries: Chart.js, Vite, Firebase SDK
- v1.0 (2026-02): Initial release with 48 scenarios, real-time leaderboard, and analytics dashboard
For questions, issues, or feature requests, please use the GitHub issue tracker.