Feature Flag Service for a Cairo Online Marketplace
Designed and built a clickable feature flag console for the engineering teams of a Cairo online marketplace: targeting rules and sticky percentage rollouts per environment, change requests with a second approver for Production, kill switches for incidents and a full change history for every flag.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Dashboard, flag list with quick view, flag detail with 6 tabs, change requests with the review panel, and kill switches with the engage and restore panel.
In Production the toggle and every targeting edit become a change request with a readable diff, raw JSON and an impact estimate. The requester can never approve their own change, and bulk approval is not allowed.
On-call engineers can engage a kill switch without prior approval, but only with a reason and an incident reference. The owning team must review the change within 24 hours.
Release, experiment, operational, kill switch and permission flags across 5 projects, with 16 change requests, 12 kill switches and 13 staff users in 7 teams.
Khan Sukkar's teams toggled features with environment variables, a shared JSON file in a config repo and city checks buried in code. Turning something off during an incident meant a redeploy of 20 to 40 minutes, nobody could say which of about 600 "temporary" toggles were still in use or who had changed the checkout toggle before the last outage, and releases were frozen for weeks before the Ramadan and Eid sale campaigns because partial rollouts were impossible.
Shadoof lets about 220 engineers ship code dark and turn it on gradually. Flags carry ordered targeting rules and sticky percentage rollouts per environment, Production changes go through a change request that someone other than the author approves, kill switches can be flipped in seconds during an incident, and every change is recorded with its author, approver and diff.
Khan Sukkar runs web, Android and iOS apps on roughly 40 backend services for around 9,000 sellers and their buyers across Egypt. A flag service for that many teams has to make rollouts safe, changes reviewable and old flags removable, without slowing anyone down.
Toggles lived in environment variables, a shared JSON file and if-statements in code. During an incident, switching a feature off meant a redeploy that took 20 to 40 minutes while buyers kept hitting the broken path.
About 600 "temporary" toggles had piled up. Nobody could say which were still in use, who had changed the checkout toggle before the last outage, or which buyers had seen the new payment sheet.
A partial rollout only works if the same buyer gets the same variation on every request and every server, and raising 10% to 25% only adds people. Without that, teams froze releases for weeks before every sale campaign.
Auditors preparing for SOC 2 asked for proof that production changes were reviewed by someone other than the author, and there was none for configuration changes. Evaluation contexts also carry buyer and seller data under Egypt's Law No. 151 of 2020.
Mapped 8 roles from engineer and tech lead to on-call engineer, release manager and read-only auditor, 28 screens including a phone-first on-call page, and the data model for flags, versioned per-environment configs, rules, segments, change requests, approval policies, schedules, kill switch events, freeze windows, SDK keys and a hash-chained audit log. Wrote down the rules the design follows: the OpenFeature standard, consistent hashing for rollouts, client-side keys that never expose rules, Egypt's Personal Data Protection Law No. 151 of 2020, SOC 2 change management and Cairo time for every schedule.
Built 5 key screens on a production dashboard kit: the dashboard with KPIs, approvals waiting, rollouts in progress, engaged kill switches, the last 15 Production changes and the top evaluation errors; the flag list with environment state dots, sparklines and bulk actions; flag detail with ordered rules, a percentage split slider, a salt warning and a draft bar that turns into Request approval in Production; change requests with Approve, Request changes and Reject; and kill switches. All actions run on local state.
The evaluation APIs and an OpenFeature provider for Go, Java, Node.js, Kotlin, Swift and web, with server keys that evaluate locally and client keys that only receive evaluated variations. SSO through Okta or Google Workspace, code reference scans from GitHub or GitLab, Jira or Linear cleanup tickets, Slack, PagerDuty, Kafka exposure events, Datadog rollout guards and edge delivery, plus the append-only audit log with evidence packs and the remaining screens: segments, schedules, freeze windows, stale flag cleanup, analytics, experiments, the evaluation debugger, settings and the on-call page.
Selecting Production turns the environment chip red and runs a red band across the top of every page. An active freeze window shows as a banner on every page with its end time in Cairo time, and kill switches stay allowed.
A change request shows "Rule 2 split: On 25% → 50%" with a raw JSON toggle, the estimated share of traffic whose variation would change, the requester's reason and ticket, and exactly who may approve. Rejecting needs a reason.
Engaged switches are pinned at the top in red with how long they have been on, the PagerDuty incident and when the retro review is due. Each card says in plain words what the switch turns off and links to its runbook.
Flags show their owning team, kind, tags and planned removal date, with stale flags counted on their own tab. Archive is only offered for flags with no evaluations in 30 days, and individual target lists are capped at 500 keys so bigger groups move into segments.

Designed and built a clickable API gateway console for a Brno parcel carrier whose rates, labels, tracking and pickup APIs serve e-shops, marketplaces and shipping platforms across five countries: partner plans and limits, a request log with personal data redacted before storage, and version retirements with Sunset and Deprecation headers.

Designed and built a clickable developer console for a Riyadh payments and open banking fintech: a journey tracker from first sandbox call to production, app credentials with shown-once secrets, keys and mTLS certificates, synthetic sandbox data with scenario switches, and request logs that explain each error in plain words.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab