AI & Automation
ProLyrics.ai
A songwriting platform with no organic acquisition and a CRM blind to product usage — rebuilt into a self-running growth engine.
412KMonthly Organic Sessions
At a glance
The engagement
- Client
- ProLyrics.ai
- Industry
- AI & Automation
- Engagement
- Product build
- Stack
- Ruby on Rails, Ruby, n8n, GoHighLevel
- Team
- Three senior engineers
- Status
- Shipped, in production
- 412KMonthly Organic Sessions
- 96.2%Agent Task Success Rate
- 126Hours Saved by Automation
- 7.2Avg. Search Position
Before
The situation when they came to us
ProLyrics is a professional songwriting platform used by writers working with major labels. It had two structural problems that had nothing to do with the product itself: no organic acquisition channel, and a CRM that could not see what users actually did inside the app — so lifecycle messaging fired on calendar timers rather than behaviour. ENGISOLS built the Rails application, wired product events into the CRM, and then built an autonomous SEO agent that now runs the entire content operation without dedicated headcount.
Growth depended entirely on paid and direct traffic — there was no organic acquisition channel to compound over time.
The CRM had no visibility into product usage, so trial, upgrade, and churn messaging could not respond to what a user had actually done.
The songwriting tools query very large reference datasets — 70,000 idioms and 3,000 genre phrases — and still have to feel instant while a writer is mid-line.
A content operation at real SEO scale normally needs dedicated headcount the business did not have.
Content had to rank in classic search and also surface inside AI answer engines, which retrieve and cite very differently.
What we built
An AI songwriting SaaS rebuilt for growth — Rails product, usage-aware CRM, and an autonomous SEO agent running a daily content operation with no headcount.

Technical decisions
What we chose, and what we gave up for it
Product — Ruby on Rails
The core application: a rhyme engine covering perfect, near, and slant rhymes plus mouth-shape matches; an idea generator for lyric starters and emotional angles; genre and idiom libraries; and an open-ended AI assistant for exploring themes and connections.
Performance — Caching Over Large Datasets
The reference libraries are far too large to query naively on every keystroke. A caching layer over the hot paths keeps lookups responsive, so the tools stay usable at the speed someone actually writes.
Monetization — Subscription Tiering
Tiered subscriptions gating feature access across Starter, Pro, and Enterprise plans, with entitlement checks threaded through the tools rather than bolted on at the edges.
CRM — Behaviour-Triggered Lifecycle
Signup, trial, upgrade, and churn events synced from the product into GoHighLevel, turning the CRM from a static contact list into something that reacts to real usage. Nurture sequences now fire on what a user did, not how long ago they registered.
Growth — Autonomous n8n SEO Agent
An autonomous agent handling the full content loop end to end: daily keyword research, brief generation, drafting, schema markup, internal link mapping, and publishing. It targets classic search alongside answer-engine, generative-engine, and AI optimization, so content is retrievable by both crawlers and AI assistants.
Stack
- Ruby on Rails
- Ruby
- n8n
- GoHighLevel
Results
What changed
- 412,860 organic sessions in a 30-day window, up 18.4% on the previous period.
- Average search position improved to 7.2, a gain of 2.1 positions.
- 1,204 agent tasks completed at a 96.2% success rate, with 99.4% agent uptime.
- 3,846 pages indexed across 3,239 tracked keywords, 214 of them added by the agent.
- 126 hours of manual work saved — the content operation now runs daily with no dedicated headcount.

