β‘ Project Status: Development Phase Complete
A comprehensive academic educational platform bridging theoretical computer science with hands-on algorithmic exploration. This Jekyll-based research platform provides interactive demonstrations, rigorous mathematical analysis, and real-time computational complexity visualization for fair division algorithms.
π View Live Platform
This project represents an effort to create an educational platform for fair division algorithms, developed by Amaan Khan under the supervision of Dr. Ron Cytron at Washington University in St. Louis, with support from Mozilla Educational Initiatives.
ποΈ Core Infrastructure
- Complete Jekyll-based static site architecture
- Responsive design system with 2000+ lines of custom, modular CSS
- Mobile-first approach with cross-browser compatibility
- MathJax 3 integration for mathematical notation
- GitHub Pages deployment with automated CI/CD
π Educational Content
- Comprehensive theory pages covering mathematical foundations
- Robertson-Webb query model detailed analysis
- Complete algorithm documentation for 6+ algorithms
- Professional glossary with 30+ technical terms
- Academic bibliography with authoritative sources
π― Interactive Demonstrations
- Modular plugin-based algorithm framework
- Real-time query complexity tracking and visualization
- Support for both divisible and indivisible goods
- 6 Fully Implemented Algorithms:
- Divide-and-Choose (2-player)
- Austin's Moving Knife (n-player)
- Steinhaus Lone-Divider (3-player)
- Selfridge-Conway (3-player)
- Knaster Sealed Bids (indivisible goods)
- Lucas Method with Markers (indivisible goods)
π§ Technical Architecture
- Event-driven demo system with centralized state management
- Extensible algorithm registration system
- SVG-based geometric visualizations
- Sophisticated CSS component system
- Professional logging and debugging infrastructure
fair-division-algorithms/
βββ _layouts/ # Jekyll layout templates
βββ assets/
β βββ css/ # 2000+ lines responsive design system
β βββ js/interactive-dashboard/ # Core demo system (6,000+ lines)
β β βββ core/ # Framework infrastructure
β β βββ algorithms/ # Algorithm implementations
β β βββ extensions/ # Indivisible goods support
β βββ flowcharts/ # Flowchart visualization system
βββ pages/
β βββ algorithms/ # Individual algorithm documentation
β βββ theory/ # Mathematical foundations
β βββ exercises/ # Interactive simulator page
βββ _config.yml # Jekyll configuration
βββ index.md # Platform homepage
- Ruby: Version 3.1+
- Bundler: Gem dependency management
- Git: Version control
- Modern Browser: For testing interactive features
# Clone and setup
git clone https://github.com/amaan-19/fair-division-algorithms.git
cd fair-division-algorithms
bundle install
# Start development server
bundle exec jekyll serve --livereload
# Visit http://localhost:4000/fair-division-algorithms/// Register new algorithm in the demo system
window.FairDivisionCore.register('algorithm-id', {
name: "Algorithm Name",
playerCount: 2,
goodsType: "divisible", // or "indivisible"
steps: [/* Step definitions */],
onInit: (state, api) => { /* Initialize */ },
onReset: (state, api) => { /* Cleanup */ }
});- Plugin System: Modular algorithm registration with standardized API
- State Management: Centralized, event-driven architecture
- Responsive Design: CSS Grid/Flexbox with mobile-first approach
- Performance: Optimized loading with lazy-loaded components
- Real-time Robertson-Webb query tracking
- Animated step-by-step algorithm execution
- Complexity bounds visualization
- Educational query explanations
- Intuitive interactive controls
- Step-by-step guided algorithm execution
- Professional mathematical notation rendering
- Accessibility considerations throughout
- University-level academic content
- Formal mathematical proofs and definitions
- Comprehensive theoretical foundations
- Research-grade algorithm implementations
Theory Sections
- Impossibility theorems (finite protocol limitations)
- Property trade-offs and computational lower bounds
- Moving-knife model detailed analysis
- Advanced fairness properties (efficiency, truthfulness)
Algorithm Coverage
- Brams-Taylor procedures for n-player envy-free division
- Banach-Knaster last-diminisher
- Stromquist's moving-knife procedure
- Recent algorithms (2010+ research)
β Excellent Documentation:
- Main README with comprehensive setup instructions
- Individual algorithm pages with mathematical proofs
- CSS architecture with component organization
- JavaScript modules with inline documentation
- Academic bibliography with proper citations
- Contributing guidelines (CONTRIBUTING.md incomplete)
- Development workflow documentation
- Testing procedures and guidelines
- Deployment troubleshooting guide
Successfully Implemented:
- University-ready curriculum materials
- Research-grade algorithm implementations
- Mathematical rigor appropriate for graduate courses
- Interactive learning that enhances theoretical understanding
Future Potential:
- Polish and full implementations
- Integration with university course management systems
- Collaborative features for classroom use
- Assessment tools for instructors
- Research platform for algorithm development
- Primary Developer: Amaan Khan
- Academic Supervisor: Dr. Ron Cytron
- Institution: Washington University in St. Louis
- Funding: Mozilla Educational Initiatives
This platform successfully demonstrates how interactive technology can enhance mathematical education. The modular architecture ensures long-term maintainability, while the academic rigor makes it suitable for university adoption.
- Content Completion: Fill theoretical gaps in impossibility results
- Testing Infrastructure: Implement comprehensive test suite
- Documentation: Complete contributing guidelines and development docs
- Accessibility: Full accessibility audit and improvements
- Algorithm Expansion: Add remaining major fair division procedures
- Assessment Integration: Build instructor tools and student tracking
- Research Platform: Enable new algorithm development and testing
- Community Building: Foster academic adoption and contribution
- Academic Adoption: University course integration
- User Engagement: Interactive demo completion rates
- Educational Impact: Learning outcome assessments
- Research Value: Citations and algorithm implementations
Development Legacy: The project establishes a strong foundation for future development, with clean architecture that supports extensibility and academic-quality content that serves as a model for similar educational platforms.
Recommendation for Future Maintainers: Focus on content completion and community building. The technical foundation is solid and well-documented. The greatest impact will come from expanding the algorithm coverage and fostering academic adoption.
Platform developed by Amaan Khan under Dr. Ron Cytron at Washington University in St. Louis, with support from Mozilla Educational Initiatives. For questions about continued development or academic partnerships, please open an issue in the repository.
Last Updated: August 2025