BGU Student Portal



A closed, authenticated portal for students and faculty, running on shared infrastructure with the public site. Every content item is personalized across 8 criteria — faculty, year, user type, and more. The portal integrates with 10+ APIs: schedules, grades, course payments, assignments, and Moodle SSO. Editors preview how any page will look for a specific user before publishing.
Challenges
Content personalization across 8 dimensions
Every content item can be targeted to specific combinations of faculty, year, department, user type, and four other criteria. The personalization engine had to evaluate these combinations efficiently for every page load without hammering the database.
Managing 10+ API integrations
Schedules, grades, course payments, assignments, and Moodle SSO each have their own data contracts and failure modes. We designed the integration layer to degrade gracefully — a slow grades API shouldn't block the schedule from loading.
Editor preview from another user's perspective
Editors needed to see exactly how a page would render for a specific student or faculty member before publishing. The Angular SPA runs embedded inside the Umbraco back-office, letting editors impersonate any user role for preview without touching production data.
Our approach
Personalization architecture
Designed the 8-criteria personalization model and defined how content targeting rules are stored, evaluated, and applied at render time — balancing flexibility for editors with performance under load.
API integration layer
Built a unified integration layer for 10+ external APIs — schedules, grades, payments, assignments, Moodle SSO. Each integration has its own error boundary so a slow or failing API degrades gracefully without blocking other data.
Angular SPA with embedded preview
Delivered the Angular SPA that runs the student and faculty experience, then embedded it inside the Umbraco back-office so editors can preview any page from the perspective of a specific user before publishing.
Shared infrastructure deployment
Deployed the portal on shared AWS infrastructure (ECS Fargate, RDS, S3) with a separate domain and root page. Leveraged the public site's existing setup to minimize operational overhead.
Result
Fully personalized experience per user. Seamless Moodle SSO. Shared infrastructure keeps operational cost low.
By the numbers
8
Personalization criteria
10+
API integrations
yes
Infrastructure shared with public site
Tech stack
We want to hear your thoughts.
our CTO Kyrylo Osadchuk, will reply within 24 hours. No SDR funnel.
Start a conversation
We want to hear your thoughts
Re: BGU Student Portal


