This is a submission for the Postmark Challenge: Inbox Innovators.
What I Built
I built an MVP-ready✅ application that aims to address a significant issue in the workplace.
InvisiBox is a platform that empowers employees in corporate environments to send anonymous reports, messages or complaints, participate in private email-based dialogues with management, and engage in confidential voting — all without revealing their identity or needing to log in.
Armed with 100% anonymity and confidentiality, employees are now given the power to speak out on matters and issues in the company and be heard without fear of judgment or retaliation ✅.
Demo
Live Site
Use the following credentials to log in to an existing Management account:
- Invisibox email: techcorpczu5os@invisibox.email
- Password: 54321cba
For Employee access, use the following credential to send a message to the linked company:
- Invisibox email: empc0487cfe52@invisibox.email
Note: These demo accounts are connected to my personal email, so you won’t be able to view the emails sent.
✨To fully experience the app’s features, I recommend signing up for a Management account and subscribing to your Management Invisibox channel using an email you have access to✨.
How it works
The app is structured around two core components—Management Access and Employee Access.
Features of the Management Access
Companies seeking to onboard with the Invisibox platform are required to create a Management account.
Once successfully signed up, A unique proxy email address would be generated for that account (e.g, companynamexxxx@invisibox.email).
The management is to share that email address with their employees.
For Employees Access
💡To enable an employee to have access to send and receive messages anonymously, they are required to subscribe to their company's Invisibox channel using their email address and the company's unique Invisibox email address.
✔️Once subscribed, the employee's unique Invisibox proxy email (e.g, emp9x83xxx@invisibox.email) will be generated and sent to their provided email address
The employee can now communicate anonymously with their company's management.
Email communication flow
InvisiBox leverages Postmark's Inbound Email feature as the backbone of its communication system:
Inbound Email Processing:
- Employee Sends Message: Employee sends email from their proxy address to the company address
-
Postmark Reception: Postmark receives the email and forwards it to the app's inbound webhook endpoint
/inbound-handler
- Backend Processing: The backend processes the inbound email, extracts content, and sends to the appropriate management.
Example messaging flow between employee and management:
Outbound Broadcast Email Delivery:
- Management Sends Message: Management creates a message/poll through the dashboard
- Backend Processing: The app processes the message and prepares it for delivery
- Postmark Delivery: Messages are sent to the emails of all subscribers of that company via Postmark
- Employee Reception: Employees receive messages in their regular email inbox
Email Proxy System:
- Anonymous Routing: All emails are routed through InvisiBox proxy addresses
- Identity Protection: Real employee emails are never exposed to management
- Bidirectional Flow: Messages flow seamlessly in both directions while maintaining anonymity
Code Repository
FrontEnd Repo
Sarah-okolo
/
invisibox-client
InvisiBox is a platform that empowers employees in corporate environments to send anonymous reports, messages, or complaints, participate in private email-based dialogues with management, and engage in confidential voting .
InvisiBox - Anonymous Workplace Communication Platform
InvisiBox is a privacy-first anonymous communication platform that bridges the gap between employees and management. It enables secure, two-way communication without requiring employees to create accounts or reveal their identities.
🌟 Key Features
-
Account-Free Employee Access: Employees can participate without creating accounts or passwords; they are only required to subscribe to their company's Invisibox channel.
-
Anonymous Identity Protection: Employees receive unique proxy email addresses that completely mask their real identity
-
Two-Way Anonymous Communication and Real-time Messaging: Management can create and send messages to all employees; employees can reply and participate anonymously. Employees can also send anonymous messages to their management and receive replies. Instant communication through email integration and identity masking through Invisibox's proxy emails
-
Poll & Survey System: Create polls, employees can vote anonymously, and poll results can be shared to all subscribed employees
-
Subscriber Management: Warn or…
Tech Stack / Tools
- React - TypeScript ( Framework - Language )
- Shadcn ( UI components)
- TailwindCSS ( Style framework)
- Zustand (State management library)
- Axios ( HTTP client for API requests)
BackEnd Repo
Sarah-okolo
/
invisibox-server
This is the server repository for the Invisibox application.
Tech Stack / Tools
- NodeJS - Express ( Language - Framework)
- MongoDB ( Database )
- PostMark ( Email parsing )
- Cloudinary ( Image file storage )
For this application, I am making use of all three of Postmark's email message streams:
How I Built It
Built on Postmark’s powerful Email Parsing, InvisiBox transforms traditional email into a powerful, privacy-first channel for workplace communication.
🟡PostMark's inbound email parsing role in InvisiBox🟡
Postmark's inbound email parsing plays a crucial role in this application by allowing the server to receive and process emails sent to specific Invisibox email addresses. When an email is sent to an Invisibox email, Postmark captures the email content and forwards it to the application through the inbound webhook endpoint /inbound-handler
, which I had already configured on my Postmark dashboard.
This inbound webhook is responsible for parsing the incoming email data, which includes the sender's email address, the recipient's Invisibox email, the subject, and the body of the message.
The application then determines whether the sender is a management or an employee based on their email address. Depending on the sender's role, the application either forwards the message using Postmark's transactional message stream to the appropriate recipient (employee or management) or sends an error notification if the sender or receiver is not recognized.
router.post('/inbound-handler', async (req, res) => {
const db = getDB();
const inboundData = req.body;
console.log('Inbound email received:', inboundData);
try {
const invisiboxEmail = inboundData.ToFull[0]?.Email;
const from = inboundData.FromFull.Email;
const textBody = inboundData.TextBody || inboundData.TextBody || 'null';
const subject = inboundData.Subject || 'No Subject';
const message = stripQuotedReply(textBody);
const employees = db.collection('employee_subscriptions');
const users = db.collection('management_users');
// Check if the sender is MANAGEMENT
const company = await users.findOne({ email: from });
const receiverIsEmployee = await employees.findOne({ employeeInvisiboxEmail: invisiboxEmail });
if (!company && receiverIsEmployee) {
// If the sender is not recognized as a company, send an error email
await companyNotSubscribedEmail({
to: from,
subject,
empInvisiboxEmail: invisiboxEmail,
});
return res.status(200).json({ message: 'Sender not recognized as management' });
}
...
}
Complete flow diagram of how the 🟡Postmark Inbound stream🟡 communicates with the application and how the backend processes that data
This parsing and routing mechanism enables seamless communication between employees and management while maintaining anonymity and security, which are core features of the Invisibox platform.
Features and the Postmark message stream used
Feature | Postmark Message Stream | Function |
---|---|---|
Subscription success message Delivery | Outbound (Transactional) | Sends a subscription success email to the user, including their unique Invisibox email address |
Employee Message Delivery | Inbound | Receives emails sent by employees to the company's Invisbox email address |
Sends polls and their results | Outbound (Broadcast) | Delivers poll and poll results emails to all subscribed employees |
Management sends messages from the app | Outbound (Broadcast) | Delivers message created by management to all subscribed employees |
Employee Broadcast message reply | Inbound | Receives replies from employees and sends to the app, which sets the message as a reply to the appropriate broadcast message |
Management password Reset | Outbound (Transactonal) | Sends password reset instructions to the user |
Management sends a message from their inbox | Inbound | Receives messages sent by management to an employee's Invisibox email address, parses it to the webhook which routes the message to the appropriate email address |
Subscription Notification | Outbound (Transactional) | Notifies management of new employee subscriptions |
... Rest features utilize the Outbound (Transactional) stream.
The email integration with Postmark ensures reliable message delivery while maintaining complete anonymity for employees.
Continuous Development
As my first time making use of email parsing in an application, PostMark really opened my eyes to the true capabilities of emails.
I appreciate the PostMark and DEV team for putting together this amazing challenge.
As for Invisibox, who knows, I might turn into my very own first SaaS application😁. I believe it has a lot of potential and I would keep developing on it, of course keeping PostMark as the core email client and backbone of the app ☺️. Thoughts, questions, and feedback on the app are highly welcome.
Well, if you made it this far in the post, here is a glass of wine for you 🥂 Cheers 😁✨
Top comments (0)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.