Inspiration

My thesis that ‘AI is making us lazy writers’ is one I’ve considered a lot in the last year.

Using AI to help write emails has quickly become standard practice. More people are asking for immediate write ups and spending less time drafting their own words or having them reviewed.

This does wonders for business efficiency and frees up time in our personal lives, but I think there is a more productive way we could be using AI that leverages the help it can offer while building our personal communication skills.

What it does

The experience of using this app is AI + agency.

A user drafts and rewrites an email based on one of the app’s real-life scenarios. With the reasoning and evaluation capabilities of Gemini 3, their communication skills are developed in a rich coaching space, one that is directed by the user's own decisions.

How I built it

Interface > orchestration > intelligence.

At the heart of my system design is one educational aim: support reflection and comparison, rather than generating finished emails for the user.

On the front end, the app uses React to place the user firmly in the driver’s seat. Options for scenarios and writing conditions allow users to prompt a real-life scenario, then draft their own email, optionally add a short voice note, and provide grounding context before any review begins. It’s a simple UI, guided by clear colour keys that help the user understand where they are at each step and what kind of thinking is expected.

The backend is the orchestration layer, handling data fetching and coordinating the review flow. It converts selected feedback into text-to-speech, and returns structured AI responses rather than free-form text. Regardless of scenario or writing style, this structure delivers consistency and a set of review data that’s focused and easy to use.

Gemini’s intelligence is best realized when used as a coaching system rather than a writing assistant. By using detailed schemas and instruction files, both reviews focus on reflection, outcomes, and decision making. I intentionally used two Gemini models at different stages:

  • Gemini 2.5 Flash provides responsive feedback for a first review and feels supportive early in the process.
  • Gemini 3 Pro Preview is used for the final review, where deeper reasoning and comparison are required.

This split balances empathy with depth and mirrors how human coaching often works.

User agency remained central while designing this app. The review-rewrite approach, and scoping the process to one rewrite, meant there could be a meaningful comparison between drafts, while avoiding over-analysis. Structuring outputs and refining instructions helped make clear what the AI should do and what it should avoid. This was key to ensuring the user remains the final decision-maker at every step.

What I learned

My biggest learning from this project was that building with AI isn’t about writing super detailed prompts, but about setting clear boundaries so the system behaves predictably. It was my first time building with AI, and I quickly learned how effective schemas and instructions were at shaping behaviour, rather than trying to get there through language alone.

Building a fixed review process, and even simple constraints like word and time limits, became teaching tools rather than limitations. I kept my thesis in mind and designed with a focus on reflection, making Gemini act as a communication coach instead of a creative writer.

Through testing different Gemini models, I also learned how subtle differences in reasoning and tone influenced the kind of feedback I thought suited best. Even using text-to-speech, I was surprised how impactful it can be to hear guidance, not just read it. Building with Gemini 3 changed my understanding of what social and emotional reasoning in AI can look like.

Challenges I faced

One of the main challenges during development was resisting the traditional revision mindset when working with AI. Early versions of the instructions leaned towards rewriting, rather than coaching. It took multiple iterations to establish a supportive coaching voice. Things clicked for me when the response became about choices to consider and not changes I could make.

After settling this, the next key trade-off was balancing the depth of responses with clarity. Rich coaching data can easily become overwhelming or difficult to act on, which I thought would undermine user agency. Scoping responses to 1-2 sentences, helped me make sure that a successful coaching pattern was achieved by the end of the final review. Then, I used design to section ideas simply, so users could think clearly.

Accomplishment I'm proud of

I’m early in my developer journey so I expected a project like this to be overwhelming. Instead, I’ve found it deeply rewarding to design a system around Gemini 3 and tackle the challenge of not just calling an AI model, but building it to genuinely support my objective.

What's next

Future versions of this project could expand on the core coaching experience. A voice-first focus that's based on conversations and audio coaching, would help improve another essential communication skill. There’s potential to repurpose this as a classroom tool, where structured reflection is delivered in an encouraging, kid-friendly way. Expanding scenarios and tracking growth could position the app as one that users come back to again and again.

Built With

Share this project:

Updates