SupportAddress — An email-first support platform

supportaddress-—-an-email-first-support-platform

This is a submission for the Postmark Challenge: Inbox Innovators.

What I Built

SupportAddress is an email-first support platform that lets your customers reach out for support directly through email. There’s no learning difficult eccentric software, creating accounts, or checking back at a webpage every now-and-then to see if the support ticket has been updated; all of that is done via email!

Create subgroups within organisations to automatically sort incoming tickets using AI.

Demo

The application is hosted live at https://support.aarnavpai.in

Testing instructions:

  • Sign in/up at https://support.aarnavpai.in
  • If you’re signing up, you’ll receive an OTP in your email. Enter that, and then choose a display name and password.
  • Once logged in, you’ll be taken to the dashboard, where you’ll be asked to join or create an organisation. Create an organisation.
  • Your SupportAddress will be displayed at your organisation’s home page. Give this SupportAddress to your customers for them to email any support queries they may have to it.
  • You may create subgroups (from the organisation actions section at the bottom of the organistation home page). Giving a description to your subgroup lets AI attempt to automatically send any matching support tickets to it.
  • You can invite other people to your organisation, and once they’ve joined, you can add them to subgroups. People who are not part of a subgroup will not be allowed to access its tickets.

  • To create a ticket, email the organisation’s SupportAddress, or the SupportAddress of any individual subgroup. The tickets list should update automatically.

  • Support Agents can assign themselves to a ticket. If they do that, nobody else will be able to reply to or close that ticket, unless that agent unassigns themselves. Replying to a ticket will send an email to the customer with the reply.

  • Once a ticket is closed, it can only be re-opened if the customer who opened the ticket replies to the ticket mail thread.

Screenshots:

Join/Create organisation page:

The join/create organisation page

Subgroup creation page:

Subgroup creation page

Org Home page:

Organisation Home Page

Sending an email to the SupportAddress:

Sending an email to the SupportAddress

A new ticket was automatically created and categorised:

The newly created ticket page

Send a reply from the dashboard:

Reply form

With attachment support:

Attachment support

Code Repository

GitHub logo

arnu515
/
supportaddress

Email-first customer support

SupportAddress

The email-first support platform that lets your customers reach out for support directly through email.

This is a submission for the Postmark Challenge: Inbox Innovators.

It is hosted live at https://support.aarnavpai.in.

Read more about this project here

How I Built It

I used QwikJS for this project. Qwik is a relatively new JavaScript framework that uses Resumability for client-side interactivity rather than Hydration. Resumability means that the client-side bundle can essentially “pick-up” where the server-side rendering stopped, i.e. adding event listeners, running on-mount hooks, etc., instead of having to re-render the entire app from scratch like how traditional SSR frameworks do (Next, SvelteKit, etc.). I used QwikJS before for my website, but that website is mostly static content, so to give Qwik a real try, I decided to use it for this project.

Other components of the tech stack include Supabase for the database, auth, storage, and functions; TailwindCSS for the styling; Cloudflare Workers AI for the AI models; and Vercel for deployment. A full list of used libraries can be found in the package.json file in the repository.

Postmark was used for sending and receiving emails. When a customer emails the SupportAddress, Postmark calls a Supabase edge function with the email data. That edge function sanitizes the email, determines whether it belongs to an existing ticket, or creates a new ticket, and uses AI to categorize it into a subcategory. Any attachments received are uploaded to Supabase storage by the function. Finally, if the ticket is closed, the function opens it.

When a Support Agent replies to, or closes a ticket, an email is sent to the customer using Postmark’s API. The API makes it very easy to send emails, including with attachments and custom SMTP headers, without having to set up an entire SMTP connection.

I’d like to thank Postmark for giving me an opportunity to explore email parsing, QwikJS, and AI models! I wanted to use more AI in this project, but unfortunately due to me starting this challenge much later than I was supposed to, I wasn’t able to add more AI features. Thanks for stopping by!

Total
0
Shares
Leave a Reply

Your email address will not be published. Required fields are marked *

Previous Post
june-celebrations:-pride-in-the-shadows,-still-we-shine.

June Celebrations: Pride In The Shadows, Still We Shine.

Next Post
inboxnegotiator:-turning-debt-reminders-into-payment-plans-with-ai-and-postmark

InboxNegotiator: Turning Debt Reminders into Payment Plans with AI and Postmark

Related Posts