Forgelab Week 6: $20 MRR, 5 APIs, and the Week I Fixed What You Cannot See
Week 6 — Friday build in public update Honest one this week: no new revenue. Still at $20 MRR with 2 paying customers. But I shipped something important that you cannot see — and that is the point. Fixed a critical Stripe webhook bug The webhook secret in .env was pointing to the wrong key — a test-mode vs live-mode mismatch introduced during setup. Every webhook Stripe fired was failing signature verification silently. Payments were processing, but downstream usage tracking was unreliable. Found it, fixed it, confirmed it working. This is exactly the kind of invisible bug that breaks your product for paying customers without anyone raising a hand. Turned on the firewall UFW was installed on the server but inactive. I ran a security audit and found it. Now active, locked to ports 22, 80, and 443 only. This should have been day-one infrastructure. It was not. Security audit: 0 npm vulnerabilities Ran npm audit across all 11 services. Clean. No critical or high issues. Built and launched the customer dashboard Users now have a place to log in and manage their API keys. Simple, fast, and live on port 3010. 11/11 services stable No crashes. No memory leaks. Automated morning health check running daily at 7am via cron. API What it does PDF API merge, split, compress, convert Image API resize, compress, watermark, convert PDF to JSON API extract structured data from any PDF QR Code API generate PNG/SVG/base64, decode from image Invoice API generate PDF invoices from JSON — 3 templates, 15 currencies Pricing starts at $5/month for 100 calls. Free tier: 5 calls/month, no card required. → forgelab.africa Revenue is not growing because I have not started marketing properly. I have been heads-down building — 5 APIs in 6 weeks. That is real progress. But code does not sell itself. This is the classic solo-builder trap: you keep building because building is comfortable, and selling is uncomfortable. Next week I am stopping new API work and focusing only on: Outreach — get 3 external signups from real developers (not test accounts) One SEO blog post targeting a real developer search query Wire up the free browser tools (merge-pdf, compress-pdf) to capture organic traffic Metric Value MRR $20 Paying customers 2 Waitlist signups 15 APIs live 5 Services running 11 / 11 Blog articles 7 npm vulnerabilities 0 Uptime 100% Building slow. Building honest. I post weekly build-in-public updates every Friday. This is week 6. Stack: Node.js 20, Express, SQLite, Stripe, Nginx — no VC, no team, no shortcuts.
