Introduction
I wanted more than just another tutorial project. I wanted something that would simulate the experience of building a real SaaS application — complete with backend complexity, frontend interactivity, and integration with third-party platforms.
Around the same time, a friend shared an idea: a simple yet powerful tool for sending SMS campaigns paired with landing pages that could showcase content, products, or announcements. Initially, we never expected it to become a business. But as I developed the app further, it quickly evolved into a fully functional SaaS platform — one that solves real problems for small businesses and Shopify merchants alike.
This article covers two sides of the journey:
-
The business need this app addresses.
-
The technical implementation behind it.
The Business Problem: Simplifying Customer Engagement
Small businesses and Shopify merchants all face a similar challenge: reaching their customers in a way that is both direct and engaging.
-
Email marketing often suffers from low open rates.
-
Social media is crowded and unpredictable.
-
Traditional SMS tools are often complex, rigid, or too expensive.
My app solves this by combining SMS messaging with custom landing pages, giving merchants a straightforward way to share rich content with their audience. Instead of sending a plain-text message, merchants can link to a branded page with images, text, carousels, calls-to-action, or even questionnaires — all trackable through analytics.
For Shopify merchants, the app goes a step further: it integrates directly with their store, syncing customers automatically, fetching product data for campaigns, and ensuring GDPR compliance.
What the App Does (At a Glance)
-
User onboarding: Register directly or install from the Shopify App Store.
-
Contact management: Upload recipient lists or auto-sync Shopify customers.
-
Content creation: Build landing pages with text, images, carousels, CTAs, and forms.
-
Campaign delivery: Send landing page links via SMS to selected contact lists.
-
Analytics: Track engagement metrics like clicks, views, and scrolls.
For Shopify merchants, additional features include:
-
Customer synchronization: Contact lists always reflect the latest store data. If a customer is deleted in Shopify, the app removes them as well.
-
Product insights: Before creating a campaign, merchants can pull in product details that help highlight features customers might otherwise overlook.
The result? A lightweight but powerful platform that saves merchants time while helping them maintain a direct relationship with their customers.
Technical Deep Dive
Since this project began as a way to expand my technical skills, the stack is a big part of the story.
Backend stack
-
Django: Chosen for its out-of-the-box features like authentication and password validation.
-
PostgreSQL: A reliable relational database that supports complex model relationships.
-
Redis: Used for caching, particularly for Shopify product data, reducing unnecessary API calls.
-
AWS S3: Handles image storage, integrated via Django’s
storages
library. -
GraphQL: The interface for communication with Shopify during app installation and data syncing.
Frontend
-
React: Core framework for the UI. Once I understood hooks and the lifecycle, it became a powerful development tool.
-
Redux: Manages global state. While some argue against Redux, it made sense here as the app scaled beyond React Context.
-
Tailwind CSS: My styling choice — flexible, consistent, and intuitive with React components.
Third party libraries
-
Vonage: Provides SMS services, with future plans to extend into RCS messaging where available.
-
OpenAI GPT-3.5: Generates campaign copy, helping merchants craft better descriptions quickly.
-
Celery: Manages background tasks such as scheduling SMS campaigns, archiving messages, and sending emails.
-
JWT: Handles authentication with support for custom claims to persist user state.
-
Stripe: Manages payments for direct users. Shopify merchants use the native Shopify Billing API for seamless compliance.
Business Value: Why It Matters
While there are many marketing tools out there, this app intentionally focuses on simplicity and clarity. Instead of bloated dashboards or steep learning curves, merchants get exactly what they need:
-
A way to reach customers directly.
-
Tools to build engaging content quickly.
-
A system that stays in sync with Shopify.
-
Compliance built-in, so businesses don’t have to worry about GDPR headaches.
By simplifying customer engagement, the app helps merchants spend less time managing tools and more time focusing on their products and content.
Core Components of the App
Customer Management
-
Shopify sync: Import customers directly from the store into a dedicated list.
-
Two-way updates: Adding or updating a customer in Shopify reflects in the app, and vice versa.
-
QR code signup: Merchants can print QR codes on packaging or products to encourage customer acquisition.
-
GDPR compliance: Automatic deletion of customers when required by Shopify rules.
Content Creation
-
Merchants design campaigns as custom landing pages, adding elements like text, images, and carousels.
-
Campaigns are editable and reusable, allowing for fast iteration.
SMS Delivery
-
Campaigns can be sent immediately or scheduled for later.
-
Credits are consumed based on message length and region.
-
Scheduling includes cancellation options, giving merchants control.
Analytics
-
Engagement tracking includes clicks, views, and scroll depth.
-
Data helps merchants refine future campaigns based on performance insights.
Looking ahead, whats next?
At the time of writing, the app is fully functional and available both on the Shopify App Store and for direct registration. Future plans include:
-
Expanding into RCS messaging.
-
Deeper AI-powered campaign optimization.
-
More advanced analytics to give merchants even stronger insights.
Closing Thoughts
What began as a personal learning project has turned into a SaaS platform that solves a real-world business problem: helping merchants and small businesses connect with their customers in a simple, effective way.
Whether you’re a Shopify merchant looking for a streamlined SMS solution, or a developer curious about building full-stack SaaS applications, I hope this journey sheds light on both the business and technical sides of the product.
👉 Try the app on the Shopify App Store or register directly on Sendperplane.
For support, contact support@sendperplane.com.
Nice breakdown — clear and practical. Quick question: how do you handle consent and opt-out flows for international SMS recipients, especially with different opt-in rules across countries? Also, any tips on keeping landing pages lightweight to avoid SMS link preview issues?
Good question! Basically here the main thing is that you already have a list of your audience. Meaning that they do a consent before signing to your list of sending sms. And if they want to sign off they just click on the link which is inside of SMS to do so.
As for landing pages I just tend to create few elements as possible. I am not using any overbloated template just pure html.