Below is a video overview of how the application functions. The video was aimed more towards the typical Cold Stone employee as a sort of introduction to how it works in cooperation with everyday tasks.
What did I set out to do?
I’ll be honest, this started out as a cute little project that would help me learn the ins-and-outs of web application development. I soon realized that the product I was making had the potential of decreasing labor hours in the work force which resulted in an increase of savings over the year. I saw an opportunity where I could convert analogous tasks into an automated centralized system.
From my experience working there, Cold Stone was primarily managed by physical task sheets, cake sheets, and word to mouth interactions. There was a clear need for an online presence that allowed for quick communication over the internet. Managers can now better understand what is being done on a daily basis remotely.
Why did I do it?
There are three main reasons as to why I took on the challenge of building Keep Track. The first being pure interest in web application development. I wanted to start with this platform of development, then eventually branch out into mobile applications to gain additional experience. The second reason was I saw a genuine need for better communication when it came to store management. There were a couple instances where my store owner had little knowledge of how certain important tasks, such as customer cakes, were being dealt with. This miscommunication leads to larger issues that could have been easily avoided. Finally, I envision an era that encourages the use of technology to help with mundane actions such as what Keep Track “Keeps track” of. I don’t plan to stop at Cold Stone because there are several franchise businesses and restaurants that still use analogous methods, which ultimately exhausts work time and thus yearly revenue.
As a side note, another reason that I wanted to build Keep Track was to do something. I’m actively working towards becoming a doer over a talker and I think this was a decent step towards adopting that mentality.
How I did it?
Well… this could be answered in a few ways, but I’ll keep it simple! Essentially, I looked to my peers to get started. I knew I wanted to develop something, but I wasn’t quite sure where to start. Some of my fellow STEM friends were well versed in the world of programming so I set out to learn the type of programming that enabled easy access over the internet. Once I had a solid idea of where to begin, I invested tons of time into google, learning all that I could about software stacks such as LAMP and MEAN. I eventually settled on the MEVN (Mongo, Express js, Vue js, and Node js) stack which provided me with more than enough flexibility to accomplish something cool. I caught on to the fundamental programming concepts quickly because of my previous experience, however, development took quite a while. I started with developing login CRUD applications which slowly built into small scale software apps that I played around with.
It was at this point that I noticed a fun, possibly rewarding, project to work on. Store management! I started with the responsible thing, planning, but that didn’t last long and I dove straight into development. As mentioned in my previous update blog posts, that didn’t work so well as I ran into some issues when considering how multiple store locations could use the app at the same time without mixing data. I essentially built the structure of the application incorrectly which bit me in the behind down the road. Needless to say, I still somehow managed to get where I am now.
I do feel a bit ashamed of the amount of time I missed out on class lectures. Not too ashamed though.
What did I learn?
This is the best part because I now get to reflect on what I learned during the project. My newly acquired knowledge goes beyond what I could have possibly envisioned beforehand. Gaining technical knowledge was only half of the educational outcome, the other half was building business models and learning how to sell a product that I genuinely care about. I learned about ROIs (Return on Investments) and how to optimize a product’s worth. I learned how to cooperate with an existing business to help with building something that’s better suited towards helping the said business. Most importantly, I learned not to limit myself to what I’m familiar with and instead dive into difficult circumstances if they yield better results in the end, similar to my previously mentioned issue of multiple store sessions.
As far as gaining technical knowledge, the number of tools and programming languages that I learned how to use was insane. I’ll try to list a few. The tools include but are not limited to Atom, Postman, PHP, Node js, Vue js, Vuetify, Express APIs, Angular js, MongoDB, SQL, MLab, Vuex, Axios, JWT Tokens, cookies, and the list goes on. I plan to make a few blog posts regarding the nitty-gritty technical aspects of the project which I’m super excited about!
That’s the question of the day, isn’t it? Well… next month will be the ultimate test. I’ve made plans to deploy Keep Track and have it thoroughly tested by both manager and employee. I also contacted a few software developers as well as software stress testers to reduce programming bugs and optimize speed. I currently have the software hosted on Microsoft’s Azure cloud service, however, the yearly cost of doing so is not very friendly. I will be playing around with more hosting services after my free Azure trial expires.
During March I will be able to create ROI models more efficiently which will assist in marketing. Because of my extensive experience working with Cold Stone, I can get a better understanding of how effective Keep Track will be after implementation with the staff. If Keep Track is a viable product, I don’t doubt that additional features will be demanded to meet expectations of further use. I will then be filing an LLC following the hopefully successful trial run.
After the first trial of Keep Track, my brother and I plan to take the software and provide it as a subscription-based service to other surrounding Cold Stones. We plan to charge on a per-user-per-month basis with discounts given to the first couple of stores that adopt Keep Track.
On a more general note, Keep Track can be seen as a fun starting project that opens the door to many, many more. I will take what I learn from this experience, success or failure, and apply it to my next endeavor; Most likely mobile application development. So if you like my style of software development, stay tuned for what’s to come!