BGU Public Web Platform





The central public digital platform for one of Israel's leading universities — 80,000 pages, ~1,000 content editors, ~300 requests per second at peak. We led the architecture, built a custom Lucene-based search across 10+ specialized page types, implemented a rule engine for benefits eligibility logic, designed a per-subtree access control system for the editorial team, and completed a full infrastructure migration from Azure to AWS (ECS Fargate, RDS, S3) without downtime.
Challenges
Search across 80,000 pages at 300 RPS
The platform has 10+ specialized search pages, each with custom filters, grouping, and ranking logic. We built custom Lucene indexes with optimized query structures so search stays fast even under sustained peak load — without caching everything into staleness.
Custom caching with dependency tracking
Standard Umbraco caching wasn't granular enough for this scale. We built a custom cache layer that tracks dependencies between pages — when a staff profile updates, only the pages that reference it are invalidated, not the whole cache.
Zero-downtime Azure to AWS migration
The migration covered containerization, ECS Fargate deployment, RDS and S3 setup, load balancer configuration, and a separate EC2 bastion for import services. Traffic was cut over gradually with no interruption to the 300 RPS production load.
Access control for 1,000 editors
With this many editors, a flat role model wasn't workable. We built a per-subtree access system with custom Umbraco back-office components so admins can restrict which pages and descendants each editor can touch — without code changes per editor.
Our approach
Architecture and search design
Defined the Lucene index structure for 10+ content types, designed custom query patterns for each specialized search page, and planned the caching layer with dependency tracking before writing production code.
Custom caching and performance baseline
Built the dependency-aware cache layer that invalidates only affected pages when content changes. Established performance baselines and tested under simulated 300 RPS load to verify stability before migration.
External integrations
Implemented the daily incremental import of 15,000+ staff profiles from the external HR API, tracking changes to avoid unnecessary writes. Added the CRIS research publications sync and mapped publications to staff profile pages.
Azure to AWS migration
Containerized the application, deployed to ECS Fargate, configured RDS and S3, set up the load balancer, and deployed the import service on a separate EC2 bastion. Traffic was cut over gradually with live monitoring throughout.
Rule engine and access system
Built the configurable rule engine for benefits eligibility with AND/OR/NOT operators and time interval checks, then delivered the per-subtree access control system with custom back-office components for the editorial team.
Result
Stable at 300 RPS. 15,000+ staff profiles updated daily via incremental sync. Complex eligibility rules managed by editors without code changes.
By the numbers
~80,000
Pages in production
~300 RPS
Peak load handled
~1,000
Content editors supported
15,000+
Staff profiles synced daily
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 Public Web Platform



