We've compiled a case study showcasing our process from idea to a final app. Even though we optimize our process for every client, this case should give you a good idea about our process.
On a sunny Monday morning we've been approached by our client, let's call him Carl, about how he managed to be more productive by using a stopwatch to have repetitive and predictable work and break cycles.
Carl would turn on a stopwatch, and for 30 minutes he would only do a single task eg. answer emails, do work, read a book, etc. After 30 minutes were gone, he'd take exactly 5 minutes to chill - go through his instagram feed, play with his cat and look at memes. After 5 minutes were gone, he'd go back to 30 minutes of work. He said he initially was able to do this for 15 minutes only, and as time went by he increased his work intervals.
**Why** did Carl decide to do this weird ritual instead of just working like everyone else you might ask? Carl said he was too distracted by social media and other factors that he said he was not effective at work, he'd be distracted too often and it would take him a lot of time to get the basic tasks done. He was too distracted by multitasking and he just couldn't discipline himself. He felt as this was affecting his work and it was stagnating his progress.
Carl said that it would be nice if he had a centralized system to track these little tasks and time intervals, have an overview of how much time he spent on what and how he was progressing.
We really liked the idea, and we felt the _connection_ with Carl, so we went to the drawing board. We've recognized that the best device for this type of project would be a smartphone, because it could closely resemble stopwatch and feel like a proper time tracking tool, but we didn't want to stop there because we thought that a desktop version would be equally as useful for the busy-busy people who just don't want to use their phone all the time.
We then did a market research, looked at the competition and were pleased to find similar apps on the market! It gave us additional confidence that we can create something that would bring value enough to be competent with the current market. We crunched the numbers down and got ready to take on the competition.
Next step was to identify who would use our app. We found 2 target audiences - professionals that would use our time management app for work and students/hobbyists that would use our app for side-project/study purposes. We've created personas for our market share.
Based on this, we wrote user stories so that we could better understand our personas and have a clear idea on how to structure our user experience.
We then took our time to look at the technological specifications of the application, considered different technologies that will create the best balance between cost, time and ease of development.
We've then compiled all of our data and research into a PDF document and presentation and prepared to present our take of the project to Carl and his team.
We've presented all of our research to Carls team. They liked what they saw (to be honest they really liked it). We've agreed on the time of delivery, workflow, tools we'd use for collaboration between his and our team and we were ready to start.
At this stage since we've agreed on all of the project specs it was on us to assemble a team that would work on this project. Since we knew that we wanted NoSQL database (MongoDB) and GraphQL all wrapped inside NodeJS backend, Vue front-end and Flutter app it was really easy find and assemble an agile team from our pool of talent to take on this project.
Our design team was really eager to start working on the app. All the user stories started to life and thrive and with frequent feedback from Carls team we were able to create a stunning app both Carl and his clients would be happy with. We used Figma to make feedback meaningful and easy We were passionate about a project and it really showed!
Our hardest and most important task as developers was to set up the structure and architecture right. We've taken our time creating local, staging and production environments for the entire stack. It is really important to establish CI/CD loop so that we can easily maintain and manage the development of the SaaS. We relied on docker for containerization, github workflows and actions for deployment, DigitalOcean as our cloud platform of choice, Kubernetes and we were ready to roll. Our agile approach, daily stand-up meetings, grooming and retros ensured that we kept the entire team on the right track and always knew during the application development. Thanks to this, Carl and his team were always able to accurately know exactly where we are during development.
It's so heart-waring watching the children grow, isn't it? As our MVP was ready to roll out, we ensured everything was ready for production, did rigorous testing and QA, put up a presentation website, and Carl and his team loved the work we did. Carl is one of our happy customers. And we are always looking for more projects to tackle and handle.
Want to see what lesstime.io is all about? Check it out
*Some details of the story have been altered with purpose of abstracting and generalizing our approach.