About: I am a full-stack web developer, deeply passionate about crafting visually stunning and responsive web pages and applications through the power of JavaScript.
I built Mailo, an email-based AI assistant powered by Postmark and OpenAI’s GPT-4. You simply send an email to the designated mail address, and Mailo replies with a thoughtful, relevant, and human-like response within seconds. It feels like you're emailing a helpful friend who’s really good at everything. Whether you're asking a technical question, seeking advice, or just curious about something—Mailo reads your message, understands the context, and sends a high-quality AI-generated reply.
The magic is in the simplicity: you don’t need to sign up, install anything, or learn a new interface. Just send an email like you normally would. You can also reply to Mailo’s responses to continue the conversation—threaded replies are fully supported. It’s as natural and frictionless as having an ongoing chat, but over email. The goal was to make AI feel invisible and effortlessly integrated into a tool everyone already uses daily: email.
Mailo is an AI-powered email assistant that lets you ask questions and get intelligent replies — all through email. No app, no login, just email magic.
📬 Mailo
Mailo is a lightweight AI-powered email assistant that works entirely over email. No apps. No logins. Just send an email and get smart, context-aware replies delivered straight to your inbox — powered by GPT.
Mailo is built on top of modern, minimal technologies designed for speed, privacy, and simplicity:
Frontend: Next.js (App Router) + Tailwind CSS for styling and responsive UI.
Backend: Next.js API routes for handling outbound mail, webhook payloads, and AI response generation.
AI Engine: OpenAI’s GPT-4 for smart, high-quality email replies.
Email Infrastructure:
Postmark's inbound stream for receiving emails.
Custom MX record setup to route all emails sent to contact@shravzzv.tech directly into a Postmark Inbound Stream, which then hits a webhook in my app.
🧪 Testing instructions:
Testing Mailo is easy. All you need is an email account:
Go to mailo-nine.vercel.app and click Try it now, or just send an email directly to contact@shravzzv.tech.
Use a clear subject line as your question.
Optionally, add extra context or details in the body of the email.
Wait a few seconds — Mailo will respond to you automatically.
Got follow-up questions? Just reply to the email you received — Mailo understands and continues the conversation intelligently.
⚠️ Note: If you don’t see a reply, check your spam folder. All replies are sent within a few seconds.
♿ Accessibility
I made a conscious effort to ensure Mailo is as accessible as possible:
✅ Semantic HTML and ARIA-aware elements
✅ Keyboard navigability across all interactive components
✅ Responsive and legible on mobile, tablet, and desktop
✅ Email-first design — users who don't visit the website still get the full Mailo experience
✨ Highlights & Learnings
I learned to configure custom MX records and route emails directly through Postmark's infrastructure — giving me complete control over inbound email flows.
I built a robust, privacy-first workflow that requires zero user data storage.
I realized the power of using email as an API — the interface is already everywhere, no onboarding needed.
-It was incredibly fun (and challenging) to make email feel conversational and alive with AI.
Thanks for checking out Mailo — I'm excited to see where this goes next! 👋 If you have feedback, questions, or ideas, feel free to… well, just send me an email. Built for the Postmark Inbox Innovators Hackathon with love.💛
I was interested how you did threads using postmark, but then realised you use postmark only for inbound emails? and then using titan.email and nodemailer for sending emails to user?
Thank you. It means a lot to me that you think my project is cool. I haven't really thought about adoption that much, I just wanted to build something cool for the hackathon. Cheers.
Shortly after the submission deadline, my app began receiving spam emails from a single sender, which quickly hit usage limits and blocked access for real users.
To investigate, I briefly added a console.log to the production branch to log incoming payloads from Postmark and identify the source of the spam. No app logic or functionality was changed—just a temporary log to monitor abuse. You can see the changes made in this pull request below.
This pull request contains a single console.log in my webhook to see the payload from Postmark. I've done this so that I can see the logs in my Vercel console. Someone was abusing my service, so I wanted to see their email to block them. That was the purpose of this pull request.
Once I identified the offending email, I added it to Postmark’s built-in inbound spam filter to stop further abuse. This was strictly a defensive action to preserve the app’s functionality and didn’t alter the submitted experience in any way. My submission should be working correctly from June 20th.
Appreciate your understanding—and thank you for reviewing the project! 🙏
I was interested how you did threads using postmark, but then realised you use postmark only for inbound emails? and then using titan.email and nodemailer for sending emails to user?