Using v1.0 day to day revealed what needed refinement.
Company name extraction was brittle

My initial approach extracted the company name from the sender's email domain. Simple, clean. Until emails started coming from addresses like noreply@greenhouse.io and jobs@lever.co - ATS platforms sending on behalf of companies, not the companies themselves. The extension was generating comebacks for the wrong company entirely.
The fix was to stop parsing the domain and let the LLM do the work instead. One prompt now handles both: identify the company name from the email body, then generate the comeback. More robust, no string manipulation edge cases.
Comebacks were missing the mark
The comebacks were hit or miss. Some landed perfectly. Others were too mean or tried too hard. The root issue was the prompt. Early versions gave the LLM too much creative freedom without enough guardrails on tone. I refined it through iterations.

The response felt disconnected
Even after fixing the tone, something still felt off. The comeback would land well but the hardcoded affirmation that followed felt disconnected - like two separate things on screen rather than one cohesive moment.
The fix was to generate both through the LLM as a pair, so the affirmation responded directly to the energy of the comeback rather than being a random pick from a list. The extra token usage was worth the cohesion.
Widget needed visual polish
v1.0 worked but felt unpolished. For v1.1, I refined the visual language - softer color palette, cleaner typography hierarchy with OGG and DM Sans pairing for contrast, custom icons, and a dismiss button for quick exits.
I also had the LLM identify the most impactful word or phrase in each comeback and return it alongside the text, so the visual emphasis is dynamic rather than arbitrary - different for every rejection.

Rounding out the experience
A few smaller fixes surfaced from real use. The widget now hides automatically when navigating back to the inbox. The mute button became interactive instead of just decorative.

