Beacon-based Content Delivery Platform
This was a freelance project I worked on from 2023 to 2024. My primary responsibility was building, extending and maintaining the backend and APIs, together with deployment and operational support for the related cloud services.
Scale signal: the hourly statistics pipeline recorded 761,921 device connections in a single hour at peak. Each connection entered the campaign-selection path, where beacon context, delivery schedules and targeting conditions determined the relevant advertising content.
The system problem
The platform served multiple businesses from one system. Its administration console managed accounts, users and permissions; integrated applications; facilities, beacons and tags; offers, advertisements and notifications; and campaign schedules, frequency controls and target audiences.
For end users, a mobile SDK detected a BLE/iBeacon signal and called the API. The backend authenticated the application context, found active campaigns, applied delivery rules, returned the relevant content and captured events for operational monitoring and analytics.
Primary responsibilities and contributions
- Developed and maintained the PHP administration backend and the real-time Java + Play Framework APIs.
- Extended multi-tenant administration across accounts, access control, applications, beacons, content and campaigns.
- Maintained campaign-matching logic for delivery windows, device platforms, frequency controls and audience targeting.
- Troubleshot across the admin, API, MySQL, cache and runtime layers while keeping changes safe and compatible with active SDK and API consumers.
- Supported a load-balanced cloud runtime, managed databases, Memcached and an analytics data pipeline into BigQuery.
System architecture
Diagram fitted to its frame
Advertisement delivery flow
Diagram fitted to its frame
Administration and operations flow
Diagram fitted to its frame
These diagrams are public-safe reconstructions from the technical documentation and administration interface at component level. They omit internal URLs, credentials, proprietary source code and raw production data.
Image 1 of 8
