Core project notes

The client:

A major product development company known for its accounting software tailored for medium-sized businesses, legal entities, and entrepreneurs in the US market.

Their mission:

The client decided to expand into the European market and needed to reconsider the solution’s foundation to ensure cross-platform compatibility and establish a structure divided into the US and EU regions.

Our solution:

The Oxagile team became the technology partner, redesigning the application’s infrastructure to ensure its scalability and multi-tenancy for effective operation across different regions.

Challenges looming over the project

“In addition to the need to refine our product for better user interface convenience and modernize the UX to make it more competitive in a new market, we faced several significant issues with our deprecated infrastructure, making it basically impossible to approach the EU market.”

Lack of flexibility and scalability

  • The existing product was built on an outdated .NET framework, hosted exclusively on Windows, and lacked any support for multiple platforms.
  • The framework’s performance bottlenecks and inflexible architecture hindered the solution’s ability to adapt and scale to meet the new market’s demands.

Infrastructure and compliance issues

  • Ensuring GDPR compliance required reviewing and rebuilding the infrastructure in Amazon Web Services (AWS).
  • The absence of a multi-regional infrastructure, with no targeted structure divided into the US and EU regions, threatened non-compliance with regional requirements and a lack of regulatory adherence.

DevOps and localization limitations

  • Current DevOps practices were insufficient for managing separate databases and migrating parts of the user base to the European region, posing risks for data management.
  • The product lacked multi-language support, limiting its appeal and usability in diverse linguistic markets.

Proactive start of change implementation

With the client approaching us and understanding the need to revamp their foundational architecture, Oxagile’s team leveraged its multi-year development experience to conduct a comprehensive audit of their infrastructure and propose the most beneficial option for such a multi-tenant application.

We developed a Proof of Concept (PoC) to analyze the migration effort from .NET to various frameworks, including Ruby, as per the client’s preferences. As a result, we advised the client that transitioning to .NET 8 and moving from virtual machines to cloud containers would be much more cost-effective. This approach provided cross-platform compatibility and other essential benefits:

  • It ensured faster application performance.
  • Containerization facilitated scaling within an AWS infrastructure, reduced maintenance and infrastructure costs, and streamlined CI/CD processes.
  • Since new frameworks like .NET 8 are continuously supported and updated, their vulnerabilities are regularly fixed, enhancing both functionality and security.

Adapting the app’s operation to multiple markets

Multi-regionality

Our team set up two separate groups of instances within the application, each with routing for the respective region. European clients are directed to the European instance, which adheres to the local regulatory laws and procedures. Meanwhile, American clients and their data are managed by another part of the application, ensuring compliance with their tax laws, company registration standards, and other norms.

As we deploy the application in both versions simultaneously, any new functionality is instantly integrated into both variants, tailored to the preset configurations of each one.

 

Localization


To ensure that the application could effectively handle automatic translation and integrate with local government services (such as tax authorities), while maintaining smooth and compliant operations in both regions, we needed to conduct preparatory work on the backend. This involved significant enhancements to the database and ensuring seamless data operations across both regions.

Engineering more value

Integrations with payment providers

Oxagile effectively integrated the application with banking providers such as Yodlee, Plaid, and SaltEdge, which enables the connection with over 20,000 banks and various types of user bank accounts for automatic transaction import straight into the app with the generation of different reports.

UX audit and redesign

We engaged our designers for an audit, providing the customer with a report and suggesting improvements, which led to a comprehensive redesign of the user’s experience in the application. This improved the entire navigation flow, instruction guidance, design consistency, and the processes for logging in, registering, and more.

Adaptation for the EU market

In addition to optimizing the infrastructure by bringing servers and hosting closer to various regions to reduce response time, we have also added VAT and Company ID attributes to our application. These attributes, although not initially included, are mandatory in some countries and ensure compliance with local regulations.

Extensive reporting

To maximize the application’s value for businesses using it, we implemented the ability to generate reports at almost every stage and after each action. These reports include the Balance Sheet, Cash Flow Report, Profit and Loss Statement (P&L), Accounts Payable Aging Report, Audit Trail Report, etc.

Are we wrapping it up here?

The client envisions expanding their platform with capabilities to serve as an intermediary and proxy server between businesses and their customers, facilitating direct financial transactions through Stripe.

To support this, we’re planning to implement a “Payment Links” feature to enable fast and secure payments globally.