Starting a new project is always exciting but even more exciting is when your old client comes back to you after a few years with an idea to improve the product which has been successfully used by hundreds of thousands users in recent years.
This story starts over 10 years ago when Virrage Images company contacted us regarding custom software development for the new brand – Welcomia.com. As you know, technology changes every day, so getting back to the product which has been created over 10 years ago can be challenging. The reason why GMI was created was to face new challenges, so we were very excited to dive into this topic.
The idea – “Sell while you sleep” – platform to sell stock photography and footage to small companies and individuals
If you ever took a beautiful picture which looks like a cover from a modern magazine then probably you thought “what would happen if I sold it”. That’s the idea behind Welcomia.com which has a huge library of high-quality photos and videos.
The concept was to build an online application to manage all images and footages and sell them to a wide range of clients in a fully automated process.
However, it’s the only mid-term vision. In the long run, Welcomia will allow sharing their libraries by 3rd party partners or freelancers.
Let’s put it into numbers. Every day ~2 billion photos are posted online. If we assume that only 0.01% of those photos are of high quality, then we get 200 000 photos which can be monetized. Every day. So there’s a huge business scaling potential for Welcomia.
Challenge #1 – “Done” vs “Perfect”
We invited our client on a 6-hours Product Design Workshop call, and we started retrospective about the old version and what’s the idea behind the new one. After a few minutes of the talk, we remind ourselves that our client is a perfectionist and pixel-perfect approach is a must-have for this project.
To be honest, it was one of the challenges, because we work with startups with a lean development approach where “done is better than perfect” is a kind of mantra. As a result of this, we defined parts of the project that have to be done with a pixel-perfect approach and those which require a focus on functionality, not on “look & feel”.
Basically, public sections should be polished; back-office needs to work correctly. This compromise allowed us to reduce the budget and to get a clear view of priorities.
After we defined significant project goals, and we described the Scrum framework as a foundation for our cooperation for upcoming weeks, we dive into discussion and brainstorming about crucial processes in the application.
Ideation & Brainstorming
If you meet with your client in an office, then you can use a whiteboard to sketch some ideas, but we are an all-remote software development company, so we have our way to conduct workshops using an online whiteboard (miro.com).
We believe that is the best option for online workshops. You never have to erase your whiteboard. You can open the whiteboard every time you want during a whole project. A client always has access to this board, and the best part of this is that we can easily integrate with external tools.
Welcomia is a global project funded by a US company, so using an online approach, our client could reduce the budget for travelling for project meetings to 0 USD. It’s a huge advantage for everyone. At the end of the day, this budget can be used for getting new customers or for new features development.
Ok, so we have tools and processes in place, now it’s time to understand the customer journey and how our software should deliver the best possible experience. The question was: how to turn visitors into buyers.
The great news was that our client was experienced and involved in a whole process and in result, we received pre-prepared static application views based on Bootstrap framework.
This is something! It allowed us to sketch user flow on the whiteboard using real UI elements which will be used in the final app.
Quoting Steve Jobs “People don’t know what they want until you show it to them”, so it’s always better to discuss something you can see. In this case, we almost could see the final result on the Miro board. It’s not an often situation because workshops are more like a conceptual stage – a lot of sketches, drafts.
In the result, we prepared a comprehensive process for three profiles: guests, users and administrator. Based on this knowledge and understanding, we were able to prepare a product roadmap and proposed development team. With this information, we were able to provide the client with an estimated budget and project schedule.
Green light! Let’s start product development!
It’s always a great feeling when you get confirmation from the client that you can start working on the project. It was exactly the same this time.
The dedicated development team for this project included:
- Krzysztof as Backend Developer (fully involved in this project)
- Karol as Frontend Developer (partially involved in this project)
- Mikolaj as Proxy Product Owner
- Piotr as Scrum Master
Challenge #2 – Client as a Product Owner?
We knew from the beginning that our client is a very busy person, and we need to find a way to support him in the Product Owner role. This was a very unusual case for us because we decided to involve Mikolaj to the project as a Proxy Product Owner because he was the person who programmed Welcomia over 10 years ago and had a good understanding of client’s business goals. The client has been placed in the role of Investor.
If you are interested why we decided to split these roles then you can read more about this subject here: Stakeholder vs Product Owner in the online project – is mixing up these roles a good idea?
Marathon or sprint?
“Most people overestimate what they can do in one year
and underestimate what they can do in ten years.” – Bill Gates.
We are aware that building a new, successful product is a marathon, but to get a good pace, you need to divide it into smaller time intervals. That’s why we decided to plan 10 weekly sprints.
Every sprint started with a Planning meeting where we could discuss work planned for the upcoming week. All work was organized using Trello, so at every stage, the client and team could see what’s the status. After each sprint, we had a Review meeting so that we could talk about the results of the last week. After that, we discussed things that can be improved in the upcoming week – that was part of the Retro Meeting.
IT environment is very dynamic and to have everything under control we meet every day on daily meetings. Every day starts with 15 minutes meeting, where we answer three important questions:
- What did you do yesterday?
- What will you do today?
- Are there any blockers or impediments preventing you from doing your work?
After this quick meeting, all team members are up to date about the current status, and we can start working on new features.
Challenge #3. System migration – Database + Amazon S3
If you work with different systems or applications, you know that very often they are incompatible with each other. We knew that the migration of database which had been designed and implemented 10 years ago would not be a piece of cake. Additionally, together with the client, we decided to transfer all files to AWS.
It was the best time to do it, and it had to be planned as a part of the bigger plan. We knew it wasn’t going to be a one-time thing, so we divided it and planned it in upcoming sprints.
The first step was to learn more about the old database and files. After that, we were able to validate our assumptions regarding the old and new DB schema. During this work, we found out that there’s one missing piece of the puzzle – watermarks. All images should have a new Welcomia logo watermark. Of course, all thumbnails, preview images should be included as well.
Based on this knowledge, we decided to do proof-of-concept and write a function to transfer files and generate watermarks on the fly. It looked like a really good idea, but after a few tries we found out that a small part of files is corrupted.
So we decided to split this big package of thousands of files into small packages and to find which files are interrupted.
After that, we were able to process small file packages, and if any error occurred, we could resume a whole process easily.
Because a whole migration was spread over the whole development process, we decided to use a small package of photos for testing purposes at the beginning of the development. Thanks to that we were able to see results as a live application in an early stage, not only as mocked data.
Operation on files was time-consuming, but we didn’t consider that as a big issue because we could work on other features in parallel. Unfortunately, it was our mistake. This challenge took more time than we estimated, and it had a direct impact on the deadline, which had to be postponed.
Challenge #4. SEO – previous URLs
Having the advantage of a large database Welcomia is focused on organic traffic which can be generated by a wide range of keywords. It was crucial to bear in mind that we have existing, incoming traffic from Google, so all old URLs have to be available.
We imported all slugs and routes from the old system, and we built a similar app routing to the old one.
Client’s support and feedback were very helpful for us on this stage because he had a lot of knowledge about all used keywords. So after releasing a beta, we were able to adjust metadata and hidden SEO phrases very quickly.
The end of March 2020 we released a beta version, and after 2 weeks the public version was live. For the next few months, our client will be focused on increasing organic traffic to get more paying customers as a result.
We observe our client’s activities with great interest, and we hope that all KPIs can be achieved and we meet in the near future to work on the next version of the product.
If you are looking for high-quality photo or footage, please visit www.welcomia.com!
So, are you planning to create a “sell while you sleep” product? Then you came to the right place! Reach out to us for a project estimation!