Throughout the years, we have been able to help our clients, from solopreneurs to big multinationals, with very different kinds of projects.
We typically work on on a retainer contract, either jumping in existing projects to complement the client's team, or we build everything from scratch. We also do some smaller projects, of about 2-3 months of work, when the client has a smaller fixed budget and we feel like we can make a difference there.
Let's describe some of our most typical project types!
Web and mobile development
Web and mobile development account for most of the projects we do at MarsBased, and that's why our team is composed mostly of only technical people.
We love working on projects we build from scratch. Most of our clients trust us to choose the techstack, the architecture and to take high-level decisions regarding technology to develop their projects.
Example: All of the applications we built for RakutenTV were built from scratch, which gave us a very comfortable environment to deliver all of them with the best quality and always on time.
Another good example of development projects is when we are asked to rewrite applications. Sometimes, our clients ask us to rewrite code because of very different reasons: it was an MVP conceived only to test the business model but didn't scale, the codebase was all messed-up and no one in the company understood it any longer, or the company decided to use other technologies.
Example: We were asked to rewrite the zapptales MVP to turn it into a full product. Their MVP was good enough to launch and test their business hypotheses, but if they were to compete against real products, they needed a solid & scalable solution. We worked on maintaining the service for their current customers while we developed new modules in parallel.
Some projects are already complete, or so they claim. But by nowadays' standards, no software project is ever complete.
This kind of project implies a lower dedication to developing new features, only to be focused on fixing bugs and generally maintaining the platform: upgrading the libraries, refactoring code, adding more test coverage, replacing conflicting dependencies, rewriting modules to improve their performance, etc.
A lot of companies don't take this kind of project, but we do. We have expertise in maintaining large projects because our commitment is to be a long-term partner for our clients.
While on a lot of occasions we work independently with the client, on others we need to take care of someone else's code. This can be:
- A previous provider we have to replace.
- Someone from the client's team who got destined to another project.
- Previous employees who are no longer working for the client anymore.
- Another company whose code the client has acquired/gotten through either partnerships or as a result of an M&A operation.
In all of the above, we're able to jump in and pick up from where they left off, provided we're on the same page regarding the following considerations:
- We need to audit the code to make sure it's safe to build upon it.
- Coding styles and standards of quality differ from company to company.
- The more time we spend auditing code, the more accurate our estimates will be.
- Code existing before our joining might contain nasty surprises no one foresaw.
- To be as productive as the people before us, we will work together to ensure a successful handover of the project.
For this kind of project, we follow the approach of always leave code better than you found it.
Example: Right now, we're maintaining the platform of BluePrint an all-in-one management platform for insurance companies. BluePrint needed our help to maintain it, so they could focus on the business side. We are mostly adding test coverage, refactoring and rewriting modules, and generally improving a project that is over 8 years old.
Tech Due Diligence & Audits
Our expertise covers the entire product development cycle, and because of that, startups and Venture Capital firms alike trust our know-how to audit the following aspects of tech companies:
- Infrastructure: We will analyse how the application works, how it is structured, who built it and what technologies are being used. The deployment infrastructure and the continuous integration systems come under scrutiny in this part, too, to assess whether the right tools are being used.
- Security: Our security audit covers the most common threats which could affect the platform and its third-party dependencies nowadays. We also assess whether the company’s information and data are correctly backed up and how securely they’re being stored.
- Performance & Scalability: Here, we measure how the application behaves in different conditions. We stress-test the platform and check for bottlenecks. We evaluate if the technology being used is the perfect fit for the business model to predict possible issues the company will encounter as it scales in terms of max capacity, licenses and other limits.
- Quality & Monitoring: Writing good code is a solid foundation for any software that is intended to be maintained long-term. Does it follow industry standards? Is the codebase well-organised? Is it documented? Equally important is to make sure that the company is constantly being monitored in terms of performance, errors and security.
- Methodology: Good companies are extremely methodical about how to develop new features, how to deal with legacy apps, how to deploy, how to backup/restore and how to review other people’s code. We make sure tech processes are as standardised as possible and known to everyone.
- Dependencies: We analyse which third-parties are being used, whether they are industry standards and how dependant is the app on them. Are core features developed & run inside the app? What would happen if the chosen vendors shut down? Does the IP stay inside the company?
- Functionality: We inspect the completeness of the app to check how many and which functionalities are not yet implemented. We also make sure that the core of the platform does what it’s supposed to do. Are any parts just partially implemented? Are any parts being simulated?
Example: Skindler, a Finnish marketplace for freelancers in the gaming industry, were not happy with their development provider. After almost two years, they hadn't developed the platform, so we were asked to assess whether they were really working, how fast/slow, and how far were they from delivering the complete platform. After proving that the provider was indeed working at a really slow pace, constantly rotating the developer in the project, and indulging in other bad practices, we were selected to work on that project, complete it, launch it, and maintain it for three years until the company shut down.
If you're reading this, chances are that you need our services right away.
Clients in need of a rescue squad have either been abandoned by their current provider of their tech team, or they have screwed up seriously and need some external help.
In these projects, we do intensive handover sessions, so we can gather as much data as possible in order to start working right away and hit the ground running from day one to ensure that service is not discontinued.
Example: At the beginning of 2015, Naiz called us urgently because their current provider was shutting down, and they needed someone urgently to take care of the platform. As a news & content platform (newspapers and magazines), their service could not be discontinued. We stepped in, writing code from day one, and took the lead in the maintenance and evolution of the platform. We have been very happy working together ever since.
Our founding team comes from a consulting background (ex-Deloitte, ATOS, VASS, etc.) and so does most of our development team.
We help our current clients with regular calls to discuss how's their business going outside of the technical part, and how can we possibly help them.
We have helped them constructing their investors deck, preparing business meetings, crafting a strategy to hire a dev team, doing competitors analysis, defining new monetisation possibilities or even doing business development for them.
Example: After having been friends with Mailtrack since we hosted them at Startup Grind Barcelona, we began working for them doing analysis of competitors, developing tools to automatise their business development, and we also trained their founders and took them to Silicon Valley to find partners, corporate clients and possible investors.