
Who
I keep a private GitHub org full of product shells. Some are real apps. Some are landers that talk like apps.
For operators who need the honest split between an $8/mo popup marketing site and a claimed app. / CDN product that is not in this repo. Same org also holds email and helpdesk $8 landers; this one is the popup lane.
What
I built hustleconvert-com, private https://github.com/michaelmonetized/hustleconvert-com. Next.js marketing shell. HEAD a5d3f13. 3 commits. 0 stars. package name hustleconvert.com@0.1.0. README is stock create-next-app.
Stack facts from package.json: Next 16.2.6, React 19.2.6, Tailwind ^4.3.0, Bun lockfile. Dependencies stop there: no Clerk, no Convex, no Stripe package, no popup runtime SDK.
What the UI claims:
- Hero: Popups that don't annoy. Badge: Now with A/B testing. CTAs to
https://app.hustleconvert.com/signupand/templates. - Trial strip: 14-day free trial · No credit card required.
- Features: visual builder, smart triggers (exit-intent / scroll / time / click), display rules, A/B, analytics, 50+ templates.
- Competitor table: OptinMonster
$20+/mo, Sumo$49+/mo, HustleConvert$8/mowith Unlimited Popups + No Branding checked. - Pricing: Free (1 campaign / 1,000 impressions), Pro $8/mo, Team $24/mo. Annual Pro copy: $80/year.
- FAQ text says Stripe (+ Team invoicing); still no Stripe in deps.
- Brand: Tailwind
brand.500 = #0ea5e9,accent.500 = #8b5cf6. - Docs Quick Install snippet points at
https://cdn.hustleconvert.com/v1/hc.min.js.


Real page.tsx routes: /, /pricing, /templates, /docs.
Linked but missing: footer /blog, /help, /about, /contact, /privacy, /terms, /docs/changelog, /docs/api, and the docs children (/docs/quickstart, /docs/exit-intent, /docs/api/campaigns, …). /docs is an index of cards pointing at pages that do not exist. Auth is externalized to app.hustleconvert.com (not a local /signup route).


Sibling $8 landers in the same org: hustlemail-com (email), hustledesk-com (helpdesk), hustleforms-com (forms).
Where
Code: github.com/michaelmonetized/hustleconvert-com, private.
Live probes at pack time:
hustleconvert-com.vercel.app/hustleconvert.vercel.app: 404DEPLOYMENT_NOT_FOUNDhustleconvert.com: NXDOMAIN (no A/AAAA)app.hustleconvert.com: NXDOMAIN
Local inspect clone: /tmp/cf-inspect/hustleconvert-com @ a5d3f13.
When
2026-02-18 07:57 ET. 691b4b4 feat: initial hustleconvert.com marketing site (+2526 / 24 files).
2026-06-22 17:13 ET. e97591f nightly (Fallow hooks, AGENTS.md, REVIEW.md, .uncap, dep bumps).
2026-06-22 18:11 ET. a5d3f13 nightly empty tip (HEAD).

Why
A lander that prices against OptinMonster still needs a resolvable product surface before it is a product story. app. and cdn. strings in JSX are marketing copy, not a shipped runtime. NXDOMAIN is a cleaner failure mode than a parked WordPress front page; it is still not a launch.
Engagement Q: How many of your $8/mo SaaS repos are four marketing pages pointing at an NXDOMAIN app. subdomain?
