Bac Recommender: Guiding Educational Pathways in Algeria
The transition from secondary education to university is a critical juncture in every student’s academic journey. For Algerian baccalaureate graduates, this decision carries significant weight for their future careers. The Bac Recommender System was developed to streamline this decision-making process, leveraging both historical data and machine learning algorithms to provide personalized university recommendations.

The Challenge
Every year, over 400,000 Algerian students receive their baccalaureate results and face the daunting task of choosing from hundreds of university programs. This decision is complicated by several factors:
- Limited understanding of program requirements and outcomes
- Lack of personalized guidance based on individual academic profiles
- Evolving university admission criteria
- Regional disparities in educational opportunities
Create an intelligent system that matches students' academic profiles with suitable university programs, taking into account historical placement data, geographic preferences, and career aspirations.
User Experience & Interface
The platform was designed with simplicity and accessibility in mind, allowing students to easily navigate through the recommendation process.

Users can input their information through multiple pathways:
- Manual Entry: Input baccalaureate scores and personal preferences directly
- Official Registration Number: Automatically fetch academic records using the national system

Once the student’s profile is established, our algorithm processes the data against historical admission patterns to generate a personalized list of recommended university programs.
Technical Implementation
Data Collection & Processing
The foundation of our recommendation system is a comprehensive dataset compiled from:
- Historical admission data from the Ministry of Higher Education
- Program requirements from universities across Algeria
- Graduate placement outcomes
- Regional economic development indicators
Machine Learning Approach
We implemented a hybrid recommendation system combining:
- Collaborative Filtering: Identifying patterns from similar student profiles
- Content-Based Filtering: Matching student attributes with program requirements
- Rules-Based Logic: Incorporating ministerial guidelines and regional quotas
# Simplified recommendation algorithm pseudocode
def generate_recommendations(student_profile):
# Calculate academic match score
academic_matches = content_filter.match_by_scores(student_profile.scores)
# Find similar student choices
collaborative_matches = collaborative_filter.find_similar_profiles(student_profile)
# Apply regional and ministerial rules
rule_filtered = rule_engine.apply_constraints(
academic_matches,
collaborative_matches,
student_profile.region
)
# Generate final weighted recommendations
return recommendation_engine.rank_and_sort(rule_filtered)
Technology Stack
- Frontend: React with Material UI for responsive design
- Backend: Python with FastAPI
- Machine Learning: Python with scikit-learn and TensorFlow
- DevOps: Docker containers deployed on Ministry Data Centers
Future Enhancements
The project continues to evolve with several planned enhancements:
- Career Trajectory Integration: Incorporating job market data to show potential career outcomes
- Mobile Application: Developing a dedicated mobile experience for increased accessibility
- Predictive Analytics: Implementing features to forecast admission chances in real-time
- Personalized Learning Plans: Suggesting pre-university preparation based on chosen programs
Conclusion
The Bac Recommender System represents a significant step forward in educational technology within Algeria, demonstrating how data-driven approaches can democratize access to information and improve decision-making in higher education. By bridging the gap between secondary education outcomes and university admission requirements, we’re helping to shape the future workforce of Algeria.
This project is part of my story: read Chapter 2: Building for Real People for the context around it.