{"id":28489824,"url":"https://github.com/shravzzv/mailo","last_synced_at":"2026-04-13T01:36:23.192Z","repository":{"id":297003062,"uuid":"995305445","full_name":"shravzzv/mailo","owner":"shravzzv","description":"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.","archived":false,"fork":false,"pushed_at":"2025-06-19T04:04:00.000Z","size":334,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-13T01:36:21.569Z","etag":null,"topics":["email","mail","nextjs","postmark","tailwind","webhook"],"latest_commit_sha":null,"homepage":"https://mailo-nine.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shravzzv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-03T09:26:54.000Z","updated_at":"2025-08-20T09:10:04.000Z","dependencies_parsed_at":"2025-06-08T02:48:17.159Z","dependency_job_id":null,"html_url":"https://github.com/shravzzv/mailo","commit_stats":null,"previous_names":["shravzzv/mailo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/shravzzv/mailo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shravzzv%2Fmailo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shravzzv%2Fmailo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shravzzv%2Fmailo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shravzzv%2Fmailo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shravzzv","download_url":"https://codeload.github.com/shravzzv/mailo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shravzzv%2Fmailo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31736723,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-12T22:19:12.206Z","status":"ssl_error","status_checked_at":"2026-04-12T22:18:33.088Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["email","mail","nextjs","postmark","tailwind","webhook"],"created_at":"2025-06-08T07:06:33.811Z","updated_at":"2026-04-13T01:36:23.180Z","avatar_url":"https://github.com/shravzzv.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📬 Mailo\n\n[**Mailo**](https://mailo-nine.vercel.app/) 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.\n\n\u003e Built for the [dev.to Postmark Challenge: Inbox Innovators](https://dev.to/challenges/postmark).\n\n## ✨ Features\n\n- 📩 **Email-first Interface** — Just send an email to interact, no account needed.\n- 🧠 **GPT-Powered Intelligence** — Smart, human-like responses tailored to your message.\n- ⚡ **Fast \u0026 Lightweight** — No bloated UI, just good old email.\n- 🛡️ **Privacy-first** — Only the message content is used to generate replies.\n\n---\n\n## 🛠️ Tech Stack\n\n| Tech                           | Role                      |\n| ------------------------------ | ------------------------- |\n| **Next.js 15**                 | API routes + landing page |\n| **Postmark**                   | Inbound email parsing     |\n| **Nodemailer**                 | Sending reply emails      |\n| **OpenAI (via GitHub Models)** | LLM backend               |\n| **TypeScript**                 | Type safety               |\n\n## 📦 Architecture\n\nUser → (sends email) to Postmark → Next.js Webhook → GPT-4.1 (GitHub) → Mailo Nodemailer → replies\n\n## 🧪 Testing the App\n\n1. Click the **Try it out** button on the landing page. 📧\n2. Send an email to the pre-configured address with a clear subject (your question) and detailed body (extra info). 📝\n3. Wait a few seconds. ⏳\n4. Check your inbox—you’ll receive a helpful, AI-generated reply to your query! 📬\n5. You can **reply directly** to the AI’s response email to continue the conversation. 📣\n\n\u003e 💡 Feel free to keep the conversation going—just hit \"Reply\" on any AI-generated response.\n\n## 🚀 Getting Started\n\n### 1. Clone the Repo\n\n```bash\ngit clone https://github.com/shravzzv/mailo.git\ncd mailo\nnpm install\n```\n\n### 2. Setup Environment Variables\n\nCreate a `.env` file and add:\n\n```env\nGITHUB_TOKEN=your_github_models_token\nMAIL_USER=your_email@mail.com\nMAIL_PASSWORD=your_email_password\n```\n\n### 3. Run Locally\n\n```bash\nnpm run dev\n```\n\n## 📬 How It Works\n\n1. A user sends an email to a Mailo-linked address.\n2. Postmark parses it and hits a webhook hosted in your Next.js app.\n3. The webhook extracts the subject + body, and sends it to GPT.\n4. GPT generates a concise, email-style reply.\n5. Nodemailer sends this reply back to the user.\n\n## 💡 Rate Limit Handling\n\nMailo uses GitHub-hosted OpenAI models, which have a **15 requests/minute** and **150 requests/day** limit.\n\nIf the limit is hit:\n\n- Users receive a graceful fallback response via email.\n- Error is logged to the console, but doesn't crash the server.\n\n## ✍️ Writing Style for GPT\n\nThe assistant is instructed to:\n\n- Respond like a helpful human email assistant.\n- Avoid greetings/sign-offs unless explicitly prompted.\n- Be polite, concise, and helpful.\n- Skip subject line formatting — that’s handled in code.\n\n## 🛡️ Deployment \u0026 Hosting\n\n- Deploy your app on **Vercel**\n- Use **Postmark** for production-grade email parsing\n\n## 🤝 Contributing\n\nPull requests are welcome! For major changes, please open an issue first.\n\n1. Fork the repo\n2. Create a feature branch\n3. Make changes\n4. Submit a PR\n\n## 📄 License\n\nMIT License. Feel free to fork and modify Mailo for your own AI tools.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshravzzv%2Fmailo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshravzzv%2Fmailo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshravzzv%2Fmailo/lists"}