Aromba — Growth Playbook
Step-by-step, free channels only, with numbers. Every number is an estimate (est.) from typical dev-tool funnels, not data; replace with real ones after the first two weeks using the ?src= tracking in section 2. Paid marketing only after section 12 triggers.
No quiet start. Launch week fires every free channel at once, because the built-in loops (section 4) only start working once there are enough users to share. Phase 3 is a second wave with the assistant.
Target: 1,000 paired installs by the end of launch week’s second Monday, then 1,000 more from phase 3. Section 10 shows how the channels add up in worst / normal / best cases.
1. How the funnel converts (est.)
Used in every channel estimate below:
| Step | Typical | Note |
|---|---|---|
| Views → click to site or repo | 1–3% | higher for a strong visual (the report screenshot) |
| Click → install | 5–15% | dev audience, one-command install; 15% only for warm audiences (HN front page, creator viewers) |
| Install → paired Telegram | 80% | the link is the last step; the rest abandon in the terminal |
| Paired → D7 active | 60% | |
| D7 active → founder seat ($1) | 10% | |
| Seat → locked discount ($30) | 25% |
“Installs” below means paired installs.
2. Setup before any posting (one day)
Accounts — create now, age them
| Where | Steps | Why now |
|---|---|---|
| Hacker News | news.ycombinator.com → create account today → comment helpfully every day until launch | a new account can post a Show HN; a week of real comments lowers the flag risk. Not ideal, but waiting is worse |
| reddit.com → create today → join r/selfhosted, r/devops, r/webdev, r/node, r/ClaudeAI, r/vibecoding, r/linuxadmin, r/sideproject, r/indiehackers → comment every day until launch | subs with age/karma limits will remove week-old posts; launch week uses the subs that allow it (r/sideproject, r/indiehackers, r/ClaudeAI, r/vibecoding, r/selfhosted usually do), the rest wait for phase 3 | |
| X | product account @aromba (or nearest free) + James’s personal; bio, link, pinned post placeholder | followers accrue during build-in-public |
| GitHub | github.com/DuDefication/Aromba, public from phase 1, no organization (D103); Discussions on; topics set (section 3A) | the repo is the landing page |
| Product Hunt | create account today; upvote and comment on 10+ products this week | a week-old maker account is acceptable; a launch needs the listing drafted 3 days ahead |
| dev.to, Hashnode | create, set canonical URL to aro.mba/blog | cross-posting technical articles |
| Habr | create; first article goes to the sandbox (“Песочница”) and passes moderation | Russian tech audience |
| Indie Hackers | create; post one “what I’m building” | founder-story audience |
| YouTube | channel for hosting the install video (unlisted is fine) | embeds everywhere |
| Telegram | group “Aromba” for users and founders | community home |
| Self-hosted Umami, or the reverse proxy’s access log | enable on aro.mba | free page and referrer stats |
Tracking
- Install command accepts a source:
curl -fsSL "https://aro.mba/install?src=hn" | sh. The install script sendssrcto the relay once at pairing. Sources:x,hn,askhn,reddit-<sub>,gh,awesome,yt-<creator>,nl-<name>,ph,habr,tg-<channel>,devto,share-report,share-card,share-scene,chore-link,invite. - Relay dashboard for us: installs by
srcby day; paired rate; D7; seats; locks. - GitHub → Insights → Traffic: referrers and clones, weekly screenshot.
Assets (content bank)
- 20-second screen recording: terminal command → Telegram report. Export as MP4 and GIF (under 5 MB for README).
- Six report screenshots on real servers: clean, messy, broken, empty, prod mode, after a fix. Names blurred.
- The Warden diagram: one image, Worker vs Warden, cage, ladder.
- Three Space snapshots.
- One-paragraph description (60 words) and one-line description (12 words) for every submission form.
- README (section 3A).
3. Channel playbooks
Each: steps → timing → time cost → numbers (est.) as installs: worst / normal / best.
3A. GitHub (always on)
Steps:
- README order: one line → install command in a code block → GIF → three “never” lines (never deletes user data / never executes without a tap / never sends file contents) → 6-line security summary with link to SECURITY.md → what it does → how to write a chore → roadmap link.
- Topics:
server-monitoring,devops,sysadmin,vps,telegram-bot,ai-agent,self-hosted,claude-code,linux,go. - Releases with notes written for users and one screenshot each; tag every phase.
- Issues labeled
good first chorefrom day one (5 ready);CONTRIBUTING.mdwith a 10-line chore example. - Discussions categories: “Show your first report”, “Chore requests”, “Q&A”.
- Awesome-list PRs (each list has a CONTRIBUTING file; follow it exactly, one PR each, at phase 2): awesome-selfhosted, awesome-sysadmin, awesome-devops, awesome-claude-code, awesome-telegram-bots, awesome-go.
- Trending: GitHub Trending is driven by stars in a 24-hour window; stack Show HN, the X thread and creator videos on the same day (section 3C).
Time: README half a day; ongoing 1 hour a week. Numbers by end of phase 3, organic GitHub only (search, trending, awesome lists): 20 / 150 / 600 installs; stars 100 / 800 / 4,000.
3B. X / Twitter (main, daily)
Steps:
- Personal account posts the story; product account posts artifacts. Pin the install video on both.
- Daily during launch weeks, 3×/week otherwise. One artifact per post: a report screenshot, a weekly card, a data point, a scene.
- Launch threads (template in section 9): phase 1 story thread, phase 2 data thread, phase 3 main thread.
- Reply strategy: 20 minutes a day; search “deployed my first”, “VPS full”, “server hacked”, “Claude Code deploy”, “Cursor deploy”; answer the actual question; mention Aromba only when it would have solved it.
- Ask the first 20 users to post their report with the image card; repost every one.
Time: 30 minutes a day. Numbers (personal account ~500–2,000 followers): per launch thread 3k / 15k / 150k views → 5 / 40 / 400 installs; daily posting and replies over 6 weeks: 20 / 120 / 500. X total by end of phase 3: 30 / 250 / 1,500.
3C. Show HN (launch week, day 1)
Steps:
- Account aged per section 2.
- Submit at news.ycombinator.com/submit, Tuesday–Thursday, 7–9 am US Eastern (15:00–17:00 Dubai). URL: the GitHub repo (more trust than a landing page). Title for launch week (phase 1, scan only):
Show HN: Aromba – one command, and your VPS reports to Telegram what's wrong with it. Under 80 characters, no marketing words. A second Show HN is acceptable months later for a major new version — that is phase 3, with the assistant, titled around the Warden. - First comment immediately (template in section 9): what it is, what it can’t do, Warden in three lines, link to SECURITY.md, what’s not built.
- Stay 12 hours. Answer every comment within 15 minutes, especially the hostile ones; concede real points; never ask for votes anywhere.
- If it gets under 5 points in 3 hours, HN allows one repost of a Show HN that got no attention after about a week — do it once, different day and hour.
- Skip the Ask HN; there’s no time. Collect vocabulary from the launch thread instead.
Time: one full day plus the Ask HN hour. Numbers: worst (never leaves /new): 10 points, 300 clicks, 15 installs; normal (front page 4–8 hours): 150 points, 6k clicks, 350 installs; best (top 3 for a day): 500+ points, 25k clicks, 1,200 installs. Front-page odds for a well-prepared security-angle Show HN: roughly one in three (est.).
3D. Reddit (launch week: every sub that allows a new account; the rest from phase 2)
Steps:
- Read each sub’s rules; several ban “self-promotion” unless you’re an active member and the post is about the problem.
- Post as a person, with a screenshot, not a link post. Different text per sub (templates in section 9). Sub → angle: r/selfhosted (self-hosted relay, no cloud), r/devops (the Warden and the cage), r/webdev and r/node (disk full after deploys), r/ClaudeAI and r/vibecoding (“who watches your server after Claude Code deploys it”), r/linuxadmin (SECURITY.md first, expect hard questions), r/sideproject and r/indiehackers (the founder story and the $1 seat).
- Post 14:00–17:00 US Eastern, Tuesday–Thursday. Answer every comment for 6 hours.
- Launch week is the exception to one-sub-a-week: post in 3–4 permissive subs across the week, different text each, one per day. After that, one sub a week.
Time: 2 hours per post. Numbers per post: 300 views / 3 installs (removed or ignored) — 8k views / 50 installs — 80k views / 400 installs. Eight subs over phases 2–3: 15 / 250 / 1,200. Expect two of eight posts to be removed.
3E. Creators (DMs today; videos in launch week and again at phase 3)
Steps:
- Find: YouTube search “built with Claude Code”, “deploy to VPS”, “vibe coding deploy”, “Cursor to production”; X search the same. Target channels with 5k–100k subscribers and a video in the last month. Make a list of 20.
- DM template in section 9. Offer: access now (the scan works), a
?src=yt-<name>link, a code that reserves 50 founder seats for their viewers. No payment, no script, ask for honesty. - Send 30 DMs today; expect 5–8 replies, 2–3 videos in launch week and 3–5 more at phase 3 when there’s more to show.
- Give them the asset pack and a 15-minute call if they want.
- Repost every video the day it’s out.
Time: 4 hours to find and DM, 2 hours support. Numbers per video: 500 views / 5 installs — 6k views / 80 installs — 60k views / 700 installs. Five videos: 20 / 350 / 2,000. This is the highest-variance channel and the one most worth the effort for vibe coders.
3F. Newsletters and directories (launch week, day 1; resubmit at phase 3)
Steps: each has a submit page; find it on their site, submit the one-paragraph description, the GIF link, and the repo. One submission each: TLDR, Console.dev, Changelog News, Bytes, Node Weekly, DevOps Weekly, Self-Hosted Weekly, Hacker Newsletter (picks from HN automatically), Golang Weekly. Directories: AlternativeTo, SaaSHub, OpenAlternative, Awesome Open Source, LibHunt. Time: 3 hours total. Numbers: newsletters accept maybe 1 in 4 (est.); one inclusion in a large newsletter: 300–1,500 clicks → 30–150 installs. Across all: 10 / 120 / 500. Directories: slow trickle, 5–30 a month.
3G. Technical articles (first one in launch week, then one a month)
Steps: write on aro.mba/blog; cross-post to dev.to and Hashnode with canonical URL; submit each to HN as a normal link (not Show HN) and to one relevant sub. Topics in order: “What one command found on my VPS” (launch week, short, the six screenshots); “touches is a cage, not a comment”; “Why our AI can’t execute”; “What we found on 1,000 servers” (the data post — this one travels furthest). Time: one day per article. Numbers per article: 500 reads / 5 installs — 5k / 60 — 40k / 500. Three articles by phase 3: 15 / 150 / 800. The data post alone can outperform the launch if the number is striking.
3H. Communities (Discord / Telegram)
Steps: join Claude Code, Cursor, Lovable, Bolt, Replit servers and 3–5 vibe-coding Telegram channels (English and Russian); a week of answering server questions before any mention; post only in show-your-work channels, with the screenshot; ask admins before posting where rules are unclear. Time: 20 minutes a day. Numbers over 6 weeks: 10 / 60 / 250.
3I. Product Hunt (launch week, day 4; relaunch at phase 3 as a major update)
Steps: create the listing a week ahead (tagline under 60 characters, 4 images, the video, first comment as maker); launch at 00:01 Pacific (11:01 Dubai) on a Tuesday or Wednesday; post the link on X and in the Telegram group at 00:05; answer every comment for 12 hours; no vote-asking messages to strangers. Time: one day. Numbers: 30 / 150 / 600 installs; the listing keeps sending 5–20 a week afterwards.
3J. Russian-speaking (launch week)
Steps: Habr — full technical article (Warden, cage) into the sandbox, then moderation; Telegram channels on vibe coding and DevOps — DM admins with the screenshot and ask for a mention (many post free tools for free); vc.ru — the founder story. Each with its own ?src=.
Time: one day for the Habr article, 2 hours for outreach.
Numbers: Habr front page 20 / 150 / 500; Telegram channels 10 / 80 / 300.
4. Mechanics built into the product — with numbers (est.)
Assumed share rates once the buttons exist:
| Loop | Share rate | Installs per share | Contribution per 1,000 users |
|---|---|---|---|
| Share first report (image) | 8% | 0.5 | 40 |
| Weekly card | 3% of actives per week | 0.5 | 15/week |
| Space snapshot / public link | 5% | 1.0 | 50 |
Chore link (aro.mba/c/…) | 5% of chore authors | 2.0 | 20 |
| Founder invite (both get a month) | 40% of locked founders | 1.5 | 20 |
| Install command pasted to a friend | untracked | — | — |
Effect: a viral factor around 0.15–0.25 (est.) — not self-sustaining, but every 1,000 users bring 150–250 more for free, forever. This is what turns launch spikes into a slope.
5. Founders as the engine
- Seats-left counter on the site header and in the bot’s first offer: “612 founder seats left.”
- Founder Telegram group with early builds; their feedback is the changelog.
- Every launch post ends with a real number: “N founders locked the price this week.”
- Invite link inside the seat (section 4).
6. Calendar
Day −7 to −1 — prep (this week)
| Day | Action |
|---|---|
| −7 | Create every account in section 2; start commenting on HN and Reddit daily; 30 creator DMs; Telegram group created |
| −6 | Assets: install video, six screenshots, Warden diagram, blurbs; ?src= wired; counters on the site |
| −5 | README final; Product Hunt listing drafted; newsletter/directory submissions written (not sent) |
| −4 | Article 1 written (“What one command found on my VPS”); Habr version written |
| −3 | 10 friends install privately, report bugs; fix |
| −2 | Everything scheduled; creators have access |
| −1 | Sleep |
Launch week — everything at once
| Day | Action |
|---|---|
| 1 (Tue), 15:00 Dubai | Show HN |
| 1, 15:30 | X launch thread; friends post their reports; Telegram group open; founders counter live |
| 1, 16:00 | Reddit r/sideproject; newsletter and directory submissions sent; article 1 published and cross-posted |
| 1, all day | Answer everything for 12 hours |
| 2 | Reddit r/ClaudeAI; Habr article to sandbox; Russian Telegram channel outreach; Indie Hackers post; repost every user report |
| 3 | Reddit r/vibecoding; creator videos publish; communities (Discord/Telegram) show-your-work posts |
| 4 (Fri), 11:01 Dubai | Product Hunt |
| 5 | Reddit r/selfhosted; “what people asked” post; fix top three complaints, say so |
| 6–7 | Reply strategy only; weekly card goes live for the first users |
| 8 (Mon) | Metrics review; decide which channels beat “normal”; awesome-list PRs |
Installs by day 8 (est.): 150 / 900 / 3,500.
Weeks 2–4 — keep the slope
One Reddit sub a week (the age-limited ones now allowed), article 2, first good first chore PRs credited, weekly cards and shares reposted daily, phase 2 changelog with the first aggregate number. Cumulative end of week 4: 250 / 1,500 / 5,500.
Phase 3 — second wave, one day
Same shape as launch week, one day: second Show HN (major version, Warden title), main X thread, creator round two, Product Hunt relaunch, newsletter resubmissions, article 3 submitted as a link. Cumulative after: 400 / 2,500 / 9,000.
After — weekly rhythm
One small show a week (chore, scene, user story, data point); one article a month; reply strategy daily. Expected steady state: +40 / +150 / +400 a week including loops.
7. Weekly routine (hours)
| Task | Hours/week |
|---|---|
| X posts and replies | 3.5 |
| Communities | 2 |
| One Reddit post + comments | 2 |
| GitHub issues, PRs, Discussions | 2 |
| Article (amortized) | 2 |
| Repost user content, founder group | 1 |
| Metrics review (Monday) | 0.5 |
| Total | ~13 |
Launch weeks: double.
8. Metrics review (every Monday, 30 minutes)
- Relay: installs by
src, paired rate, D7, D30, seats, locks — last 7 days vs previous. - Which
srcbeat its “normal” estimate? Do more of it this week. Which fell below “worst”? Drop it. - Share rates per loop; if a loop is under half its estimate, fix the button placement, not the incentive.
- Update this document’s numbers with real ones once a month.
9. Templates
X launch thread (phase 3)
- “Your server deployed itself with Claude Code. Who’s watching it now? Nobody. [video]”
- “Aromba: one command, and a caretaker moves in. Cleans junk, watches disk and logins, backs up, reports in Telegram every morning.”
- “It has an AI. The AI can’t execute anything. A separate guard holds all the power; the AI only proposes; you tap. [Warden diagram]”
- “On the first N servers it found X TB of junk and Y brute-force attempts nobody knew about. [report screenshot]”
- “Open source, one server free forever, relay self-hostable. Install:
curl -fsSL https://aro.mba/install?src=x | sh” - “First 1,000 users get a founder seat. N left.”
Show HN first comment
“Hi HN, I built Aromba because I kept deploying things with Claude Code and then forgetting the server existed until the disk filled up. It’s a daemon that runs small maintenance scripts (‘chores’), reports to one Telegram chat, and has an assistant. The assistant cannot execute anything: a separate root-owned Warden process holds all privileges, every chore runs in a namespace where only its declared paths are writable, and there are honeypot files that lock the whole thing down if anything reads them. Security doc: [link]. Not built yet: [honest list]. I’d like to hear where you think the model breaks.”
Reddit (r/selfhosted example)
Title: “I made a caretaker daemon for my VPS that reports to Telegram — relay is self-hostable, AI can’t execute anything”. Body: the problem in two lines, the screenshot, what it does, the security model in four lines, the self-hosted relay command, the repo link, “happy to answer anything”. No install command in the body if the sub forbids promotion; the repo is enough.
Creator DM
“Hi [name] — watched your [video]. I built a small open-source tool for exactly the moment after that video ends: a caretaker for the VPS you just deployed to. One command, reports in Telegram, AI that can propose but can’t execute. Launching [date]; I’d love to give you access a week early, no strings, no script — say whatever you think. I can also reserve 50 founder seats for your viewers. Repo: [link].”
Newsletter blurb (60 words)
“Aromba is an open-source caretaker for servers. One command installs a daemon that cleans junk, watches disk, logins and services, backs up databases, and reports to a Telegram chat every morning. Its AI assistant can diagnose and propose fixes but can never execute: a separate guard process holds all privileges. One server free forever; relay self-hostable.”
10. How it adds up (cumulative, after the phase 3 wave) (est.)
| Channel | Worst | Normal | Best |
|---|---|---|---|
| GitHub organic | 20 | 150 | 600 |
| X | 30 | 250 | 1,500 |
| Show HN | 15 | 350 | 1,200 |
| 15 | 250 | 1,200 | |
| Creators | 20 | 350 | 2,000 |
| Newsletters, directories | 10 | 120 | 500 |
| Articles | 15 | 150 | 800 |
| Communities | 10 | 60 | 250 |
| Product Hunt | 30 | 150 | 600 |
| Russian channels | 30 | 230 | 800 |
| Built-in loops (×1.15–1.25 on the above) | 25 | 300 | 1,700 |
| Total | ~220 | ~2,300 | ~11,000 |
The worst column assumes every channel flops at once, which doesn’t happen; the best assumes several go viral together. Plan on the normal column. The point of firing everything in week one: the loops in section 4 need a few hundred users before they contribute anything, and every week of delay is a week they sit idle. Funnel after: normal case → ~1,400 D7 actives → ~140 founder seats → ~35 locked discounts.
11. What we don’t do
Paid ads before section 12. Product Hunt on the same day as Show HN (three days apart). Cold email. Vote rings or DM-begging. Trashing other tools by name. Any mention of crypto in Aromba’s channels; the founder seat is “$1”, the method is a checkout detail.
12. When money enters
Only when both hold for a full month: D30 active above 40% and founder seats above 8% of D7 actives. Then, in order, with ?src= on each: one sponsored issue of one dev newsletter; one paid video with a creator who already covered us for free; and nothing else until those two report their cost per paired install. Budget starts at $500/month and doubles only when cost per paired install is under $3 (est.) and D30 holds.