DEV Community

Cover image for Dear Diary, I Built Something. Gemini Helped. ChatGPT Humiliated Me.
Manya Behl
Manya Behl

Posted on

Dear Diary, I Built Something. Gemini Helped. ChatGPT Humiliated Me.

This is a submission for the Built with Google Gemini: Writing Challenge

What I Built with Google Gemini

I was bored. Not "hmm I should find a hobby" bored. Full "it's midnight and I'm asking ChatGPT to give me a project idea" bored.
It said: build an AI email rewriter.
I said: okay.
That was my entire product discovery process.
So I built DearRegards: an AI-powered email tone converter using the Gemini API. The problem it solves is real even if my origin story isn't heroic: most people know what they want to say in an email but can't figure out how to say it without sounding passive-aggressive or unhinged. DearRegards lets you type the raw, honest version. Gemini converts it into a polished, professional email in whatever tone you choose. One click opens Gmail with the converted email already loaded, no copy-paste, no tab switching, no losing your nerve halfway through.
Gemini was the entire brain. The core is a single engineered prompt that instructs it to act as a tone converter and return a structured JSON object with a converted subject line, rephrased body, and a one-line summary of the tone shift.

Demo

https://dear-regards.vercel.app/

What I Learned

Day 5 - The First Prompt
Here's what I sent Gemini:
You are an AI email tone converter. Transform this email
into a "${tone}" professional one. Output as JSON only.
No markdown. No extra text. Just JSON.
Here's what Gemini sent back:

{ "convertedEmail": "..." }
Enter fullscreen mode Exit fullscreen mode

Gemini. My guy. I said NO MARKDOWN.
I added this line:

jsconst cleanedText = text.replace(/```

json\n|

```/g, '').trim();
Enter fullscreen mode Exit fullscreen mode

Two hours of my life. Gone. Because Gemini decided "no markdown" was more of a suggestion than an instruction. The lesson: never trust the prompt alone for structured output. Either use Gemini's built-in response schema feature or strip the markdown yourself. Both work. Only one will save you two hours of confusion.

Day 8 - The Breakthrough Nobody Told Me About
I moved the output format instructions before the input email in the prompt instead of after. The outputs got dramatically better, more consistent tone, better subject lines, actually respected the word limit.
My theory: Gemini reads the format first and processes the email through that frame. Like telling someone the punchline before the joke so they know what they're building toward. I have no scientific basis for this. It just worked. I shipped it.
I also discovered that asking Gemini to explain the tone shift it made "give me a one-line summary of what changed", somehow made the actual conversion better. As if being asked to show its work made it do the work more carefully. Soft skill unlocked: apparently this works on AI models too, not just junior developers.

Google Gemini Feedback

What worked well:
The conversion quality genuinely surprised me. Gemini understood emotional context I never explicitly instructed, when an email was frustrated and urgent, it preserved the urgency while removing the frustration. That nuance is hard to prompt for. It just got it. gemini-2.5-flash was also fast enough that the UX felt snappy, which matters when someone's mid-frustration trying to send an email.

Where I hit friction:
The markdown-wrapping issue cost me two hours and isn't prominently documented for beginners. A clearer warning or default behavior would help. The word limit instruction was also loosely followed "approximately 150 words" gave me anywhere from 100 to 220. Fine for casual use, unreliable if precision matters.

The part I didn't expect to be writing:
After 3 months, I was chatting with my SPM on campus. Went to ask ChatGPT to help draft a gchat reply.
ChatGPT drafted an email. Pre-written email. Professional subject line. Polished body. Native Gmail integration. For free. For a billion users.
I stared at the screen.
I said, out loud, to nobody: "wait wtf"
The same ChatGPT that gave me the idea had shipped my entire project natively.
Here's the thing though - ChatGPT can ship Gmail integration. It cannot ship the specific shape my brain is now in after figuring out why prompt order matters, why asking Gemini to explain itself makes it perform better, and why text.replace(/


/g, '').trim() is now burned into my memory forever.
DearRegards might be redundant. I am not.
Gemini rating: 7/10. Would build with again. Please stop wrapping JSON in markdown.

- Manya
Enter fullscreen mode Exit fullscreen mode

Top comments (0)