114 releases. 143 pull requests. 41 SEO blog posts. A complete landing page, docs site, Slack integration, and billing system — all shipped in under a week by one person and an AI agent.
This is the story of how I built Manage Roster — a full SaaS product for scheduling 24/7 support teams — using OpenClaw (an AI agent framework), Claude Sonnet 4.6 (the reasoning engine), and xCloud (managed hosting). I didn’t write a single line of code myself.
Running a 24/7 customer support team across multiple timezones is painful. You need to know who is working right now, who is scheduled tomorrow, who took leave, who put in overtime — and whether there’s a coverage gap that leaves customers hanging.
Most teams solve this with spreadsheets. Shared Google Sheets, color-coded rows, manual updates every Sunday. It works — until it doesn’t. Agents forget to update it. Managers don’t see gaps until it’s too late. There’s no record of who submitted work reports, who didn’t, and who’s actually carrying the team.
I looked at existing tools. They were either too simple, too expensive, or built for construction crews — not software support teams. So instead of spending months building it myself, I gave the job to an AI agent.
xCloud handled everything infrastructure-related — deploying the Laravel app, managing the MySQL database, running PHP 8.2, SSL certificates, and production deployments. I didn’t touch a single server config file. xCloud’s one-click Laravel deployment meant the agent could focus entirely on building features rather than debugging server setup.
OpenClaw is an open-source AI agent platform that runs Claude as a persistent background agent. It has memory, can execute shell commands, read and write files, search the web, and manage git — and it integrates with Telegram so you can give instructions from your phone. I was literally reviewing PRs from my phone while the agent was pushing commits.
Claude Sonnet 4.6 was the reasoning engine. It planned the architecture, wrote the Laravel controllers and Vue components, designed the database migrations, crafted the SEO blog posts, and debugged its own mistakes.
Key detail: The agent runs on an xCloud-hosted VPS. xCloud’s always-on server meant the agent never slept — it could push code, run builds, deploy to production, and respond at 3 AM without any babysitting.
Tech stack:
Laravel 11 app created on xCloud. Multi-tenant workspace architecture (one company = one workspace), user registration with Cloudflare Turnstile, agent management, role system (Owner / Manager / Member / Lead), and the initial onboarding wizard. First deploy to production before end of day.
Shipped: v1.0.0 → v1.1.x
The core product: a live 24-hour day view showing every agent’s schedule, color-coded by agent, with real-time gap detection. Monthly calendar with coverage dots. OT assignment system — managers can assign agents to cover gaps. Weekly schedule builder with per-day hour selectors.

Shipped: v1.2.x → v1.4.x
Agents submit daily work reports via a template system. Admins get a filterable dashboard showing submissions across the team. A leaderboard ranks agents by composite score (tickets, reviews, report consistency). Leave management with casual/annual/sick types, approval workflow, and automatic gap reflection on the schedule.

Shipped: v1.5.x series (over 50 releases)
Full SaaS transformation — public registration, beta plan (coupon-gated), LTD access coupons, platform admin panel. Marketing landing page at manageroster.com with hero, feature tour, spotlight videos, and exit-intent popup. Complete VitePress docs site with 35 pages. SEO setup: sitemap, robots.txt, Google Analytics, Search Console.

Shipped: v1.6.x → v1.7.x
Slack OAuth integration — per-workspace connection, Block Kit work report notifications, DM alerts for missed reports. 41 SEO-optimized blog posts published. Puppeteer automation to screenshot every doc page (39 screenshots). Remotion video for the landing page. Missed Reports admin view.
Shipped: v1.7.1 → v1.7.2
This isn’t a prototype. Here’s everything that shipped:
| Feature | What it does |
|---|---|
| 24-Hour Day View | Live schedule, color-coded agents, real-time clock, gap warnings, admin slot assignment |
| Monthly Calendar | Coverage dots per day, gap highlighting, today always marked |
| Work Reports | Template system, daily submission, filterable admin dashboard with analytics |
| Leaderboard | Composite scores across tickets, reviews, and report consistency |
| Leave Management | Casual/annual/sick leave, approval workflow, auto-reflects on schedule |
| Who’s Online | Live presence panel — Online / Away / Offline, manager-only view |
| OT Assignment | Gap-first slot selection, per-day limits, approval flow, writes to schedule on approve |
| Slack Integration | Per-workspace OAuth, Block Kit notifications, DM alerts for missed reports |
| AI Assistant | Scheduling recommendations and performance insights |
| Billing & Plans | Free, Beta (coupon-gated), Pro, and LTD plans |
| Missed Reports | Admin view showing missed submissions by day/week/month, one-click notify |
| Platform Admin | Customer management, coupon system, workspace oversight |
People assume AI agents just write code. The reality is more interesting. Here’s how a typical feature cycle worked:
Me → Agent (via Telegram, one sentence):
"Add a Missed Reports view under Work Reports admin — show which agents
missed submissions by day/week/month with a notify button"
Agent → GitHub (autonomous):
1. Opens GitHub issue #303 with full spec
2. Creates branch feat/missed-reports-303
3. Writes MissedReportsController.php, MissedReports.vue, routes
4. Runs npm run build + php artisan migrate
5. Opens PR #304 with description
6. Squash merges → updates changelog → tags v1.7.x
7. Deploys to prod → sends confirmation
I never opened a terminal. The agent handled the entire development lifecycle — from GitHub issue to production deploy — autonomously. My job was reviewing what got built and saying “ship it” or “change X.”
The git workflow was strict: Every feature had a GitHub issue, a dedicated branch, a PR with squash merge, a changelog entry, a semantic version tag, and a production deployment. 143 PRs in 5 days. The agent enforced this discipline better than most human teams.
Most side projects have zero docs. This one shipped a complete VitePress docs site with:
The agent wrote Puppeteer scripts to log into the app, navigate to every page, take 1440×900 screenshots, then embed them in the correct markdown files with captions. All 35 pages in a single session.

Content marketing is the part most founders skip. The agent didn’t skip it.
In a single overnight session it wrote and published 41 SEO-optimized blog posts targeting US/Canada audiences. Each post had proper H1/H2/H3 structure, internal links, comparison tables, and keyword density — then committed to the blog directory and deployed.
Topics included:
Zero writer’s block. Zero procrastination. The agent treated content production exactly like code — create an issue, write the post, open a PR, merge it.
The marketing site at manageroster.com was built with conversion in mind:
Running an AI agent that deploys code every few hours puts specific demands on your hosting:
xCloud’s LEMP stack with PHP 8.2 and MySQL handled it flawlessly. The built-in resource monitoring let me glance at CPU/RAM during heavy builds. The server never broke a sweat.
And here’s the meta detail: the OpenClaw agent itself runs on xCloud. The AI that built the product is also hosted on xCloud infrastructure — making the whole system self-contained.
| Metric | Number |
|---|---|
| Days to ship | 5 |
| Version releases | 114 (v1.0.0 → v1.7.2) |
| Pull requests merged | 143 |
| SEO blog posts published | 41 |
| Documentation pages | 35 |
| App screenshots (automated) | 39 |
| API cost (Claude Sonnet 4.6) | ~$40 |
| Lines of code written by hand | 0 |
$40 in API costs. A complete SaaS. A full documentation site. 41 blog posts. In 5 days.
The standard narrative is that building a SaaS takes months. You need a team — backend, frontend, design, content, SEO. You need $50K and 6 months.
That was true 2 years ago.
What changed isn’t just the AI models — it’s the combination of a persistent, memory-enabled agent (OpenClaw), a model that reasons about large codebases (Claude Sonnet 4.6), and infrastructure that lets the agent deploy autonomously without friction (xCloud).
The bottleneck in this build was never the agent. It was me — how fast I could review output and give the next instruction. On days I was actively engaged, it shipped 20+ features. On days I was busy, it still shipped 8–10 while I slept.
Manage Roster is live and in beta. If you run a support team, a remote operations team, or any team with rotating shifts:
If you want to run your own AI agent, your SaaS app, or your Laravel project on infrastructure that handles autonomous deployments without breaking — xCloud is the right call.
1 free server. 10 sites. No credit card. Deploy in 2 minutes.