Omni Mail

OmniMail is a full-stack email management app built with Next.js, TypeScript, Prisma, and Tailwind CSS, enhanced with AI-powered email generation and autocomplete via natural language prompts.

Omni Mail

Technologies

Next.jsGeminiPrismaTailwindtRPCNeonDBAurinko

OmniMail – An AI-Powered Email Client Built With Gemini

OmniMail is a full-stack, AI-powered email client that I built as the final project for my master’s degree. The main goal of this project was to experiment with practical AI features in a real-world application, specifically focusing on how large language models can assist with everyday communication tasks like writing emails.

Rather than building AI in isolation, I wanted to explore how it could be embedded naturally into a familiar workflow. Email felt like the perfect use case — something people write every day, often repetitively, and sometimes under time pressure.

Why I Built OmniMail

For my final university project, I wanted to go beyond theory and build something hands-on that demonstrated:

  • Practical AI integration, not just model calls
  • Context-aware text generation
  • A full-stack architecture suitable for production use
  • Clean UX around AI-assisted features

OmniMail was designed as an exploration of how AI can support users instead of replacing them. The focus was on speeding up writing while still keeping the user in control of tone, content, and intent.

What OmniMail Does

OmniMail is a modern email client that enhances the email writing experience using AI. It introduces two core AI-driven features:

  • Email generation from a prompt
  • Email autocompletion using contextual awareness

Users can start writing an email naturally and let the AI assist when needed, rather than forcing a fully automated experience.

AI-Powered Email Generation

The first AI feature allows users to generate an email from a simple natural language prompt. Instead of starting with a blank screen, users can describe what they want to say — for example, a follow-up, a formal inquiry, or a quick reply — and OmniMail generates a structured draft.

This functionality demonstrates how AI can reduce friction at the very start of the writing process, especially for repetitive or formal emails.

Context-Aware Email Autocompletion

The second AI feature focuses on email completion with context. OmniMail uses:

  • The previous email in the thread
  • The content the user has already typed

By combining these two inputs, the AI can intelligently continue the email in a way that feels natural and relevant. This mirrors real-world usage more closely than generic text generation, as it respects conversation flow and existing intent.

This was a key learning objective of the project — understanding how context depth directly impacts output quality.

How It’s Built

OmniMail is implemented as a full-stack application with a strong emphasis on clean architecture and scalability.

Frontend

The frontend is built with Next.js and TypeScript, providing a modern React-based structure with type safety throughout the codebase. Styling is handled using Tailwind CSS, allowing for a clean, responsive UI that works well across devices.

The interface was intentionally kept minimal to ensure that AI features enhance the experience without overwhelming it.

Backend & Database

The backend logic is implemented using Next.js API routes, with Prisma ORM managing database interactions. The application uses PostgreSQL, hosted on Neon, for reliable and scalable data storage.

User authentication and email-related data are securely managed, ensuring that AI features operate within proper user boundaries.

AI Integration With Gemini

For AI capabilities, OmniMail integrates Gemini 2.0 Flash via the Gemini API. This project was my first deeper dive into integrating an LLM into a production-style application.

I focused on:

  • Prompt design for reliable outputs
  • Managing context windows efficiently
  • Balancing speed and response quality
  • Avoiding over-generation in autocomplete scenarios

The AI features were built to feel helpful rather than intrusive, reinforcing the idea that AI should assist, not dominate.

What I Learned From This Project

OmniMail played a key role in strengthening my understanding of:

  • Applied AI in user-facing products
  • Context-aware prompt engineering
  • Full-stack application design
  • Database modeling with Prisma
  • Building AI features that respect UX principles

As a final academic project, it allowed me to bridge theoretical knowledge and practical engineering in a meaningful way.

Final Thoughts

OmniMail represents my first end-to-end exploration of AI-enhanced user interfaces. It combines modern web technologies with practical AI use cases and demonstrates how language models can improve everyday tools when implemented thoughtfully.

This project reflects both my academic journey and my growing interest in building AI-assisted products that feel intuitive, useful, and human-centered.