Launched in 2014, Invoice Ninja provides web-based invoicing solutions to 150,000 users, mainly freelancers and small businesses. Despite having a fraction of the funding their competitors have raised, Invoice Ninja’s advanced software rivals any other available invoicing tool on the market in terms of features and ease of use.
We caught up with co-founder Hillel Coren as he and his team are in the midst of pushing out Invoice Ninja’s v5 platform.
What was the problem?
According to Hillel, “everyone shipping apps” should be interested in using a continuous integration/continuous delivery (CI/CD) tool.
Before switching to CI/CD, one of the main problems Invoice Ninja faced was inconsistent builds.
“When you ship a binary compiled on a developer’s machine, you’re relying on far more variability than you would like,” he said.
Why Codemagic works for Invoice Ninja
Using Codemagic, Invoice Ninja typically build their app about five to 10 times per month and uses close to 500 build minutes per month.
While he and his team do like using GitHub Actions, he believes that Codemagic offers much better performance.
How Codemagic solves Invoice Ninja problem
“Codemagic’s extremely clear and easy-to-use interface made setup simple and being able to SSH directly into the server was very helpful to fine-tune our configuration,” Hillel said. “We use Codemagic to build iOS, Android, Linux and macOS versions of our app and automatically deploy to the Google Play and Apple App stores,” Hillel said, adding that his team at Invoice Ninja hopes that one day they will be able to deploy to all desktop app stores (Windows, macOS and Linux) using Codemagic.
How Flutter became invoice Ninja’s go-to development kit
Despite having a small team of only six long-time staff members, Invoice Ninja has been able to keep up with the competition thanks to the convenience that working with Flutter has afforded them.
“It amazes me that we can compile our single Dart codebase to produce web, iOS, Android, Windows, macOS and Linux apps,” Hillel said, adding that even if the team was to decided to build an app for just one platform, they would most likely still turn to Flutter.
“It’s declarative UI makes it extremely fast and easy to convert ideas into apps.”
The moment of truth for Hillel and his team came in early 2019, when they had a chance to try the new Flutter gallery running on the web while Hillel was working on building new mobile apps and Invoice Ninja CTO Dave Bomba was working on the new web app using VueJS.
“We threw away six months of work to start over using our mobile app as the base for the new web/desktop app,” Hillel stated, adding that once Flutter for Desktop matured about a year ago, his team immediately incorporated it into their codebase.
Hillel firmly believes that Flutter will soon become the dominant UI toolkit for application development.
“Once Flutter for Desktop is fully implemented, if support for all platforms is needed, it will be hard to argue the merits of any other solution,” he believes.
Take a look at other success stories: