DEV Community

Cover image for Postmark Challenge. Gentle Inbox
Jonny B
Jonny B

Posted on

Postmark Challenge. Gentle Inbox

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

What I Built

Gentle Inbox - An AI-powered platform that transforms harsh customer feedback into constructive, professional communication while preserving all important information.

Image description

Business owners often receive brutal customer feedback that, while containing valid concerns, can be emotionally devastating and demoralizing. Gentle Inbox acts as an emotional buffer, using AI to rewrite harsh criticism in a gentler, more professional tone while maintaining every factual detail and legitimate concern.

Key Features:

  • Email-Based Feedback Collection: Customers send feedback to unique Postmark inbound addresses
  • AI-Powered Tone Transformation: OpenAI GPT-4o-mini rewrites harsh language professionally
  • Dual-View System: Business owners can toggle between original and softened versions
  • Real-Time Processing: Instant transformation and dashboard updates

The Problem It Solves:

  • Emotional Protection: Shields business owners from demoralizing feedback while preserving valuable insights
  • Improved Response Rates: Professional tone encourages constructive dialogue
  • Better Decision Making: Owners can focus on issues rather than emotional reactions
  • Mental Health: Reduces stress and anxiety from harsh customer communications

Demo

🔗 Live App: gentleinbox.com](https://gentleinbox.com/)

Testing Instructions:

  1. Sign up for a free account at the demo link
  2. Create your first business.

create business

  1. Copy your unique feedback email from the dashboard (format: feedback+[your-id]@gentleinbox.com)

copy email

  1. Send harsh feedback to test the transformation:
    • Try: "Your service is absolute garbage and you people are completely incompetent!"
    • Watch it transform to: "I'm quite disappointed with the service quality and have experienced some significant issues."
  2. View results in your dashboard with original/softened toggle

gentle examples

Test Credentials (if needed):

Code Repository

https://github.com/jburgoyn/gentle-inbox

Project Structure:

gentle-inbox/
├── frontend/          # React + Vite app
├── backend/           # Firebase Cloud Functions
├── firestore.rules    # Database security rules
└── README.md          # Setup and deployment guide
Enter fullscreen mode Exit fullscreen mode

Key Technologies:

  • Frontend: React 18, Vite, Tailwind CSS, Firebase Auth
  • Backend: Firebase Cloud Functions, Firestore
  • APIs: Postmark Inbound Parsing, OpenAI GPT-4o-mini
  • Deployment: Firebase Hosting

How I Built It

Implementation Process

  • Designed system architecture with Postmark webhook → Cloud Function → AI processing → Real-time updates
  • Set up Firebase project with authentication, Firestore, and Cloud Functions
  • Configured Postmark inbound server with webhook endpoint
  • Built Postmark webhook handler to parse incoming emails and extract user IDs
  • Integrated OpenAI API with carefully crafted prompts to maintain customer perspective while softening tone
  • Created responsive React dashboard with Firebase Auth integration
  • Built original/softened toggle feature for transparency
  • Added sentiment analysis and basic analytics
  • Implemented comprehensive error handling and fallbacks

Tech Stack Deep Dive

Postmark Integration:

export const inboundEmailWebhook = onRequest(async (request, response) => {

    response.header("Content-Type", "application/json");
    response.header("Access-Control-Allow-Origin", "*");
    response.header("Access-Control-Allow-Headers", "Content-Type");

    corsHandler(request, response, async () => {

      const body = request.body; 
      // Extract businessId from email address (everything before @)
      const publicId = body.OriginalRecipient.split('@')[0].split('+')[1];

// Use that public id to fetch the user and business.
// Call the cloud function handleInboundEmail to transform the email

const functionUrl = `https://us-central1-gentle-inbox.cloudfunctions.net/handleInboundEmail`;

      const data = {
        business: business,
        body: body,
      }

      try {
         axios.post(functionUrl, data, {
          headers: {
            'Content-Type': 'application/json',
          }
        });
        logger.log("Successfully forwarded to handleInboundEmail");
      } catch (error) {
        logger.error("Error calling handleInboundEmail:", error);
      }

      return response.status(200).send();

    });
});
Enter fullscreen mode Exit fullscreen mode

AI Transformation: The most challenging aspect was crafting prompts that consistently maintain the customer's perspective while softening harsh language. After extensive testing, I developed a comprehensive prompt system that:

  • Preserves all factual content and legitimate concerns
  • Removes personal attacks and profanity
  • Maintains appropriate urgency for serious issues
  • Uses professional, constructive language
  • Keeps the customer's voice and desired outcomes

Experience with Postmark

Postmark's inbound email parsing was incredibly developer-friendly. The JSON webhook format made it easy to extract all necessary information, and the documentation was clear and comprehensive. Key highlights:

  • Reliable Delivery: 100% webhook delivery success during development
  • Clean Data Format: Well-structured JSON with all email components
  • Flexible Addressing: Easy to implement user-specific email addresses
  • Great Documentation: Sample workflows made implementation straightforward

Challenges & Solutions

Challenge: Preventing AI from writing business responses instead of customer feedback transformation Solution: Extensive prompt engineering with specific examples and explicit constraints

Impact & Future Plans

Gentle Inbox addresses a real pain point for business owners, potentially improving mental health and response quality in customer service. Future enhancements could include:

  • Advanced sentiment analysis and trends
  • Industry-specific tone adjustments
  • Integration with popular CRM systems
  • Mobile app for on-the-go feedback management
  • Multi-language support

This project showcases Postmark's versatility beyond traditional transactional emails, demonstrating how inbound parsing can enable innovative communication solutions that genuinely improve people's work lives.


Built with ❤️ and lots of coffee during the Postmark Challenge. Special thanks to the Postmark team for creating such developer-friendly tools!

Top comments (1)

Collapse
 
nathan_tarbert profile image
Nathan Tarbert

Growth like this is always nice to see. Kinda makes me wonder if it’s the little habits that keep things moving or just not letting the stress win.