Proposal Access

This proposal is confidential. Please enter your email address to continue.

This email address is not authorised to view this proposal.
Project Proposal

Email Marketing Application

A custom, purpose-built platform for creating, sending, and tracking email campaigns — simple, focused, and ready to grow.

Aala Tech
Sufyan Chughtai / Foxlogic
May 2026
1.0
4 Weeks

This proposal outlines the scope, functionality, and delivery plan for a custom Email Marketing Application. The application will allow the client to create and manage email campaigns, maintain a subscriber database, track campaign performance, and control all email sending settings from a single, easy-to-use admin dashboard.

The application is designed to be simple, focused, and practical — covering all essential email marketing needs without unnecessary complexity.

Prerequisites

The following items must be arranged and confirmed by the client before the application setup can begin. These are not part of the development work but are required for the system to function correctly.

🌐 Application Subdomain
A dedicated subdomain must be created for hosting the email marketing application (e.g. mail.clientdomain.com or campaigns.clientdomain.com). This keeps the application separate from the main website.
📧 Dedicated Sending Email Account
A separate Microsoft 365 email account must be created exclusively for sending campaigns (e.g. newsletter@clientdomain.com). This account must not be used for any regular business communication.
📌 Development can begin once both prerequisites are confirmed and provided to the development team. Any delay in providing these items may affect the delivery timeline.
1

Admin Dashboard

The admin dashboard is the first screen the user sees after logging in. It provides a quick overview of the entire system at a glance.

  • Total Subscribers — the total number of subscribers in the system
  • Active Subscribers — subscribers who are currently active and eligible to receive emails
  • Total Campaigns — the total number of campaigns created so far
  • Recent Campaigns — a list of the most recently created or sent campaigns, along with their current status
  • Campaign Sending Progress — for any campaign currently being sent, a live progress indicator shows how many emails have been sent out of the total
  • Subscriber List Overview — a summary of all subscriber lists with their respective subscriber counts
  • Basic Performance Summary — a quick view of average open rates and click rates across recent campaigns
2

Campaign Management

Creating a Campaign

When creating a new campaign, the admin will fill in the following details:

FieldDescription
Campaign NameAn internal label for the campaign (not visible to subscribers)
Email SubjectThe subject line that appears in the subscriber's inbox
Sender NameThe display name shown as the sender (e.g. "Acme Newsletter")
Sender EmailThe email address the campaign is sent from
Reply-To EmailThe email address subscribers will reply to (can be different from the sender email)
Subscriber ListSelect one or more subscriber lists to send the campaign to

Email Content

After filling in the campaign details, the admin will design the email content using the built-in Email Template Builder (described in Module 3).

Test Email

Before sending a campaign to all subscribers, the admin can send a test email to up to five email addresses. The test email will look exactly the same as the actual campaign, allowing the admin to review the content and layout before it goes out to the full list.

Sending Options

  • Send Immediately — the campaign is sent to all selected subscribers right away
  • Schedule for Later — the admin selects a specific date and time, and the system automatically sends the campaign at that scheduled time

Campaign Status Tracking

Each campaign displays a clear status so the admin always knows where it stands:

StatusMeaning
DraftCampaign is created but not yet sent or scheduled
ScheduledCampaign is set to send at a future date and time
SendingCampaign is currently being sent
CompletedCampaign has been fully sent
CancelledA scheduled campaign that was cancelled before sending
FailedCampaign encountered an error during sending

Additional Campaign Actions

  • Duplicate Campaign — copy an existing campaign as a new draft to reuse the content and settings
  • View Report — after a campaign is sent, view the detailed performance report
  • Cancel Scheduled Campaign — cancel a campaign that is scheduled but has not yet started sending
3

Email Template Builder

How It Works

The email template builder allows the admin to design professional email templates using a visual drag-and-drop interface, similar to Brevo's email editor. The builder is divided into two sections:

  • Left / Centre Area — a live preview of the email, showing exactly how it will appear in the subscriber's inbox
  • Right Sidebar Panel — a panel containing all available content blocks (widgets) that can be dragged into the email

The admin can drag any widget from the right sidebar and drop it into the email layout. Each widget can be selected and customised using editing options that appear in the sidebar.

Available Widgets

The following content blocks are available in the right sidebar panel:

Text Block
Add and format a paragraph of text. Supports font size, colour, alignment, bold, italic, and links.
Heading Block
Add a heading or title with large text. Supports H1, H2, and H3 sizes.
Image Block
Upload or link an image. Options include width, alignment, and a clickable link on the image.
Button Block
Add a call-to-action button with customisable text, colour, link, and alignment.
Divider Block
Add a horizontal line to separate sections of the email.
Spacer Block
Add blank space between sections to control the layout and breathing room.
Logo Block
Add the brand logo at the top of the email with alignment options.
Footer Block
Add a standard footer with contact details, copyright text, and the unsubscribe link.
Social Media Links
Add social media icons with links (Facebook, Instagram, Twitter/X, LinkedIn, YouTube, etc.).
Two-Column Layout
A layout block with two side-by-side columns, each accepting any widget inside.
Three-Column Layout
A layout block with three side-by-side columns for more complex layouts.
Product / Card Block
A pre-styled block for showcasing a product or service, with image, title, description, and button.
Unsubscribe Link Block
Inserts the unsubscribe link. Mandatory — included in every campaign automatically.
Custom HTML Block
Paste custom HTML code directly into the email for any design or element not covered by standard widgets.

Template Features

  • Drag, drop, and reorder blocks freely within the email layout
  • Select any block to edit its content and styling in the right sidebar
  • Delete any block by selecting it and clicking remove
  • Preview the email in a desktop view before sending
  • Save the template as part of the campaign
📌 Note: Every email will automatically include an unsubscribe link, which is required for compliance. The admin cannot remove this from the final sent email.
4

Subscriber Management

Adding Subscribers

1. Bulk Import via CSV or Excel

  • The admin uploads a CSV or Excel (.xlsx) file containing subscriber data
  • The system asks the admin to map the columns (which column is the email, which is the first name, etc.)
  • Before finalising, the system shows a preview: total valid, duplicates detected, and invalid email addresses
  • The admin can download a file of invalid or failed rows for review
  • Valid subscribers are added; duplicates and invalid entries are automatically skipped

2. Manual Add

The admin can manually add a single subscriber by entering their email address, first name, and last name.

Subscriber Lists / Groups

  • Create named lists to organise subscribers (e.g. "Monthly Newsletter", "VIP Customers")
  • Add subscribers to one or more lists
  • Campaigns are sent to selected lists, not individual subscribers
  • Each list shows a subscriber count

Data Validation and Duplicate Prevention

  • The system automatically validates that every email address is in the correct format before accepting it
  • Duplicate email addresses are detected and rejected during import or manual entry
  • No subscriber will appear twice in the system

Subscriber Status

Each subscriber has a status that determines whether they are eligible to receive campaigns:

StatusDescription
ActiveSubscriber is eligible to receive campaigns
UnsubscribedSubscriber clicked the unsubscribe link and will not receive any further emails
BouncedThe email address could not receive email (invalid or inactive address)
SuppressedSubscriber has been blocked from receiving emails — either manually or due to a complaint

Managing Subscribers

  • Search subscribers by name or email
  • Filter by status or list
  • Edit subscriber details (name, email)
  • Delete a subscriber from the system
  • View which campaigns a subscriber received

Unsubscribe Handling

  • Every campaign email contains a unique unsubscribe link
  • When a subscriber clicks the link, they are immediately marked as unsubscribed in the system
  • Unsubscribed subscribers are permanently excluded from all future campaigns
  • The system displays a simple, professional confirmation page after unsubscribing
5

Email Sending Setup

Sending Provider

In the initial phase, the system will use Microsoft 365 SMTP as the email sending provider, using a dedicated email account created specifically for campaign sending. This account will be separate from the client's main business email accounts, ensuring campaign activity does not interfere with regular business communications.

How Email Sending Works

When a campaign is sent, the system uses a queue-based sending system that processes emails in controlled batches:

  • Batch Sending — emails are sent in small groups rather than all at once, reducing server load
  • Sending Rate Control — the system respects Microsoft 365's sending limits by controlling how many emails are sent per minute. This setting is configurable by the admin
  • Failed Email Retry — if an email fails due to a temporary issue, the system will automatically retry sending it up to three times before marking it as permanently failed
  • Scheduled Sending — campaigns scheduled for a future date and time are automatically sent at the correct time without any manual action required

Bounce Handling

  • If an email address is found to be invalid or permanently inactive during sending, it is automatically added to the suppression list
  • Suppressed email addresses will never be sent to again in any future campaign
Note on Future Scalability: The system is built to support switching to a professional email delivery provider in the future (such as Brevo, SendGrid, Mailgun, or Amazon SES) if the sending volume grows beyond Microsoft 365 limits. This can be done by updating the settings in the admin panel without any changes to the rest of the application.
6

Campaign Reporting

Reporting Summary

After a campaign is sent (or while it is in progress), the admin can view a detailed report:

MetricDescription
Total TargetedThe total number of subscribers selected for this campaign
Total SentThe number of emails successfully submitted for delivery
Total FailedThe number of emails that could not be sent due to an error
Total UnsubscribedThe number of subscribers who unsubscribed after receiving this campaign
Campaign StatusThe current status of the campaign (sending, completed, etc.)
Sending Date & TimeWhen the campaign was sent or started sending

Campaign Performance Summary

  • Open rate percentage — what percentage of recipients opened the email
  • Click rate percentage — what percentage of recipients clicked a link in the email
  • Bounce count — how many email addresses could not receive the email
  • A clean, easy-to-read summary layout designed for quick review

Report Export

The admin can export the campaign report as a CSV file for record-keeping or sharing.

7

Global Settings

SMTP Configuration

SettingDescription
SMTP HostThe mail server address (e.g. smtp.office365.com)
SMTP PortThe port number used for sending (e.g. 587)
Encryption TypeThe encryption method (TLS or SSL)
SMTP UsernameThe email account used for sending
SMTP PasswordThe password for the sending account
Test ConnectionA button to verify that the SMTP settings are working correctly

Sender Defaults

SettingDescription
Default Sender NameThe name that appears as the sender in all campaigns
Default Sender EmailThe email address that campaigns are sent from
Default Reply-To EmailThe email address subscribers will reply to

Footer Settings

  • Set a default footer that is automatically added to the bottom of every campaign email
  • The footer typically includes the company name, address, and the unsubscribe link

Unsubscribe Settings

  • Configure the text displayed on the unsubscribe link (e.g. "Unsubscribe" or "Manage preferences")
  • Configure the message shown to subscribers after they unsubscribe

Sending Limit Settings

  • Set the maximum number of emails to send per minute
  • This controls the sending rate to stay within Microsoft 365 limits
8

User Management

Overview

The User Management module allows the Super Admin to add multiple users to the system and control exactly what each user can see and do. Access is managed screen-by-screen and module-by-module, ensuring that each user only has access to the areas relevant to their role.

User Roles

RoleDescription
Super AdminFull access to all modules and settings, including user management. Only the Super Admin can create users and assign permissions.
Admin / Staff UserAccess limited to the specific modules and screens assigned by the Super Admin. Can have read-only or full write access per module.

Adding Users

  • Super Admin can create new user accounts by entering name, email address, and a temporary password
  • Multiple users can be added to the system
  • Users log in with their own credentials — no shared accounts
  • Super Admin can deactivate or delete any user account at any time

Module-wise Permission Control

The Super Admin assigns permissions to each user on a per-module basis. For every module in the system, the Super Admin can set one of the following access levels:

Access LevelWhat the User Can Do
No AccessThe module is completely hidden from this user. They cannot see or open it.
Read OnlyThe user can view all data in the module but cannot create, edit, or delete anything.
Full Access (Read & Write)The user can view, create, edit, and delete records within the module.

Permissions can be configured individually for: Dashboard, Campaign Management, Email Template Builder, Subscriber Management, Campaign Reporting, Global Settings, and User Management.

Security

  • Only the Super Admin has permission to access the User Management module
  • Staff users cannot view, edit, or modify other users' accounts or permissions
  • All permission changes take effect immediately upon saving
  • Each user's session is independent — logging out of one account does not affect others
8

Technology Note

The application will be built using modern, professional web technologies suitable for this scale of email marketing:

⚙ Node.js + NestJS (Backend) ⚛ React.js (Frontend) 🗄 MySQL (Database) ⚡ Redis + BullMQ (Queue) 📧 Microsoft 365 SMTP
Regarding the Email Sending Provider:

Currently, the project is in the starting phase, so it is recommended to begin with Microsoft 365 SMTP using a dedicated sending account. This avoids additional third-party costs at launch and keeps the setup simple.

If the email sending limit is exceeded in the future, or if the client experiences any delivery limitations, the system can be switched to a professional email delivery provider such as Brevo, SendGrid, Mailgun, or Amazon SES. This switch can be made from the settings panel without requiring any redevelopment of the application. The application is designed to support this transition from day one.

9

Development Timeline — 4 Weeks

W1
Week 1

Foundation & Settings

Project setup, admin login, global settings (SMTP configuration, sender defaults, footer), SMTP connection with rate control.

W2
Week 2

Subscriber Management

Subscriber import (CSV/Excel), manual add, subscriber lists, duplicate prevention, email validation, unsubscribe handling.

W3
Week 3

Campaigns & Email Sending

Campaign creation, email template builder (drag-and-drop), test email, queue-based sending, scheduled send, bounce handling.

W4
Week 4

Reporting & Final Delivery

Campaign reporting, admin dashboard, UI refinement, end-to-end testing, bug fixes, deployment.

$

Pricing & Team

Project Cost

Total Project Cost
125,000 PKR
Fixed Price
  • Full 4-week development and delivery
  • All modules included as described in this proposal
  • End-to-end testing and quality assurance
  • Deployment assistance and handover

Payment Terms

💳 Full payment of 125,000 PKR is required in advance before the project commences. Development will begin immediately upon receipt of payment confirmation.

Assigned Team

The following dedicated professionals will be assigned to this project to ensure proper development, testing, and quality assurance:

🎨
Senior Frontend Developer
Responsible for building the admin dashboard, email template builder, and all user-facing screens.
⚙️
Senior Backend Developer
Responsible for the API, database, email queue system, SMTP integration, tracking, and reporting logic.
🧪
Senior QA Engineer
Responsible for end-to-end testing, quality checks, bug reporting, and ensuring the application meets all requirements before delivery.

Summary

The Email Marketing Application will give the client a complete, self-contained tool for managing and sending email campaigns. All key functionality is covered in a simple, professional interface:

📧
Campaign Builder
Create and send campaigns with a visual drag-and-drop email builder
👥
Subscriber Management
Bulk import, list organisation, and clean data validation
Full Settings Control
Control all email sending settings from the admin panel
📊
Campaign Reporting
Track performance with clear, straightforward reporting
🔄
Future-Ready
Start with Microsoft 365 SMTP with flexibility to upgrade anytime
🚀
4-Week Delivery
Purpose-built for current needs, ready to scale as the business grows