Skip to content

Victoran0/ai-email-client

Repository files navigation

AI Email Client

Effortlessly sync emails across multiple devices, ensuring seamless access to your inbox.

AI Email Copilot home Page

Fully enhanced with AI:

  • Generate tailored email content by simply providing a brief prompt or context.

    Ai composer page for replies

    AI composer page for composing new email

  • Benefit from intelligent autocomplete suggestions triggered by the ctrl + Q shortcut, significantly accelerating the writing process.

  • Engage in natural language conversations with AI to extract valuable insights from your email data. Query your email history and receive personalized recommendations.

    RAG search and AI reply page

  • Unlock the full potential of AI with the premium plan, adding up to 3 email accounts and offering unlimited access to AI-powered features throughout the day. (basic plan allow only 1 email account and 15 AI helps daily)

    Subscribed premium user UI

What tech stacks and libraries are used in this project?

This is a T3 Stack project bootstrapped with create-t3-app.

  • Next.js
  • NextAuth.js
  • Prisma
  • Drizzle
  • Tailwind CSS
  • tRPC
  • Shadcn-UI: For the UI components
  • Neon DB: As the primary database to store data
  • Orama: For Rag and vector search
  • Aurinko: The Email Client API used
  • Stripe: For payment and subscription plan managements
  • GoogleGenerativeAI: As the LLM Model
  • Vercel AI sdk: To stream AI response
  • react-avatar: For user avatars
  • react-select: For selecting cc and Bccs
  • Clerk: For user authentication
  • Next-Themes: To toggle light and dark mode
  • K bar: For enabling keyboard shortcuts
  • Tiptap: Enabling an headless WYSIWYG editor in the reply and compose email body
  • framer-motion: For interesting animations
  • Jotai: For the useAtom hook to store react.useState values as an atom
  • useHooks-ts: For the useLocalStorage hook to store react.useState values in local storage
  • DomPurify: For protecting dangerously set innerHtml
  • etc