This is a submission for the Postmark Challenge: Inbox Innovators.
What I Built
I built pIRC, an IRC (InternetInbox Relay Chat) client.
A chat system that works over email. One can join and leave rooms, send messages to rooms and direct messages, give likes to messages, update their account, etc. All anonymously to the participants in the rooms.
When I was younger I used to join chat rooms and it was fun. The nostalgia made me do it.
Demo
There is no link because all is based on email. No test credentials.
You can start using by sending an email to any username to @pirc.lat but to make things easier, send an email to welcome@pirc.lat. You will get a welcome email with the commands you can use.
Code Repository
https://github.com/joseadrian/pirc
How I Built It
I wanted to explore how much I could push what Postmark can do. Postmark handles the emails by processing them with their inbound streams. Once a message is sent to a room, all participants get an email using transactional emails and the bcc option instead of each one in separate emails, using the mustacho template.
Tech used
- Backend: Cloudflare's Workers. Worker, worfklow and schedule
- Email Webhook: Postmark Inbound Stream
- Email delivery: Postmark Transactional Stream
- Database: SQLite (Cloudflare's D1)
- Email Template Engine: Postmark Template (Mustacho?)
- Domain & DNS: Namecheap & Cloudflare
First time using Cloudflare's workflow and schedule features.
I have no idea what I am doing
Postmark experience:
This was a first with Postmark using their inbound parsing and message stream. I was really impressed. I didn't think my idea of using the plus addressing and subdomain addressing would work. That's was my first thing to test before putting the pieces together. The webhook setup was painless, and delivery was fast. I loved how reliable it was for both transactional and bulk emails.
One minor problem though, it is likely due to email clients I used, Some don't seem to use the same separator that Postmark uses for the StrippedTextReply property from the payload, because it doesn't return something. Zoho and iOS tested so far.
Top comments (1)
I love how you brought chat room nostalgia back with just email. Any surprising or weird uses come up during testing?