GrowthOS is Arellano Global's productized Instagram-growth SaaS — an end-to-end client-operations platform where a client can onboard by web form, AI chat, or AI phone call, and every channel merges into a single canonical record. Nothing a client already answered is ever asked twice.
Selling a productized service means every client travels the same road: discovery call → payment → intake → build → go-live → retention. Most agencies stitch that journey together with spreadsheets, sticky notes, and manual handoffs. It works at three clients. At ten, intake answers live in five places, follow-ups get missed, and nobody can say which clients are quietly drifting toward churn.
The most corrosive failure mode is subtler than a missed email: asking a client the same question twice. A client fills half a web form, then takes an onboarding call, and the person on the line re-asks everything the form already captured. Every repeated question tells the client the operation behind the product is duct tape — and trust in a productized service is the product.
GrowthOS needed to run the entire client lifecycle as software: one intake that survives channel switches, a pipeline that moves clients stage to stage without a human pushing rows around, and an analytics layer that spots at-risk accounts before they lapse. The mandate was to build it on self-hosted open source — the capabilities of a dedicated customer-success platform at approximately zero marginal tooling cost.
A framework-free static marketing and funnel site fronts an n8n + NocoDB + Keycloak backend, with payment webhooks, CRM sync, and transactional email. The core architectural idea: web form, AI chat, and AI phone call all POST into a single sync workflow that merges answers into one record.
At payment, the platform issues each client an onboarding token — the identity key for the entire journey. Every channel sends the token with its answers, so the sync workflow can locate the one true client record regardless of where the answers came from, with the paid email as fallback. Web session, chat session, and phone call all resolve to the same row.
A form submit, a chat transcript, and a voice-call turn produce wildly different payloads. Each channel posts { token, tier, channel, ...answers } to the same sync webhook, which normalizes everything into the shared question schema before touching the record. New channels can be added without changing the merge logic — they just need to speak the envelope.
The merge rule is deliberately conservative: an incoming answer only lands in a field that is currently empty. An answer given on the phone can never clobber one typed carefully into the form. This one rule is what makes channel-hopping safe — it converts three racing input streams into monotonic progress toward a complete record, and it is why a dropped phone call simply resumes with the answers already on file.
After every merge, the workflow recomputes completeness against the question set for the client's purchased tier — different tiers need different answers, so "done" is tier-relative. Once the record crosses the threshold, it feeds an AI brief generator that turns raw intake answers into a structured build brief for the setup call. The team walks in already knowing the account.
The unified intake is one stage of a larger machine. A 6-stage automated onboarding pipeline runs the full client lifecycle — each stage is an n8n workflow with its own trigger, advancing the client record and firing the right transactional email at the right moment.
Each transition is event-driven. A calendar booking upserts the client and stamps the appointment. A payment webhook — HMAC-SHA256 verified — maps the purchased plan to a service tier, issues the onboarding token, and sends the intake link. The intake stage is the three-channel sync described above. A setup-call booking flips the record into build mode; go-live flips it to active and triggers the go-live email; and a churn detector watches for lapsed memberships and flags them for follow-up. A scheduled follow-up cadence chases stalled clients between stages so no record silently rots in an intermediate state.
Around the pipeline sits a platform of roughly 32 workflows — channel sync, token validation, partner and newsletter pipelines, CRM booking sync, an operator console API, and the analytics suite — of which 14 were validated end-to-end against the live stack: real payloads through real webhooks into real records, with every state transition and email checked. Client-facing communication across all stages runs on templated transactional email, so the welcome, intake, setup, go-live, and reminder messages ship consistently without anyone drafting them by hand.
Fulfillment itself — the growth-delivery engine that does the actual Instagram work once a client is live — runs on a separate internal engine, covered in its own case study.
Retention is where productized services live or die, so GrowthOS ships a full analytics and customer-success suite — the kind of capability that normally means buying a dedicated CS platform, built here on self-hosted open source at approximately zero marginal tooling cost.
Every architectural decision in GrowthOS flows from a single commitment: there is exactly one record of truth per client, and every channel is just a different way of filling it. The onboarding token gives every interaction an identity; the fill-empty merge makes concurrent channels safe; tier-aware completeness defines "done"; and the AI brief turns the finished record into an asset the build team actually uses. The client experiences it as a service that remembers everything. The operation experiences it as a database that is never wrong about what has been asked.
Every client carries a composite health score from 0 to 100, computed from lifecycle and engagement signals. One number answers the question every operator asks daily — "which accounts need attention?" — without opening five dashboards.
An automated at-risk detector flags accounts drifting toward churn while there is still time to intervene, and the churn stage catches actual membership lapses. Retention becomes a queue to work, not a surprise in the monthly numbers.
A daily funnel digest reports pipeline movement, weekly cohort analysis shows how each intake class matures, and a monthly business review assembles the numbers leadership needs — all generated and delivered automatically.
An internal operator console gives setters and admins a single desk over the same canonical records the pipeline writes — lifecycle actions, reminders, and partner pipeline included, with every admin action written to an audit log.
I design and build end-to-end operations platforms — intake, pipeline, analytics — on self-hosted infrastructure that you own.
Let's Work Together