Launched & Lessons Learned: SMS order-ahead platform with Twilio & Square API
Tags: twiliohackathon, ruby, sms, square
Published: 2020-10-11 16:31:22

In my [first post](https://dev.to/willcheung/twilio-hackathon-todo-list-textbot-user-flow-with-studio-flow-4188), I wrote about my ambitious project to create a SMS order-ahead platform & CRM for small business. The goal was to help coffee shops & restaurant owners to digitally accept new orders (like a Starbucks app) without the 30% commission charged by on-demand delivery businesses. Not to mention, I believe that digital (specifically text/chat) is the future of customer communication. So, I'm happy to announce that I've launched the text-ordering bot, [Textbot](https://getTextbot.com)!

## Why I built a to-do list first, and how it evolved
The reason why I chose to create a to-do list is to find the most-common-denominator feature that could power potential sms bot ideas. SMS ordering-bot was just one of my initial ideas. I also had thought about SMS queue-management system for restaurants and simply to keep a list of inventory via text messages, without the bulky app installation & registration. In addition, I even thought about exposing the SMS queue-management platform API, so anyone can use it to build whatever list they want.

The idea quickly turned into a full-blown ordering and payment system when I started talking to food trucks and independent coffee shops about their pain points. Not only do they want to offer digital ordering to their customers, they don't want to be charged 30% by DoorDash or invest time to setup a new order-ahead app. The biggest revelation was probably the time that these businesses took to invest in creating their menus in these new order-ahead apps. 

### Pain points of these SMBs:
* 30% commission fee is outrageous, but necessary to survive. Margin is razor thin.
* Willing to pay a little money to offer existing customers a way to order-ahead. Some opt for traditional call-in-to-order. Others invest in 3rd party apps/websites.
* For those who invest in 3rd party apps, creating a menu is the biggest pain points. They have to take professional pictures, post it with a description, create categories/add-ons, and then publish the menu. 
* Menu management is also difficult with these apps, especially for sold-out items.

### Which means our MVP needs to:
* Be frictionless for consumers to order from these businesses. This means no app installation, no registration, and can start ordering right away.
* Be frictionless for store owners to get started & setup their menus
* Offer online payment

## Discovering the most important player in the ecosystem
As I paid more attention to how restaurants and coffee shops take orders and allows digital orders, I started to notice a POS (point of sale) system that most "modern" businesses use - [Square](https://squareup.com/us/en). (The reason why I put quotes around "modern" is because most businesses are cash-only or non-tech savvy. More on this later.) Since I want to offer online payment where these SMBs can use their existing POS to accept payment (and the store owners are more tech-savvy), then Square is a clear winner. 

I actually didn't integrate with Square from the beginning. Instead, I used Stripe because I had previous experience with their API and they have a very robust marketplace product called [Stripe Connect](https://stripe.com/connect) that is being used by Uber, DoorDash, etc. There were several offerings, one of which is white-label solution (like Uber, DoorDash, etc.), and the other method onboards customers via Stripe's own onboarding process. As a single person team, I didn't want to be liable of payment fraud or ordering errors, plus the ease of integration is much lighter, I chose to onboard store owners via Stripe and defer those responsibilities to the store owners themselves. 

Integration was a breeze, and I mainly used Stripe integration as a live demo to store owners. Behind the scenes, I knew Square is the POS that I need to integrate with. As I started Square integration, I even participated in [Square Hackathon](https://square.devpost.com/)! Their API and documentation isn't as rich as Stripe, but it wasn't hard to hack together a prototype to sign up a few beta customers.

## Square + Twilio = Great Product
I worked with a few beta customers to [streamline the ordering process](https://www.gettextbot.com/how-it-works). The product is beautiful, figuratively, since SMS actually has no UI. But the customer flow is exactly how I imagined the future to become.

### Customer flow:
1. Customers text to order their coffee, food, farmer's market items, etc. Customers checkouts via our Square checkout integration. (You can try a live demo - text "order @textbot" to 215-8TEXTME) 
   ![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/iz63jr0fc23bl62e2xtb.jpg)

2. We send the order directly into businesses' POS or Square account so vendors don't need to use another tool; we operate in the background. They can use our order management system if they don't have Square.
   ![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ojh5yr8665yf7xncv46j.jpg)

3. When the order is ready, tab "Done" inside Square POS. The webhook will send an event so we can text customers that the order is ready.
   ![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/lwxrysjpsvldgtan8r9s.jpg)

### Store owner flow:
This is much more difficult, since there are multiple humps that store owners need to go through to get started. I'm familiar with this SaaS sales funnel, so I got started like the following.

1. Sign up using Square SSO, or sign up with email without Square.
2. Setup a business profile, much like an Instagram handle. I'm imagining a world where Textbot can order food from anywhere.
3. Setup menu, and we made it *really* easy. For example, no pictures are required for SMS. 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/a9990p7o4pbt2vbwzrea.png)

## Go to market experiments and concerns
Signing up customers was really, really difficult. Imagine a door-to-door salesman selling magazine subscriptions in the past - it's like that. But because we provide a poster for store vendors to tape on their window about how to order-ahead with Textbot, I thought we had a chance for word-of-mouth marketing. 

So I identified a cluster of coffee shops, casual restaurants, and farmers market, and just went door to door. It was painful but enlightening:

* Most customers are not tech-savvy. They asked a lot of basic questions about how order-ahead generally works. I used analogies like Starbucks app to order ahead coffee, but every sale takes a lot of time and many touch points.
* SMS ordering is a pretty new concept, so this definitely adds to the "customer education" sales process
* Some don't use Square.
* Digital marketing conversion isn't great. It may be because I haven't fine-tuned the keywords, but it could also be because most store owners are not technical.
* It is definitely not scalable, at least not something I can do part-time after work.
* I started targeting farmers markets, where I can target a cluster of store owners. Most accept cash / Venmo and not many use Square.
* In my last startup, I found a lot of success being a partner in marketplaces for Chrome extension. I applied to become a partner at Stripe and Square. Stripe doesn't drive much qualified traffic, as expected, and Square doesn't list Textbot as a partner until we hit 100 active customers.
* This one is big: even when customers sign up, they still have to do their own marketing to encourage customers to order via SMS. We made it easy so store owners can print out a poster to tape on their entrance - to tell their customers how to order via text, and even added QR code. But most store owners see this as retaining existing customers, but not as getting new ones. In SaaS world: Sales > Customer Success

## Final thoughts
Even though there's an explosion of order-ahead and digital payment for brick & mortar businesses, targeting them isn't very scalable. Without a scalable digital channel, I actually have to spend time in the field getting the first 100 customers, instead of just investing money in marketing. Moreover, I'm sure this was done years ago (perhaps via SMS or Facebook Messenger) and never took off. Was the market not ready? I wonder what were the learnings then?

However, the recent explosion of e-commerce might present an opportunity to bring Textbot to that market instead. It's a crowded, albeit big, market. Perhaps Textbot will become a look-alike, or it will be the next big chat-based CRM. We will see what happens.

What would you do?