<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: RateCalc</title>
    <description>The latest articles on DEV Community by RateCalc (@ratecalc).</description>
    <link>https://dev.to/ratecalc</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3946682%2F1c8fb0c8-11ca-484c-aaed-6b987104a8fc.jpg</url>
      <title>DEV Community: RateCalc</title>
      <link>https://dev.to/ratecalc</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ratecalc"/>
    <language>en</language>
    <item>
      <title>Day 23. Lemon Squeezy approved. Pro is live. Here's everything that changed.</title>
      <dc:creator>RateCalc</dc:creator>
      <pubDate>Thu, 04 Jun 2026 06:20:23 +0000</pubDate>
      <link>https://dev.to/ratecalc/day-23-lemon-squeezy-approved-pro-is-live-heres-everything-that-changed-5c3h</link>
      <guid>https://dev.to/ratecalc/day-23-lemon-squeezy-approved-pro-is-live-heres-everything-that-changed-5c3h</guid>
      <description>&lt;p&gt;12 days. 4 emails. 0 replies.&lt;br&gt;
Then approval came through.&lt;br&gt;
RateCalc Pro is finally open.&lt;br&gt;
What's in Pro&lt;br&gt;
7 tabs. All pre-filled with your calculated rate.&lt;/p&gt;

&lt;p&gt;Media Kit PDF&lt;br&gt;
Lowball Destroyer email scripts&lt;br&gt;
Smart Objection Handler&lt;br&gt;
Deal Closer Contract template&lt;br&gt;
Invoice Generator&lt;br&gt;
Rate History&lt;br&gt;
Affiliate Program (20% commission, auto-paid via LemonSqueezy)&lt;/p&gt;

&lt;p&gt;Monthly: $12 · Lifetime: $39 (pays off in 3 months)&lt;br&gt;
The stack at day 23&lt;br&gt;
FastAPI + PostgreSQL + Railway = $5/month&lt;br&gt;
LemonSqueezy = payments + affiliate payouts&lt;br&gt;
Resend = transactional emails&lt;br&gt;
Umami = privacy-first analytics&lt;br&gt;
36 automated tests. All green.&lt;br&gt;
No Next.js. No Vercel. No bloat.&lt;br&gt;
The honest numbers&lt;/p&gt;

&lt;p&gt;Calculations: 3,300+&lt;br&gt;
Twitter followers: 15&lt;br&gt;
Countries: 23 + 44 country landing pages live&lt;br&gt;
Revenue: still $0 — but now accepting payments&lt;/p&gt;

&lt;p&gt;The product is ready. The payment processor is unblocked. The only thing left is the first paying user.&lt;br&gt;
Still here.&lt;/p&gt;

&lt;p&gt;ratecalc.fyi — free calculator stays free forever.&lt;/p&gt;

</description>
      <category>buildinpublic</category>
      <category>webdev</category>
      <category>startup</category>
      <category>python</category>
    </item>
    <item>
      <title>Day 18. Still $0 revenue. Here's the honest update nobody writes.</title>
      <dc:creator>RateCalc</dc:creator>
      <pubDate>Fri, 29 May 2026 11:44:38 +0000</pubDate>
      <link>https://dev.to/ratecalc/day-18-still-0-revenue-heres-the-honest-update-nobody-writes-12dg</link>
      <guid>https://dev.to/ratecalc/day-18-still-0-revenue-heres-the-honest-update-nobody-writes-12dg</guid>
      <description>&lt;p&gt;Post:&lt;br&gt;
Two weeks ago I wrote about getting 3,200+ calculations with $0 ad spend.&lt;br&gt;
Here's what happened since.&lt;br&gt;
The numbers&lt;/p&gt;

&lt;p&gt;Calculations: still showing 3,200+&lt;br&gt;
Twitter followers: 9&lt;br&gt;
Reddit karma: 20&lt;br&gt;
Lemon Squeezy: still in review, 3 emails sent, 0 replies&lt;br&gt;
Revenue: $0&lt;/p&gt;

&lt;p&gt;What's working&lt;br&gt;
Twitter reply strategy is the only thing generating real conversations right now. Not follower growth — conversations. A comment under @StevBuilds asking "if AI is gone, would your business survive?" turned into a genuine back and forth. Someone asked what I built. That's how distribution actually works — one real conversation at a time.&lt;br&gt;
Reddit is slow. New account, 20 karma, building carefully this time. No shortcuts.&lt;br&gt;
What's blocked&lt;br&gt;
The Pro plan has been live for 7 days. Nobody can pay for it because Lemon Squeezy hasn't approved the account. Three emails. Zero replies. The product is ready. The payment processor isn't.&lt;br&gt;
This is the part of building in public nobody really talks about — you can ship everything and still be blocked by a third party you have no leverage over.&lt;br&gt;
What I'm doing while waiting&lt;/p&gt;

&lt;p&gt;Pinterest: 3 pins/day, slow but evergreen&lt;br&gt;
Dev.to: you're reading it&lt;br&gt;
Twitter: 20-30 replies/day, genuine ones only&lt;br&gt;
Reddit: karma building, no links yet&lt;/p&gt;

&lt;p&gt;The honest part&lt;br&gt;
Day 18 feels different than day 12. The excitement of shipping is gone. What's left is just showing up anyway.&lt;br&gt;
$0 revenue with a live product and a payment processor that won't respond is a specific kind of frustration. But the calculator is still getting used. People still have the problem. That part hasn't changed.&lt;br&gt;
The product works. Distribution is slow. Payment is blocked.&lt;br&gt;
Still here.&lt;/p&gt;

&lt;p&gt;ratecalc.fyi — free, no signup, 23 countries.&lt;/p&gt;

</description>
      <category>buildinpublic</category>
      <category>webdev</category>
      <category>startup</category>
      <category>python</category>
    </item>
    <item>
      <title>How I secured my FastAPI app - 6 vulnerabilities fixed in one session with gstack /cso</title>
      <dc:creator>RateCalc</dc:creator>
      <pubDate>Wed, 27 May 2026 05:42:20 +0000</pubDate>
      <link>https://dev.to/ratecalc/how-i-secured-my-fastapi-app-6-vulnerabilities-fixed-in-one-session-with-gstack-cso-2i4</link>
      <guid>https://dev.to/ratecalc/how-i-secured-my-fastapi-app-6-vulnerabilities-fixed-in-one-session-with-gstack-cso-2i4</guid>
      <description>&lt;p&gt;I've been building ratecalc.fyi — a free sponsorship rate calculator for UGC creators — for 16 days. On day 13, I ran a security audit using gstack's /cso skill on Claude Code.&lt;br&gt;
It found 6 issues. I fixed all of them in one session.&lt;br&gt;
Here's exactly what was wrong and how I fixed it.&lt;br&gt;
What is gstack /cso?&lt;br&gt;
gstack is an open-source skill pack for Claude Code built by Garry Tan (YC CEO). The /cso skill runs an OWASP Top 10 + STRIDE threat model audit on your codebase.&lt;br&gt;
You run it with one command:&lt;br&gt;
Load gstack. Run /cso&lt;br&gt;
The 6 vulnerabilities&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;🔴 CRITICAL — Admin password in git history
My admin password was hardcoded 6 commits ago. Anyone with repo access could extract it from git history.
Fix: Rotated the password, moved to env variable, scrubbed git history with git filter-repo, force-pushed.
python# Before
_ADMIN_PASS = b"hardcoded_password_here"&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  After
&lt;/h1&gt;

&lt;p&gt;_ADMIN_PASS = os.getenv("ADMIN_PASS", "changeme").encode()&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;🔴 HIGH — User emails committed to git
My SQLite database file (notify.db) containing user emails was committed to the repo.
Fix: git rm --cached notify.db, scrubbed from all history, added to .gitignore.&lt;/li&gt;
&lt;li&gt;🔴 HIGH — Webhook auth bypass
The LemonSqueezy webhook skipped signature verification if LEMONSQUEEZY_WEBHOOK_SECRET wasn't set — meaning anyone could POST fake payment events and get free Pro access.
Fix: App now raises on startup if the secret is missing. Fail closed, not fail open.&lt;/li&gt;
&lt;li&gt;🔴 HIGH — Admin fallback password
Admin panel fell back to "changeme" if ADMIN_PASS env var wasn't set.
Fix: Same pattern — startup raises if env var missing.&lt;/li&gt;
&lt;li&gt;🟡 MEDIUM — Rate limit bypass
The calculator rate limit read IP from X-Forwarded-For header, which any client can spoof.
Fix: Changed to request.client.host — not spoofable at transport layer.&lt;/li&gt;
&lt;li&gt;🟡 MEDIUM — Missing security headers
CSP and HSTS headers were absent.
Fix: Added Content-Security-Policy, Strict-Transport-Security, and Permissions-Policy via FastAPI middleware.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;What I learned&lt;br&gt;
Running a security audit before your first paying user is much better than after. All 6 of these issues were fixable in under 2 hours — but any one of them could have caused real damage with real users.&lt;br&gt;
The gstack /cso skill is free, open source, and takes about 15 minutes to run. If you're building a FastAPI app (or any web app), run it now.&lt;br&gt;
The repo: ratecalc.fyi is live. Free calculator, no signup required.&lt;/p&gt;

</description>
      <category>security</category>
      <category>fastapi</category>
      <category>python</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>How I got 3,200 users in 10 days with $0 ad spend — the exact strategy</title>
      <dc:creator>RateCalc</dc:creator>
      <pubDate>Sat, 23 May 2026 09:31:22 +0000</pubDate>
      <link>https://dev.to/ratecalc/how-i-got-3200-users-in-10-days-with-0-ad-spend-the-exact-strategy-3a6b</link>
      <guid>https://dev.to/ratecalc/how-i-got-3200-users-in-10-days-with-0-ad-spend-the-exact-strategy-3a6b</guid>
      <description>&lt;p&gt;Two weeks ago I launched ratecalc.fyi — a free CPM-based sponsorship rate calculator for UGC creators.&lt;br&gt;
No paid ads. No existing audience. No Product Hunt launch. Just one channel that worked surprisingly well.&lt;br&gt;
Here's exactly what I did.&lt;br&gt;
The problem with "launch" posts&lt;br&gt;
Most founders post "I built a thing" on Twitter and get 3 likes from their friends.&lt;br&gt;
I did this too. It got 3 likes.&lt;br&gt;
The issue: nobody cares about your launch. They care about their problem.&lt;br&gt;
The channel that actually worked: Reddit keyword monitoring&lt;br&gt;
Instead of announcing myself, I searched for people who already had the problem I was solving.&lt;br&gt;
Exact searches I ran daily:&lt;/p&gt;

&lt;p&gt;"how much should I charge for sponsorships"&lt;br&gt;
"ugc creator rate"&lt;br&gt;
"brand deal offer too low"&lt;br&gt;
"how to negotiate with brands"&lt;/p&gt;

&lt;p&gt;Then I answered those threads genuinely — no spam, no copy-paste. Just actually helpful answers. I mentioned the tool only when it was directly relevant.&lt;br&gt;
The results&lt;/p&gt;

&lt;p&gt;3,200+ calculations in 10 days&lt;br&gt;
101 unique visitors&lt;br&gt;
8 countries organically&lt;br&gt;
Bounce rate: 70% → 50%&lt;br&gt;
Visit duration: 4 minutes → 11 minutes&lt;br&gt;
$0 ad spend&lt;/p&gt;

&lt;p&gt;What made it work&lt;br&gt;
Three things:&lt;/p&gt;

&lt;p&gt;The problem already existed. I didn't have to create demand. People were already searching "how much should I charge." I just showed up with an answer.&lt;br&gt;
Genuinely helpful first. I answered the question fully, even without mentioning the tool. The tool was a bonus at the end, not the pitch.&lt;br&gt;
High intent audience. Someone asking "is this brand offer fair?" is seconds away from needing exactly what ratecalc.fyi does. The conversion from "Reddit comment reader" to "calculator user" was very natural.&lt;/p&gt;

&lt;p&gt;What didn't work&lt;/p&gt;

&lt;p&gt;Twitter announcements → zero traction&lt;br&gt;
"I built a thing" posts → nobody cares&lt;br&gt;
Generic hashtag posts → ignored&lt;/p&gt;

&lt;p&gt;The honest part&lt;br&gt;
Reddit suspended my account on day 7 for "suspicious activity." 91 karma, 0 spam — but new accounts get flagged easily.&lt;br&gt;
So the strategy worked until it didn't. Appeal is still pending.&lt;br&gt;
Backup channels I'm testing now:&lt;/p&gt;

&lt;p&gt;Pinterest (slow but evergreen)&lt;br&gt;
Dev.to (you're reading it)&lt;br&gt;
YouTube comments (got a 24-hour ban for moving too fast 😅)&lt;br&gt;
Blog SEO (5 posts live, waiting for Google)&lt;/p&gt;

&lt;p&gt;Current status: day 13&lt;/p&gt;

&lt;p&gt;3,200+ free users&lt;br&gt;
Pro plan live ($9/mo, $29/yr)&lt;br&gt;
$0 revenue — payment processor approval pending&lt;br&gt;
Lemon Squeezy identity verification: still in review&lt;/p&gt;

&lt;p&gt;The product is ready. Distribution is the ongoing problem.&lt;br&gt;
The takeaway&lt;br&gt;
Don't announce. Show up where the problem already lives.&lt;br&gt;
Find the exact phrases your users type when they're frustrated. Go answer those. Be helpful first. Mention your tool second.&lt;br&gt;
That's it. No growth hack. No viral loop. Just showing up consistently in the right places.&lt;/p&gt;

&lt;p&gt;Try it free at ratecalc.fyi — no signup required.&lt;/p&gt;

</description>
      <category>buildinpublic</category>
      <category>webdev</category>
      <category>startup</category>
    </item>
    <item>
      <title>I built a free influencer rate calculator in 12 days. Here's everything: 3,200+ calculations, 8 countries, $0 revenue.</title>
      <dc:creator>RateCalc</dc:creator>
      <pubDate>Fri, 22 May 2026 19:33:16 +0000</pubDate>
      <link>https://dev.to/ratecalc/i-built-a-free-influencer-rate-calculator-in-12-days-heres-everything-3200-calculations-8-215o</link>
      <guid>https://dev.to/ratecalc/i-built-a-free-influencer-rate-calculator-in-12-days-heres-everything-3200-calculations-8-215o</guid>
      <description>&lt;p&gt;When I started building ratecalc.fyi, I had one goal: help creators know what to charge before brands lowball them.&lt;br&gt;
12 days later, here's the honest breakdown.&lt;br&gt;
The problem I was solving&lt;br&gt;
UGC creators get lowballed constantly. A brand reaches out, asks "what's your rate?" — and the creator panics and throws out a number with no data behind it.&lt;br&gt;
There's no standard. No formula. Just vibes.&lt;br&gt;
What I built&lt;br&gt;
A free CPM-based sponsorship rate calculator. Enter your followers, engagement rate, niche, and country → get a fair price range instantly.&lt;br&gt;
Stack: FastAPI + SQLite + Jinja2 + Railway. No React, no complexity. Just a thing that works.&lt;br&gt;
12 days of numbers&lt;/p&gt;

&lt;p&gt;3,200+ calculations&lt;br&gt;
101 unique visitors&lt;br&gt;
8 countries (US 52%, India 18%, UK 5%)&lt;br&gt;
Bounce rate dropped from 70% → 50%&lt;br&gt;
Visit duration: 11 minutes average&lt;br&gt;
$0 revenue&lt;/p&gt;

&lt;p&gt;What actually worked for distribution&lt;br&gt;
Reddit keyword monitoring. I searched "how much should I charge for sponsorships" across creator subreddits and answered genuinely — mentioning the tool only when directly relevant.&lt;br&gt;
Zero announcements. Just showing up where the problem already exists.&lt;br&gt;
What didn't work&lt;br&gt;
Posting "I built a thing" on Twitter. Zero traction. Nobody cares about your launch. They care about their problem.&lt;br&gt;
Pro plan — shipped on day 11&lt;br&gt;
Added a Pro plan ($9/month, $29/year) with:&lt;/p&gt;

&lt;p&gt;Media Kit PDF generator&lt;br&gt;
Lowball Destroyer email scripts&lt;br&gt;
Smart Objection Handler&lt;br&gt;
Deal Closer Contract template&lt;br&gt;
Invoice Generator&lt;/p&gt;

&lt;p&gt;Still $0 revenue — payment processor approval pending.&lt;br&gt;
What I learned&lt;br&gt;
Distribution is the product. The calculator was done in 3 days. The next 9 days were entirely about getting people to use it.&lt;br&gt;
The best channel: find threads where people already have the problem. Answer the question. Be helpful first.&lt;br&gt;
What's next&lt;/p&gt;

&lt;p&gt;SEO blog content&lt;br&gt;
Reddit keyword monitoring (account recovery pending 😅)&lt;br&gt;
First paying user&lt;/p&gt;

&lt;p&gt;Try it free at ratecalc.fyi — no signup required.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>buildinpublic</category>
      <category>python</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
