Building and scaling a distributed payments platform
Case Study: JUSPAY x Foxhound SystemsJUSPAY is a large financial services company in India, providing a payments platform to merchants that processes over 20 million financial transactions per day. JUSPAY has experienced rapid growth over the past few years, with the use of its payments APIs growing several times over. The company was seeking to bolster its back end system design and development capabilities while looking for senior developers to provide guidance to its development team comprised largely of junior staff.
JUSPAY approached Foxhound Systems to assist with the design and development of multiple critical services while also providing mentorship and guidance to junior developers at the company.
Why Foxhound Systems?
There are several reasons why JUSPAY chose to work with Foxhound Systems.
Engagement objectives
- Provide ongoing assistance with designing and building new services within the JUSPAY platform.JUSPAY uses an architecture oriented around microservices, meaning its system is comprised of many separate services that form a larger platform. Certain services have public facing APIs, while others communicate only with other services on JUSPAY’s private network. This architectural approach requires careful considerations related to API designs, latency, authentication, and database design.
- Provide mentorship and guidance to less experienced developers working at JUSPAY.Many of the developers working at JUSPAY are recent graduates in their first professional role, so the opportunity to mentor and teach was readily identified. Moreover, Foxhound Systems has expertise in the Haskell programming language specifically, furthering the opportunity to create learning resources for JUSPAY developers focused on learning Haskell.
- Assess and identify performance issues as JUSPAY scales to meet its rapidly growing usage.JUSPAY has experienced rapid growth since its inception, with the demand on its systems increasing by orders of magnitude in terms of financial transaction processing counts. Our expertise in system optimization, and predominantly in identifying bottlenecks in relational databases would be leveraged to improve system performance and reduce infrastructure costs during JUSPAY’s continual growth.
- Improve JUSPAY developer tooling and workflows.With JUSPAY being a large company with hundreds of developers, a consistent and reliable developer experience was crucial. Our experience with Haskell, Nix, and Docker would allow us to find opportunities for improving this developer experience, reducing compilation times, and improving environment replicability across devices.