Bright Money is a Fintech startup that began in 2019 and the company has grown at a rapid pace in a short amount of time. We interviewed Avinash Ramakanth, the Head of Engineering at Bright to understand his journey. Some great lessons were gathered from the view of this technology leader, who has seen a product grow from nothing to something very substantial.
What Fintech systems have you built at Bright? How long did it take?
“We built the banking stack which is the base layer that moves user money. The payment system is also our brainchild, which helps users pay down their credit cards. It also can support the paying down of other debts the user might have. This kicked-off in July, we had our first money movement in September and our first user credit card payment in November. This was roughly our 0-1 phase.”
“There were multiple architecture reviews that we went through externally in order to finetune the system over the course of two months. By January 2020, we were ready with a system that we could confidently scale, and there has been no looking back since.”
“From January to May, we have been scaling out our system, making it more robust and automated. We are currently at a stage where we are growing fast and helping users pay down their loans very quickly while managing their debts in a seamless manner.”
What have the systems grown to today? How fast are they growing?
“The rapid pace at which the systems are growing is exciting. We have already reached a very large sum of dollars every week in terms of money movement and we are expecting to grow at least 10x in the next 6 months.”
“If you think about it and consider how our systems have been maturing in the last 6 months, it is completely possible that we achieve this. It can run in an automated manner to some extent already and can provide world-class banking facilities to our customers in the United States.”
What were the unique challenges in designing and building such Financial systems at breakneck speed?
“I come from a background in mathematics and engineering. I have very little acumen on finance, accounting and banking products. The fundamental challenges for me were how to build a base banking platform which is deeply rooted in the first principles of engineering and mathematics.”
“I also had to build something that would support and scale various banking features without necessarily being bogged down by how systems are built traditionally in a banking environment. I had to be aware of the nuances and compliance requirements that had to be met.”
“This is important because at the end of the day, you are handling the user's money and taking care of their financial health. The critical concerns or challenges were on how to fundamentally build a rock-solid system rooted in first principles while adhering to the traditional banking requirements.”
“The goal was always to also provide more features to create better opportunities for the user while taking care of providing a positive experience which traditional systems may not be able to ensure since they are so rigid in their approach.”
How did you ensure you really made the right architecture decisions from the outset?
“You never have all the right answers, especially in the beginning. But there are always problems that need solving and there definitely exist solutions that fit these problems. The main concern with respect to architecture was there needed to be consistency and predictability in how money moves.”
“There should be nothing that is unaccounted for. Data and money were to be handled with utmost care and there had to be transparency between us and our clients so that transactions could always be traced back if any questions popped up at any point in time.”
“These were our fundamental requirements. We had an idea of what we wanted our banking stack to look like. We formed various problem statements around this to form the base layer of our product requirements.”
“We wanted to be able to debug, predict and easily point out the root cause of any anomaly while supporting our users to the maximum extent possible. This is how our ‘pull’ and ‘push’ mechanisms came into being when we designed the system.”
“We took multiple looks at the architecture internally and via expert opinions of industry specialists. Conversations with pure engineers also added a lot of value when it came to building the models. From writing locking mechanisms, to codes that are meant to do their specific tasks, these conversations really came in handy.”
“With architecture, it is always going to be a litmus test until you figure out what works. You just have to meet your system rules, have solid fundamentals and meet product requirements. Another thing that counterbalances all this, is the ease at which someone can reason with your logic and develop your system.”
How did you think about and plan for ensuring quality in your systems, given you are dealing with people’s money, and things cannot even be $1 off?
“There are three typical phases when it comes to building systems like these that have to be included to ensure quality:
Building-coding phase (writing good test suites, making sure they are executable and replicable in a short period of time)
Deployed environment testing phase (simulations were conducted where a user’s annual behavior was replicated)
Post-production/deployment sanity phase (to check the authenticity of data obtained, reconciliation and settlement of books to ensure data is dealt with in real-time, so that corrective measures can be applied instantaneously if there are issues)”
“Right from day 0, we have had these checks and balances in place within the system. Tests are constantly being conducted before deployment, nuances are run on already-deployed codes, and once in production, checks are done to ensure the system is doing what it is meant to do. This avoids any discrepancies that a customer could face with his or her money.”
Why is building financial systems so exciting? What would you tell new engineers who might be interested in working in the financial and banking domain?
“I used to be into research and advertising where reaping the benefits of your work takes some time. It’s basically delayed gratification and that too, not guaranteed. In contrast, financial systems are to do with real impact. You see the direct correlation between your actions and the outcomes it brings along with the additional feedback of how it is perceived by the users.”
“To be able to measure the good and the bad in your systems with ease and clarity is great. Knowing that what you build impacts people and the world around them is the reason why I am here. Like Elon Musk rightly pointed out, solving large problems that have a large impact should be our focus because that will change the world and that is what drives me.”