NoMo, the Finance Assistant for Everyone – Mobile Development in .NET

How to democratise personal finance management with a mixture of iOS, .NET and smart product development from A to Z

Edinburgh, Scotland

Mobile Development, Project Management
.NET, Cloud, DevOps, iOS

NoMo is a mobile app for personal finance management – it calculates daily available funds using the customer’s bank data. With personalised in-app communication and focus on regular bank customers, users in the UK can spend their money more consciously and efficiently. Find out how we took care of NoMo’s end-to-end development with the use of iOS, .NET platform and API integration.

About NoMo

The idea behind NoMo is one of those you would call simple enough to become a game changer: provide a 24/7 private finance assistant to everyone, no matter the account balance. The application eliminates banking jargon, overwhelming numbers and other factors of the financial world that scare most of bank customers away. It recommends daily spending limits and shows financial performance based on data extracted from the user’s bank account. The role of Code & Pepper was to develop a high-performing application that will process banking data swiftly and securely.

Challenge

NoMo owners struggled with their backend and the existing version of iOS app. The code in Java turned out hard to maintain while the part in Objective-C required several improvements. Our key challenges included:

  • rewriting and unification of the back-end code using .NET
  • fixing the issues with Objective-C
  • improving the software architecture
  • finding an optimal cloud solution to keep the application data safe and sound

Code & Pepper provided a team of experts responsible for different elements, including a mobile solution architect, iOS developer, back-end developer, and project manager. Here’s how they handled all the issues and shipped a revived version of the NoMo app.

Solutions for NoMo

Hexagonal architecture in Microsoft Azure

The next thing on our to-do list involved the design and deploy of an optimal cloud architecture. We upgraded the monolithic architecture to the Ports and Adapters pattern (also called hexagonal architecture), which improved the clarity and overall quality. The new architecture was deployed to Microsoft Azure with Azure Notification Hubs used for sending push notifications to iOS devices. We also handled all the DevOps part of the new architecture implementation.

New back-end code in .NET

One of the first significant changes we made in NoMo was rewriting the Java backend in .NET. It seemed natural to adapt the backend to the rest of the app’s code structure – the DirectID Bank Data API, which integrates with banks using Open Banking API, was written in .NET, a cross-platform development framework created by Microsoft. That’s why the new backend was implemented using .NET and programmed in C#. 

Tidying up with Objective-C

Another issue to tackle regarded the iOS code written in Objective-C, including many overengineered elements affecting the application’s overall performance. Instead of rewriting the whole code in Swift, the final choice was to add new features and improvements to the existing code.

We value Code & Pepper for its proactive attitude, responsiveness and transparent way of working. It is reliable and dependable company that we can recommend for other business entities to cooperate with.

James Varga, CEO & Founder at The ID Co.

Project management and cooperation

While working on NoMo, we shared the roles with the client in the development process. The product requirements were not fully described, so product ownership stayed on the client’s side. They also took over the tests of the application with the use of existing bank accounts. 

Technologies and solutions for NoMo

dot-net Created with Sketch. .NET
Objective-C
Microsoft Azure
bank-integrations Created with Sketch. Banking integrations
dev-ops Created with Sketch. DevOps

Code & Pepper services for NoMo

Step up your mobile development game

See next case study

LUSID

Why nearshore IT outsourcing can work out with an independent team – and how to get it right

London, United Kingdom
Team Augmentation, UI/UX Design
.NET, Angular, Asset Management, Frontend