I built ReviewReply: Cloudflare Worker + Claude AI + Stripe — zero server costs

calendar_today agoschedule1 min read

Every restaurant owner I know dreads negative reviews — not because criticism hurts, but because crafting a good response takes 20 minutes they don't have.

So I built ReviewReply: paste any Google, TripAdvisor or Airbnb review, get a professional AI-generated response in 10 seconds. Three free replies per day. No sign-up.

Stack

Everything runs on Cloudflare's free tier:

  • Worker — API, rate limiting, AI calls, Telegram cron
  • KV — server-side rate limiting per IP (no client trust)
  • Pages — static frontend
  • Anthropic Claude Haiku — reply generation (~$0.001/call) - **Brevo** — email delivery (300/day free) - **Stripe Payment Links** — no checkout page needed Monthly infrastructure cost: **$0**.

Key patterns

Server-side rate limiting (no localStorage):

const key = `rate:reply:${ip}:${date}`;
const count = parseInt(await env.RR_RATE.get(key) || '0');
if (count >= 3) return json({ error: 'limit reached' }, 429);
await env.RR_RATE.put(key, String(count + 1), { expirationTtl: 86400 });

Pro activation without webhooks:

// Before Stripe redirect: store email
sessionStorage.setItem('proEmail', email);
window.location.href = STRIPE_LINK;

// On return: validate session_id, generate token, store in KV
if (params.get('session_id')?.startsWith('cs_live_')) {
  const token = crypto.randomUUID().replace(/-/g, '');
  await env.RR_TOKENS.put('token:' + token, JSON.stringify({ email, plan: 'pro' }));
}

Daily Telegram tip via cron:

[triggers]
crons = ["0 8 * * *"]

The worker posts a review management tip every morning automatically. No maintenance needed.

The paid tier: ReviewScan ($29)

For the full audit, I switch to Claude Sonnet:

const audit = await callClaude(env, systemPrompt, reviews, 'claude-sonnet-4-6');

Delivers: reputation score, top 5 complaint categories, 20 reply templates, 30-day action plan — all via email within 2 minutes.

Try it

reviewreply.pages.dev — free, no sign-up, works on any device.

Originally posted on Dev.to. Questions or feedback welcome in the comments.

🔥 Join developers growing publicly
Share your knowledge, build in public, and grow your developer presence with a global community.

More Posts

How I Built a React Portfolio in 7 Days That Landed ₹1.2L in Freelance Work

Dharanidharan - Feb 9

I Wrote a Script to Fix Audible's Unreadable PDF Filenames

snapsynapseverified - Apr 20

TypeScript Complexity Has Finally Reached the Point of Total Absurdity

Karol Modelskiverified - Apr 23

I’m a Senior Dev and I’ve Forgotten How to Think Without a Prompt

Karol Modelskiverified - Mar 19

Sovereign Intelligence: The Complete 25,000 Word Blueprint (Download)

Pocket Portfolio - Apr 1
chevron_left
152 Points4 Badges
2Posts
0Comments
Solo founder of BaseAI Tools — building free AI micro-tools for small business owners (restaurants, ... Show more

Related Jobs

View all jobs →

Commenters (This Week)

2 comments
1 comment

Contribute meaningful comments to climb the leaderboard and earn badges!