# Bola Sydhom — Product Engineer

> Product engineer with 6+ years building web products, open to remote roles. Bola is a Senior Software Engineer at Celfocus, working remotely on telecom projects for Vodafone Ireland and, before that, Jawwy (STC). At Luciq (formerly Instabug), Bola built customer-facing AI features, Session Replay and flame graphs, and led the move of a large AngularJS product to Vue.js. Those tools serve apps with over a billion users combined. On the side, Bola builds and runs three products alone: Masroof, a household spending app with AI receipt scanning; Flock, a CRM for a church service of about 650 people; and My Rashi, a wedding invitation SaaS with 30+ animated designs in Arabic and English.

Last updated: 2026-10-17

- Website: https://bsydhom.com/
- Email: bsydhom@gmail.com
- LinkedIn: https://www.linkedin.com/in/bola-sydhom/
- GitHub: https://github.com/bolamsydhom
- Location: Cairo, Egypt — open to remote roles worldwide
- Languages: Arabic (native), English (professional)
- Current role: Senior Software Engineer, Celfocus (remote), 2026 - Present

## Case studies

### AI features inside the Luciq dashboard

Luciq · AI features · https://bsydhom.com/work/ai-features

**Problem.** Customers wanted AI help inside the dashboard. But LLM answers are slow and sometimes wrong, and engineers rely on this tool every day.

**What Bola did:**
- Connected LLM APIs through a Node.js service
- Streamed responses into the Vue.js UI, so answers show up as they’re written
- Added checks and fallbacks for when the model gets it wrong
- Tested answers for accuracy before release, then tuned prompts from customer feedback

**Outcome.** The AI features shipped, and when the model fails, users still get a working screen instead of an error. We kept improving them in short cycles, based on what customers told us.

**Skills:** LLM APIs, Node.js, Streaming, Vue.js, Prompt tuning

### AngularJS to Vue.js, without stopping releases

Luciq · Migration · https://bsydhom.com/work/legacy-migration

**Problem.** A big product was still on AngularJS, and it made every new feature slow to build. The business couldn’t pause for a full rewrite.

**What Bola did:**
- Mapped the old system and planned a step-by-step move
- Designed a component structure that could grow, and split the code into modules
- Worked with the other teams so feature releases never stopped
- Added unit, end-to-end and visual tests to keep every release safe

**Outcome.** The product moved to Vue.js and releases kept going the whole time. It was the second big migration I’ve led, after AngularJS to Angular 11+ at Cegedim.

**Skills:** Vue.js, AngularJS, Architecture, Migration, Testing

### Session Replay & flame graphs

Luciq · Debugging tools · https://bsydhom.com/work/session-replay

**Problem.** Engineers needed to see what really happened in production: what the user did and what was slow. That meant huge amounts of data, and the dashboard couldn’t get slower.

**What Bola did:**
- Led the Session Replay build, including our own timeline and virtual-scrolling components
- Tried several charting libraries and built prototypes before choosing how to draw flame graphs
- Profiled the dashboard and cut its load times

**Outcome.** Engineers can replay what a user did and see where the time went, in a faster dashboard, for apps with over a billion users combined.

**Skills:** Vue.js, Data visualization, Virtualization, Performance

### se7atak: online healthcare, built for phones

Eva Pharma · Healthcare · https://bsydhom.com/work/se7atak

**Problem.** People in Egypt needed an easy way to reach healthcare online. Marketing also needed to launch campaigns without waiting for developers.

**What Bola did:**
- Led front-end work on se7atak, an Egyptian online healthcare service
- Worked directly with marketing to turn campaign ideas into small sites and form tools
- Made every site work well on phones

**Outcome.** Marketing launched campaigns with their own tools, no developer needed, on a healthcare service built for phones.

**Skills:** Healthcare, Mobile-first, Marketing tools, Working with stakeholders

## Products Bola built solo

### Masroof — “Never overpay twice.”

Household spending app (مصروف (“allowance”)) · https://bsydhom.com/products/masroof

An app my family uses to log what we spend in seconds, and to check, right at the shelf, whether a price is a good deal. It works offline.

**Journey:**
- Idea: We tracked spending in our heads and on scraps of paper. In the store we only wanted to know one thing: is this a good price?
- Spec: Wrote a short spec with goals, what I wouldn’t build yet, and one test of success: log a grocery item in under 10 seconds, on a phone, offline.
- Build: A React app that works offline and syncs later, in Arabic and English, with barcode scanning and spending reports by category, store and prepaid electricity.
- AI: Take a photo of a receipt or scan an Egyptian e-invoice QR code. Gemini turns it into items matched to our own product list, ready to check.
- Iterate: Using it every day set the next steps: a good deal / bad deal price check, a better iPhone barcode scanner, and typing the code in when small barcodes won’t scan.

**Product decisions and why:**
- Works offline first — We shop in aisles with bad signal. Entries save on the phone and sync when the connection comes back.
- No budgets or bank sync in the first version — I left them out on purpose, so daily logging shipped first and stayed fast.
- Past purchases beat the AI’s guess — If we bought an item before, its category comes from our history, not from the model.
- Real data over AI when we have it — E-invoice prices come straight from the tax authority. The AI only tidies up item names.
- Compare prices over 6 months — Prices change. Older data would make the good deal check wrong.

**By the numbers:**
- <10s — To log an item
- EN · AR — Arabic and English, full right-to-left
- 14 — Specs written before coding
- 46 — Automated test files

**Stack:** React, TypeScript, PWA, IndexedDB, Node.js, Express, MongoDB, Gemini API

### Flock — “Every child known. Every absence followed up.”

Church CRM · https://bsydhom.com/products/flock

A phone-first CRM that runs a church’s Sunday school: attendance, home visits, follow-ups and moving kids up a class each year. It covers about 650 people across 29 classes.

**Journey:**
- Idea: Everything lived in a Google Sheet. Nobody could take attendance at a busy door, visits weren’t recorded, and kids who stopped coming went unnoticed.
- Spec: Mapped six roles, from child to priest, and wrote 16 short specs. Each one says the problem, the decision, and what’s left out.
- Build: An Arabic-first Angular app with offline QR attendance, home visits with approvals, reports for servants, and passkey sign-in.
- Migrate: Moved thousands of real attendance and visit records off Google Sheets without stopping the weekly service.
- Iterate: 98+ pull requests driven by servants' feedback, like one-tap WhatsApp messages for absent kids, offline visit logging and a health dashboard.

**Product decisions and why:**
- Security shouldn’t lock out real users — Tying each account to one phone blocked more real members than strangers, and admins spent their time on recovery. I removed it and kept passkey sign-in.
- Sign-up that works with messy names — Names on file rarely matched how people typed them, so a strict check sent members to an admin. I relaxed it and the bottleneck went away.
- The person who can check is the one who approves — Family admins approve home visits because they actually know the families. Leaders further away could only rubber-stamp them.
- No automatic actions that can’t be undone — Moving every child up a class can’t be reversed. A scheduled job ran before leaders had decided, so now someone reviews and confirms it.
- Monitoring without personal data — Free hosting gives no logs, so I built a small health dashboard to catch failures. It never stores request bodies or personal IDs.

**By the numbers:**
- ~650 — Children, servants and leaders
- 29 — Classes, every week
- 6 — Roles, each with its own access
- 260 — Automated test files

**Stack:** Angular, PrimeNG, PWA, Node.js, Express, Prisma, MongoDB, Passkeys (WebAuthn), Cypress

### My Rashi — “A wedding invitation, live in minutes.”

Wedding invitation SaaS · https://bsydhom.com/products/my-rashi · Live: https://app.my-rashi.com/

My Rashi turns a wedding invitation into a small website that the couple makes themselves. They choose one of 30+ animated designs, add their names, dates and venues, pay once with Instapay, and share their own site at their-names.my-rashi.com, with RSVP and a personal link for every guest. In Arabic and English.

**Journey:**
- Idea: Wedding invitations still go out as a photo or a PDF in a chat. Couples can’t tell who is coming, and every guest over the booked number costs them money.
- Spec: One rule set the scope: from choosing a design to a live invitation in as few steps as possible. No sign-up, one payment, nothing for guests to install. I studied 20+ competitors and their prices before writing any code.
- Build: Every invitation is its own site on the couple’s subdomain, served from Cloudflare’s edge. The editor saves as you type, supports undo and shows a live preview, in Arabic with full right-to-left layout or in English.
- Launch: Live about two weeks after the spec. Couples pay with Instapay, the payment is confirmed, and the invitation goes live. Card checkout through Paddle is already built for when it’s needed.
- Grow: 53 pull requests merged in the first month: a couple quiz that recommends designs, personal guest links sent through WhatsApp in one tap, a daily RSVP email, and the Guest List Pro add-on.

**Product decisions and why:**
- No sign-up — Every extra step costs couples. A private edit link takes them from choosing a design to editing in one tap, and a password is there if they want one.
- Instapay at launch — Couples already use Instapay, and it reaches the seller with no fees. Payments sit behind one interface, so turning on card checkout is a setting, not a rebuild.
- New designs every week — An AI agent runs weekly and drafts new designs. Each one is checked against a strict format and reviewed before it goes live, so the gallery keeps growing without losing quality.
- Beautiful designs, plus control of the guest list — Couples come for the design. Studying 21 competitors showed what else they care about: knowing who will actually come. Guest features became an add-on, Guest List Pro, so each couple pays only for what they need.

**By the numbers:**
- 30+ — Animated designs, with new ones every week
- ~2 wks — From spec to a live, paid launch
- EN · AR — Arabic and English, full right-to-left
- ~1,100 — Automated tests

**Stack:** TypeScript, Astro, Preact, Hono, Zod, Cloudflare Workers, D1, R2, Workers AI, Turnstile, Resend, Vitest

## How Bola makes product calls

### Design for the moment it’s used

I picture exactly where and when someone uses the product, and build for that.

Evidence: A servant at a church door with forty kids arriving can’t type names into a list, so Flock’s QR attendance works offline. Masroof had to log an item in under 10 seconds, in a store with weak signal.

### Decide what not to build

Every spec I write lists what we won’t build yet. A small first version people use beats a complete one that ships late.

Evidence: Masroof’s first version left out budgets, bank sync and receipt photos. AI receipt scanning only came after daily logging worked.

### Remove what gets in the way

If a feature causes friction or support work, it goes, even if it looked good on paper.

Evidence: In Flock I removed phone binding and a strict name check. Both sent real members to an admin instead of into the app. My Rashi skips sign-up entirely: a private link takes a couple straight to editing.

### AI helps, people decide

Let AI do the boring part. The user confirms, and known data always wins over a model’s guess.

Evidence: Masroof’s receipt scanner fills in items for you to check, and past purchases override the model. At Luciq I added checks and fallbacks for unreliable LLM output.

### Let the right person approve

Permissions should follow who can actually check the facts.

Evidence: In Flock, only family admins approve home visits. They’re the ones who know the families.

### Watch real use, then improve

I watch how people use the product, and fix what hurts before adding anything new.

Evidence: When iPhone barcode scanning didn’t work well, I swapped the scanner and added typing the code in. At Luciq, we tuned prompts from real customer feedback.

## Experience

### Celfocus — Mar 2026 - Present

Software engineering for telecom clients, working remotely from Cairo.

**Senior Software Engineer, Vodafone Ireland** (Jul 2026 - Present)
- Full-stack engineering for Vodafone Ireland with Ext JS and Java, as part of a Celfocus client team

**Full-Stack Developer, Jawwy (STC)** (Mar 2026 - Jul 2026)
- Worked across the full stack for Jawwy, STC’s digital mobile brand in Saudi Arabia, including React Native mobile development

### Luciq (formerly Instabug) — Apr 2022 - Feb 2026

Front-end for app monitoring and debugging tools used by apps with over a billion users combined.

**Senior Front-End Developer** (Apr 2025 - Feb 2026)
- Led moving a large AngularJS product to Vue.js while new features kept shipping
- Built customer-facing AI features: LLM APIs through a Node.js service, answers streamed into the Vue.js UI, with checks and fallbacks
- Improved prompts and results in short cycles, based on customer feedback
- Brought AI coding tools into the team without lowering code review or testing standards

**Front-End Developer II** (Apr 2022 - Apr 2025)
- Led the switch from Angular 1.x to Vue.js and split the code into clear modules
- Led data-heavy features, including Session Replay and flame graphs
- Made the dashboard load faster and cut automated test run time by 30%
- Raised test coverage with Jest, Karma and Cypress: unit, end-to-end and visual tests
- Mentored junior engineers and ran knowledge-sharing sessions

### Cegedim — Jun 2021 - Apr 2022

Updated internal tools that automate cloud operations.

**Software Developer** (Jun 2021 - Apr 2022)
- Moved old AngularJS apps to Angular 11+, including itCare, an internal tool that automates cloud operations
- Set up unit and end-to-end testing so the migration stayed safe
- Built responsive screens that matched the designs pixel for pixel

### Eva Pharma — Mar 2021 - Jun 2022

Healthcare products and marketing tools used across Egypt.

**Front-End Developer** (Mar 2021 - Jun 2022)
- Led front-end work on se7atak, an Egyptian online healthcare service
- Turned marketing’s campaign ideas into small sites and form tools they could run without developers
- Made all company websites work well on phones

### Penta-b — Aug 2020 - Apr 2021

Map-based (GIS) software for government and business clients in Egypt and Saudi Arabia.

**Project Engineer** (Aug 2020 - Apr 2021)
- Delivered GIS software for INOVAR (Saudi Arabia) and the Administrative Capital for Urban Development (Egypt)
- Worked with business analysts, operations and client teams to turn requirements into working software
- Built small tools and plugins with React, Redux, Semantic UI and React-Bootstrap

## Skills

**Product & delivery:** Requirements analysis with product, BA & marketing, Technical design, Build-vs-buy evaluation & POCs, Legacy platform migration, Agile / Scrum, UX research, Stakeholder collaboration, Mentoring & code review

**AI features:** LLM API integration, Streaming responses, Output validation & fallbacks, Prompt iteration from feedback, AI-assisted development

**Engineering:** TypeScript, JavaScript (ES6+), Vue.js, React, React Native, Ext JS, Angular (AngularJS → 11+), Vuex, NgRx, Redux, Node.js, Java, REST / JSON APIs, HTML5, CSS3 / SASS

**Quality & performance:** Jest, Karma, Cypress, Unit, E2E & visual testing, Test automation, Performance analysis, Virtualization

**Design & tools:** Figma, Adobe XD, Git (GitHub, GitLab, Bitbucket), Jira, Confluence

## Education & certifications

- Bachelor of Computers and Informatics — Suez Canal University (2012 - 2016)
- Web & User Interface Development Diploma — Information Technology Institute (ITI) (2019 - 2020)
- UX Research — Udacity
- Angular Development Cross-Skilling — Udacity

## Community

- External Instructor, Information Technology Institute (ITI) (Oct 2020 - Present): I teach front-end development (Angular, HTML, CSS, Bootstrap and responsive design) and supervise graduation projects, from first requirements to working software.
- Organizer, Google Developer Group (GDG) Ismailia (Feb 2017 - Present): I run meetups and workshops for local developers.

## FAQ

### Who is Bola Sydhom?

Bola Sydhom is a product engineer in Cairo, Egypt, with 6+ years of building web products. Bola is a Senior Software Engineer at Celfocus, working remotely on projects for Vodafone Ireland and, before that, Jawwy (STC). Before Celfocus, Bola spent four years at Luciq (formerly Instabug), building customer-facing AI features, Session Replay and flame graphs, and leading the move from AngularJS to Vue.js. Earlier: Cegedim, Eva Pharma and Penta-b.

### What does Bola mean by “product engineer”?

Someone who owns the result, not just the ticket. That means understanding the user’s problem, turning what product, business and marketing need into a technical plan, building it with care for speed and quality, and improving it from real customer feedback.

### Has Bola built AI features?

Yes. At Luciq, Bola built customer-facing AI features from start to finish: connecting LLM APIs through a Node.js service, streaming answers into a Vue.js UI, adding checks and fallbacks for bad output, and tuning prompts from customer feedback.

### What has Bola built?

Highlights: AI features, Session Replay and flame graphs for monitoring tools used by apps with over a billion users combined; two large migrations (AngularJS to Vue.js at Luciq, and AngularJS to Angular 11+ at Cegedim); and se7atak, an Egyptian online healthcare service at Eva Pharma.

### What products has Bola built on the side?

Three, each built alone from idea to launch. Masroof is a household spending app that works offline, in Arabic and English, with barcode scanning, a good deal / bad deal price check and AI receipt scanning with Google Gemini. Flock is a phone-first CRM for a church’s Sunday school, covering about 650 people in 29 classes, with offline QR attendance, home-visit approvals, WhatsApp follow-ups for absences and passkey sign-in. It replaced a Google Sheet. My Rashi is a wedding invitation SaaS in Arabic and English: couples choose from 30+ animated designs, edit without signing up, pay once with Instapay and share their own invitation site with RSVP and personal guest links. An AI agent drafts new designs every week.

### Which technologies does Bola work with?

TypeScript and JavaScript with Vue.js, React, React Native, Angular and Ext JS; Vuex, NgRx and Redux for state; Node.js, Java and REST APIs; LLM APIs with streaming; Jest, Karma and Cypress for testing; and Figma for working with designers.

### Is Bola open to new opportunities?

Yes. Bola is open to remote product engineering and senior front-end roles, anywhere, on products with real problems to solve. Bola is based in Cairo, Egypt, is comfortable working across time zones, and speaks Arabic (native) and English (professional). The quickest way to reach Bola is email, bsydhom@gmail.com, or LinkedIn.
