Synchronization App Development for Salon Operations by Paul FadayoSynchronization App Development for Salon Operations by Paul Fadayo

Synchronization App Development for Salon Operations

Approve request to show earnings

View

Paul Fadayo

Paul Fadayo

Verified

Project Overview

Client name: Andreas Company: The Pretty Bar Athens Industry: Beauty & wellness / salon operations Objective: Design and deliver a safety-first proof of concept that synchronizes availability between Platform A and Platform B — so reception can reduce manual double-entry, monitor both calendars from one desktop app, and optionally enable guarded live writes when ready. Duration: Multi-phase PoC over several months (Milestones 2–4: sync engine → bidirectional logic → installable desktop app)
Dashboard with sync results, metrics, and dry-run mode
Dashboard with sync results, metrics, and dry-run mode

The Challenge

The Pretty Bar Athens runs bookings on two platforms that do not talk to each other natively. Reception staff were manually copying availability between Platform A and Platform B — slow, error-prone, and hard to scale.
The client needed more than a script on a developer laptop:
A tool reception could run on Windows without a terminal
Bidirectional sync (Platform APlatform B and Platform BPlatform A)
No customer PII transferred — only availability blocks
Strong safety guardrails before any live calendar changes
Clear logs and monitoring so staff could trust what the system was doing
With a month of manual cross-platform entries already in the calendars, “turn everything on at once” was not an option. The product had to support monitor-only operation first, then controlled live rollout.
Sessions view: 2/2 platforms ready, 7 staff mappings
Sessions view: 2/2 platforms ready, 7 staff mappings

The Solution

I delivered a phased PoC in three layers:

1. Sync engine (TypeScript)

Reads both platforms via authenticated browser sessions (Playwright + Chrome)
Syncs availability only — start time, duration, staff — not names, phones, or notes
Bidirectional passes with independent safety rules per direction
Stable staff-ID mapping (Platform A staff_member_id ↔ Platform B employeeId)
SQLite ledger for idempotency, duplicate prevention, and loop prevention
Conflict detection — overlapping slots log CONFLICT and skip writes
Dry-run by default; live writes require explicit flags + allowlists

2. Desktop app (Electron + React)

A dark-themed reception dashboard with:
Dashboard — last sync, platform counts, conflicts, staff mappings, trend charts, run breakdown
Sessions — guided Platform A/Platform B login; session health on one screen
Settings — sync direction, window, dry run, live writes, auto-sync interval
Activity log — structured table, raw JSON, ledger view, filters, CSV export

3. Delivery & handoff

Windows + macOS installers via GitHub Releases (desktop-v0.1.0)
MkDocs documentation site with milestone handoff guides
Guarded live E2E evidence in both directions
22 automated tests covering mapping, ledger, orchestration, and writers
Repository transferred to the client with full history and releases
Settings: dry run ON, bidirectional sync, auto-sync
Settings: dry run ON, bidirectional sync, auto-sync
Activity log: successful bidirectional cycle + SKIP audit trail]
Activity log: successful bidirectional cycle + SKIP audit trail]
Action filters: Conflicts, Creates, Updates, etc.
Action filters: Conflicts, Creates, Updates, etc.
Export CSV dialog
Export CSV dialog

Key Technologies Used

Sync engine TypeScript, Node.js, Playwright
Desktop app Electron, React, Framer Motion, MUI Charts
Data SQLite (sync ledger), structured JSON logs
Integrations Platform-A Pro API, Platform-B Partners (GraphQL + calendar reads)
Packaging & CI electron-builder, GitHub Actions
Documentation MkDocs Material, hosted docs site
Skills:
API integration
Desktop application development
System design
Technical documentation
CI/CD
Safety-critical workflow design

Results & Impact

Client-approved delivery: Andreas tested the app on Windows against live calendars, approved milestones on Contra, and received full repo ownership with installer releases
Safe pilot mode: Reception runs dry run + auto-sync — continuous monitoring with zero calendar writes until allowlists are deliberately configured
Operational visibility: Each sync completes in ~15 seconds with a clear breakdown (creates, skips, conflicts, errors) and exportable CSV logs
Scale handled: Engine processes hundreds of calendar entries per run across 7 mapped staff on both platforms
Conflicts surfaced, not hidden: Overlaps (e.g. from manual duplicate entries) log as CONFLICT for review instead of blind writes
Clear handoff: Client confirmed setup notes were “clear and helpful” for monitor-only rollout; MVP phase planned when investor timing allows
Client feedback:

Collaboration was genuinely great… I appreciated the care you put into the build and the safety-first approach. Your notes on running the tool were clear and helpful.” — Andreas


Like this project

What the client had to say

Really glad I worked with Paul. Complex build, delivered on time across every milestone, and he was careful and thoughtful the whole way, never just rushing it. Clear communication and a clean handover. Will definitely work with him again.

Andreas Vikatos

Jun 18, 2026, Client

Posted Jun 24, 2026

Built a safety-first salon calendar sync PoC: bidirectional availability engine, Electron desktop app, dry-run defaults, structured logs & PC /macOS installers.