Application
Inspiration
I have always wanted to make smart assistants you can communicate with. With Square's API, all it took was a quick middle layer to get communication going from a business user to Square's information store.
What it does
An SMS bot that responds to text message prompts to retrieve and update business-owner data.
How we built it
Built using Flask/Gunicorn hosted on a bare Ubuntu server. There is one front-end page for user sign-up. The magic happens in the text message to Square API communication.
- Users send queries via text message, these are received by Twilio, which triggers HTTP calls to our Flask endpoint that listens for incoming text messages.
- These text messages are then parsed and the proper data is retrieved from Square using API calls.
- This system need not store any merchant data (other than information used to communicate with Square) and is stateless.
- User data is currently stored using a json blob, but would eventually go into a SQL instance
Challenges we ran into
- Finding the proper service for programatic SMS, service for hosting Linux VMs, taking an OS from scratch and building it out to host a live service
- Coming up with a system of commands without necessarily hard-coding every possible query from the user. Some progress was made towards this by making the first command the "key word" and basing a decision tree off of that, but ended up hard-coding a few commands for the sake of the demo. Ultimately, would hope to build a Natural Language Model middle layer that interprets user input and translates it into actionable calls to Square
Accomplishments that we're proud of
- This concept doesn't seem to be around based on preliminary searches, seems like we have a relatively fresh idea for a useful tool for small business owners.
- Always cool to be able to interact with software using text messaging, proud of having software be able to "talk back to you"
What we learned
- How to bring up a service end-to-end, from code to hosting to testing from real-world phones
- 6 weeks is a lot shorter than you think for a part-time project with large scope
What's next for Square SMS Assistant
- Usability: An NLM middle-layer for AI-like communication between user and assistant bot. The ML would take spoken user input and translate it into actionable Square API calls
- Scaling: Adapt to a growing user-base via improved database performance, SMS service scaling via AWS, CDN, etc

Log in or sign up for Devpost to join the conversation.