Skip to content

wander1ust/delight-draft

Repository files navigation

Square Delight 🏮

Table of Contents

Installation  |   Configuring your environment   |   Inspiration   | Video Demo   |   Screen Shots   |   Limitations   |   Accomplishments


Installation

  1. Clone this repository
  2. Run cd server && npm install to install all server dependencies
  3. Run npm start from server/ dir to run the node server on localhost:5000
  4. Open a new Terminal tab, cd to client/ dir, and run npm install to install all client dependencies
  5. Run npm start to start the React app on localhost:3000

Configuring your environment

Delete the sample .env file (or replace the test values with your own).
Rename .env.example to .env and add your Square app credentials.


Inspiration

A delighted customer a day keeps them coming to stay ツ

I’ve used Square POS before as both an employee and a customer. But it wasn't until this hackathon that I became aware of the company + tech behind this much-needed business software.

Loyalty Rewards

I used to work as a barista at a bubble tea franchise. Given that the majority of customers were college students, I'm positive we would have seen an increase in regulars and returning customers had the shop offered a customer loyalty reward program, much like those physical stamp cards distributed by other competing chains at the time. Eventually, the frachisor rolled out their own rewards app + loyalty program, which was a step in the right direction. Ordering bubble tea🧋 (or boba tea 😉) is an expensive, luxury treat — as is any sort of made-to-order food takeout/delivery. Offering incentives based on purchases made or points earned is an excellent way to build and retain a loyal customer base.

A referral program is another tried-and-true marketing strategy for promoting a business. Is there demand for an affiliate referral program within Square's seller community? Indeed, there is! If you search the seller community forum for 'affiliate referral', you'll get back 200+ results related to this query. Here's a recent post by one Square seller requesting an affiliate referral program in conjunction with Square's Loyalty program to be packaged as an all-in-one, seamless Square customer loyalty experience.


Catering to different dietary needs

Different individuals have different diets, some stricter than others. It isn't clear from looking at a standard food menu, which items fit into a particular diet and which don't. Typically, one has to scroll through a long menu and read each description + ingredient list (if provided). Even then, a customer cannot be sure of the ingredients, how much of each ingredient was added, or how exactly a dish was prepared (aka the 'secret' proprietary recipe), unless they ask. This might not be a concern for many, but it's a real problem for those on restrictive diets. There's a lot of trust that consumers place in chefs and servers handling their food, whether they realize it or not.

A 16 oz banana berry smoothie sounds healthy, right? Well, not if it contains 60g of added sugar!

sugar overload
           via GIPHY

The right to know

I've had the pleasure of witnessing folks try Taiwananese-inspired bubble tea beverages, tapioca pearls, plus a variety of other toppings + flavors for the very first time. The long list of options often overwhelms first time customers. In such cases, I'd get asked which drink I recommend, how sweet a drink is (there are different sweetness levels, but if a customer doesn't know how sweet a drink tastes at 100%, then they won't know how to adjust the sweetness level to their liking. For example, taro flavor comes out much sweeter than other flavors cause taro syrup alone is very sweet, which is great for those with a sweet tooth but not so great for someone who prefers or requires less or no sugar). The most popular beverages contain powdered milk, whereas other drinks contain fresh milk. Not everyone is okay with consuming the former. Then there were times when I was asked questions about specific nutrition profiles, ingredients, or manufacturing process that I didn't know the answer to.

Most customers don't have the time or patience to go through 1-3+ different nutrition guides that they need to look up, load online, and zoom in to try to read text on their small mobile device screens 🧐. When a human is hangry, they are H A N G R Y. 😡 👿

hangry pika angry

            GIPHY 1                                       GIPHY 2

The purpose of adding a dietary options filter is to foster a more inclusive customer food ordering experience. But the seller has to care enough to enter in this info in the first place (could be stored privately as custom attributes with hidden visibility).


Video Demo

video thumbnail


Screen Shots

catalog
claim reward
ineligible reward item eligible reward item
loyalty referral
diet options filter
loyalty bar


Limitations

Unfinished, buggy app  ★  Bad algorithm  ★  Broken code ☹️

Bad algo - slow performance; time complexity increases as catalog grows in size

Change approach
- call catalogApi.searchCatalogItems + catalogApi.searchCatalogObjects from backend
- then render items in frontend for each reward click & option change?


Accomplishments

✔︎ Looked at yummy food pics w/o craving anything 😲

✔︎ Learned react-redux reducers from this well explained video tutorial.

✔︎ Tried following this guide on how to best structure project code in hopes that it would make my spaghetti code 🍝 </> less unpleasant to read & manage. It's the best explanation that I found online (aka the only one I understood). Idk if I structured my code correctly, but I did notice an improvement in overall organization & workflow.


contact

About

Square Delight 🏮

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published