DEV Community

Majed Ben mansour
Majed Ben mansour

Posted on

I was overthinking a text to my crush, so I built an AI to roast me instead

We've all been there. You stare at your phone for 20 minutes, typing and deleting a text message, wondering if you sound desperate or chill.

So, instead of just sending it, I built Should I Send It? (TextRoast AI).

It's a simple mobile-first web app. You paste the text you want to send, tell the AI who it's going to (Crush, Boss, Ex, Friend), and hit "Roast Me".

Try it out here: https://airoaster-7qxs.onrender.com/

How it works:
-Frontend: Vanilla HTML/JS with a dark-mode, mobile-first PWA design.
-Backend: Python with FastAPI.
-AI: The gpt-oss-20b model via the Groq API.

I gave the AI a system prompt to act like an "unhinged, brutally honest Gen-Z friend." It gives you a brutal roast and a Confidence Score out of 10.

Free tier: 3 roasts a day.
Pro tier ($3): Unlocks unlimited roasts and an "AI Rewrite" feature that fixes your messy texts to sound confident.

What's the worst text you've ever sent? Drop it in the comments and I'll tell you what the AI would have said!

Top comments (3)

Collapse
 
amitfeldman profile image
Amit Feldman

The premise is painfully relatable and the name ("should i send it?") is exactly the question in the user's head — good instinct.

Quick public check of the live app while reading (headers + served HTML only, all verified from the outside):

  1. First visit right now can be rough: my initial request hit a 503 with Render's "Application loading" page — the free-tier service was cold and took ~45s to wake. On launch traffic that's a chunk of visitors bouncing before they ever see the roast. A cron ping every ~10 min (or the paid always-on tier) keeps it warm.

  2. All six standard security headers are missing — HSTS, Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy. Since it's FastAPI/uvicorn, this is one tiny middleware (~10 lines setting headers on every response) rather than infra work. CSP can start loose (default-src 'self') and tighten later.

  3. No meta description and no canonical. Title is there, so unfurls sort of work, but the description is what shows under the link when it gets shared — for a viral-leaning concept, that snippet is your ad copy. One line in the .

  4. Minor: robots.txt and sitemap.xml both 404. If organic/search matters at all, a two-line robots.txt + a one-URL sitemap costs five minutes.

Happy to re-run the check free once any of it lands — the before/after deltas are satisfying.

Collapse
 
maxelxa profile image
Majed Ben mansour

I did read your feedback, and thank you for taking the time to do a public check tell me, its really appreciated.

So I did a bit of modification based on what you said, and I did patch the site:

-Added the security headers middleware in FastAPI.
-Added the meta description and Open Graph tags for better unfurls.
-Created the robots.txt and sitemap.xml routes.
-Set up a cron ping (via UptimeRobot) to keep the Render free tier warm and avoid that 503 cold start.

Thank you once again for the public audit. If you ever want to run that check again, I'd love to see the before/after deltas.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.