SaaS Platform
Groovv is a financial SaaS platform that enables businesses to register and offer retirement services to their employees/users. The platform will also provide services in investing capital to increase the income of retirement account holders.
Target Audience
Businesses that offer their retirement services, and employees who register accounts on the SaaS platform to receive retirement benefits.
The main tasks and challenges
What did the client come to us with?
We were approached by a client from the USA who wanted to create a financial platform for retirement benefits. He wanted to develop a financial system for retirement savings. The only thing that the customer had ready was the design.,
Technologies list
Laravel + Vue, for the backend and frontend.
Design
We didn’t collaborate with designers, because we already had a ready-made design submitted by the client. Amendments to the finished design were made at the request of the client – if something did not suit him, we offered a solution that should satisfy our client.
Development team
Our CTO Serhiy Tokmakov accompanied the development process. He supervised the development and he has a lot of experience in fintech. And he consulted our client about finding the best solution for the platform. To keep sensitive data on our side, such as bank data, we needed to obtain many official certifications. We decided to avoid the long legal process of getting multiple certifications and used third-party services like Stripe to receive money for storage.
The main development process
Detailed description of the development
We only used the client’s Jira. Decisions were made along the way, business logic was rewritten. The initial business model was not to keep any money and user information on our side but to use a third-party service Tradier to provide financial information, personal information of users, etc.
The second business model, which we decided to revise, is a model with the realization of capital investments and an increase in income. After that, the client wanted to make changes and expand the functionality of the platform by implementing a second business model. Also, with the help of Traidier, they wanted to add an investment functionality to increase the capital balance of the users’ pension fund.
Accordingly, this plan failed, and then we had to rethink the business model and think about how the funds would be invested and how the money would be returned to the user when they wanted to withdraw it. As a result, we redesigned the business model into a simpler one. Well, since it was tough to implement accounting, to break down income, to determine who raised how much in the correct ratio of investment and – in short, the percentage of increase. And, to avoid complicating the business logic and not getting into a dead end, we declined Tradier collaboration. In the third business model, we realized that we needed to use other third-party services to store the balance and we needed to create a withdrawal functionality. And, to make financial processes as safe as possible for users and the platform, we made the logic of manual withdrawals with the help of the admin. The validation goes through the admin. The user makes a request, the administrator reviews it, checks, approves, and sends money to the user’s account.
Development Process
During development, we focused on the finished design, we saw the step-by-step flow, and we prescribed tasks for each step, with its description and the proposed solution. Tasks were formed with a scope so that all tasks were written down at once. Well, then it only changed when the business logic and its description there changed. When they saw that something was missing in the design, they simply opened the problem with a certain step and finished drawing it themselves. We were making mockups, showing how it would all look, and approved it with the client. If the client confirmed, it was transferred to work.
Development terms
We made an initial estimate, then clarified all the details with the client, and after that, the client confirmed this estimate and we started working. The initial design had 94% missing parts and some design elements we just developed on the fly because there were holes in the logic.
One of the main development pitfalls was the impossibility of implementing Traidier to our platform. After meeting with Traidier representatives, we found out that it will not be possible to separate user accounts separately but to fully and comprehensively use the balance of all users. So, we had to develop the aforementioned third business model that we eventually implemented in the platform.
Development lasted, according to estimates, from February to April, approximately 2.5-3 months.
Solution
We developed the financial platform Groovv, which provides retirement services in savings accounts. The company can register on the platform and invite its employees to join the team, to which it can transfer accumulated funds from its bank account to the employees’ accounts.
At the same time, employees can also act as their investors. They can also accrue retirement benefits to themselves from their bank account to their Groovv account. In the future, these payments can be requested. Upon request to the platform, the employee can withdraw some or all of the funds. This is how the accumulation system works: from the side of the business to the employee, and from the employee to themselves.
There is a retirement service, a custodian IRA, and an IRA (individual retirement account). A custodian IRA is an account created by a guardian (usually one of the parents) and holds the earned income until the child comes of age of majority. We made three different flows to connect the bank account depending on user preferences. There is an option to add a credit card or bank account and additionally automatic, performed with Plaid integration. You can authorize using your phone or using your bank account login/password (Plaid provides authorization services through your existing bank account).
We have a company dashboard where we can see the entire list of our users. Here you can send an invite to any other user via email (available only to companies). After another user registers, he/she can be seen in the list of users who have registered and can receive payments to his/her account. Company managers can see how much money they have invested in total. There is also a Contribution tab where you can create a capital investment. Here you can add and see, firstly, a list of users, select them, and configure proceed contribution. That is, how much and to whom you need to give money. Let’s say, in percentage value of the salary or just some fixed amount. After that, the user clicks Create Contribution, and money is withdrawn from the company’s bank account and sent to the user’s platform account, and the recipient will be able to view all transaction data in their dashboard with the entire history. A user can make a withdrawal request, which is validated by the platform administrator for transaction security.
Coming Soon
Works are suspended for internal technical and financial reasons. Currently, the platform is 99.9% ready, and properly tested and we have already planned to work with real money.
Tools We Used
- Laravel 9
- Vue.js
- PostgreSQL
- Google Cloud Platform
- PHP
- Inertia.js
- Tailwind CSS