Skip to content
Operations & Systems

Three Tools-to-One Platform

A Dubai firm ran its client pipeline, project delivery, and people admin in three separate Zoho products — paying per seat for each and reconciling between them by hand. Nothing talked to anything else, so the number that mattered depended on which tool you opened. We built one platform covering all three, on a schema they own outright.

Snapshot

Client profile
Professional services firm, ~14 users, Dubai
Engagement
Catalyst — scoped internal platform build
Timeline
~8 months
Replaced
Zoho CRM, Zoho Projects, Zoho People — Books retained
Scope
CRM, projects, HR, payroll, expenses, notifications

Stack

  • Next.js
  • Supabase
  • shadcn/ui
  • TanStack Query
01

The problem

Three products, three seat licences, and no shared record between them. Sales lived in one, delivery in another, and anything to do with people in a third — so cross-checking a project against who was on it, or what it had cost, meant opening all three and trusting whoever did the arithmetic.

  • Deal, project, and timesheet data had no shared identity across the three tools
  • Per-seat pricing scaled with headcount for software the team had outgrown
  • Reporting across the pipeline and delivery meant manual reconciliation
  • Nothing could be customised beyond what the vendors exposed
02

What we built

One Postgres schema behind all three functions — 21 tables covering deals and stages, projects and milestones, tasks, documents, time entries, leave, payroll, and expenses. 45 row-level security policies enforce who sees what, in the database rather than in application code.

CRM with a configurable stage pipeline usable as either a board or a list, version-controlled documents on both incoming and outgoing sides, and a next-step task that notifies whoever it lands on. Deals convert straight into projects, so the commercial record and the delivery record are the same record.

HR that people actually use: check in and out against a project, admin-configured leave types with an approval path, announcements, and holidays. Time entries roll into a weekly per-person-per-project report, which is the view that had been impossible before.

Realtime notifications through Supabase, exports to Excel and PDF, and a deliberate integration seam left where Zoho Books stays — the one product worth keeping, so the platform is built to talk to it rather than replace it.

03

What stuck

  • One record per deal, project, and person, instead of three that had to be reconciled
  • Access rules live in the database, so a new surface inherits them automatically
  • The schema is theirs — changes no longer wait on a vendor roadmap
04

Impact

  • Three per-seat subscriptions retired, and the manual reconciliation between them with it
  • Weekly per-person-per-project reporting became a query rather than an assembly job
  • PLACEHOLDER — add a measured figure here (e.g. monthly licence cost removed, or hours saved on reporting)