AvidDeals: Mobile App
AvidSphere Inc. is a small company that provides direct mail, print, and digital marketing services in Lancaster County, PA and the surrounding region. The AvidDeals App is an extension of AvidSphere’s current services that provides their business clients a way to digitally distribute deals and coupons to their customers.
In the summer of 2016, I was hired by AvidSphere as a graphic design intern. I helped with various client design projects and also lead a rebrand of AvidSphere itself. While I was there, I learned from my 2 bosses the company had previously released an app that listed local businesses and coupons from these businesses. Users could then use the app to redeem the coupons in-store at these businesses.
One of the challenges of the previous app was that the data was not hosted on a server – it was stored within the app. So, to distribute new coupons or update business information, they would have to push an update of the app to the App Store, then wait for users to download the update.
Additionally, there was not a strong design process in place when they created this first app. Because of this, I worked with our team to build an understanding of the value of design in the process of creating an app. Design would allow us to define our goals, wireframe, and ultimately prototype the app before writing any code. I explained that the danger of developing an app without a design process is that you can end up paying a developer for the time you spend making design revisions.
The following summer, AvidSphere hired me as a project manager to oversee the design and development for their mobile app.
Research & Goal Definition
To seek out the right developers, it was important that I understand the marketplace of app development technologies. After doing some research, I came across React Native. Since it was more responsive and performant than Apache Cordova, but had benefits like code reusability across platforms, it seemed like a viable option for this project.
There was a list of 14 features my bosses had written previously that I categorized. The features ranged from layout ideas to admin dashboard features. It was a great starting point, but I wanted to be critical of the specificity of the features.
Why should this list of businesses be sorted by the distance away from me?
Why can’t the businesses make changes to their own pages?
I just wanted to know why they chose the features they wrote down. What business goals or assumptions were baked in? Asking these questions allowed me to ultimately create a brief that outlined some main goals of my bosses and the user. From these goals, we could determine (in wireframing) what screens we would need to accomplish those goals.
Since we hadn’t done extensive user research, we were encouraged by the developers we talked to to take an MVP approach. After building the MVP, we could pivot, iterate, and, over time, turn the app into something that was more user-informed. That said, an MVP meant we needed to prioritize and narrow down our feature list.
Along with the project goals brief, I created a simple prototype made out of wireframes so the developers could get a better idea of the scope of the project.
While we waited for quote estimates, I realized that this project was going to be much bigger than just something you download. I brainstormed and outlined other aspects of the business that would be a part of the app. What was going to be our promotional strategy? How could we get clients to promote the app for us?
Below are a few notes from this stage:
User emails (Eg. Account sign up and forgot password)
Deep share links that open directly in the app
Gauge interest from businesses
Survey users and test prototype
Maintaining client relationships
Our developers came back with pricing and we had it narrowed down to 2 or 3 potential leads when my bosses needed to have a conversation with me.
The app was going to be put on the back burner.
While we had set a budget at the beginning, we needed to wait to build the app until we raised capital to help with its funding. Until the business was financially ready to invest in building the app, the goal was to make a smaller-scale web app that could generate revenue and provide a similar service.
The requirements for the web app were primarily the same as the mobile app – the deliverable would be a coupon that the customer could print or scan from their phone and use at a local business. After a little bit of research, I came across an npm package that could generate PDFs. I didn’t know much about Node.js, but I had had exposure to it through React and ReactNative. In a few days I had a Node app that was generating a custom pdf file and sending it to my inbox.
I also quickly realized that the rest of the “app” followed the structure of an ecommerce website, so I did some more research on ecommerce APIs – specifically Shopify’s. If we could have a server app that is listening to our Shopify store, it could generate a pdf based on a customer order and email the appropriate pdf for customers to redeem. After making a Shopify test site, I integrated the API into my Node.js app and used Shopify’s web hooks to trigger an email containing a coupon with a unique promo code.
Since I didn’t have the experience necessary to actually push a production ready Node.js server live, we reached out to one of our top developer leads and ultimately hired him professionally execute my proof of concept.
Projects aren’t always guaranteed to follow through
This was a tough pill to swallow initially. Putting the project on the back burner meant my job description was also on the back burner. However, the opportunity it gave me to focus on business constraints and pivot to a smaller-scale solution was priceless.
An app is more than just the application
During my strategy development and research I learned very quickly that managing an app entails much more than deciding on a platform and communicating with developers. It requires a vision for the research, marketing, and advertising.
The opportunity during this summer to identify a problem, propose a solution, and get hired to fix that problem was very satisfying, and while the project didn't always go as expected, it was an extremely valuable experience.
During this project, I worked with my 2 bosses, but was primarily responsible for:
Project goals definition