Growing a financial transaction platform to help companies raise capital

Lift off

DealMaker has been on an aggressive growth trajectory.

Recently ranked as one of the fastest-growing companies in Canada by three-year revenue growth, DealMaker is disrupting the way capital is raised, making the once complex activity of selling shares as easy as selling shoes. They’re a cloud-based platform built to help Founders digitally raise capital and turn their customers into shareholders. In just the first three years, they’ve powered over 400 companies with their digital capital raises, from seed to IPO, already surpassing over $1 billion in capital raised.

Back in 2020, the CTO of DealMaker reached out to datarockets to assist their team in developing their Ruby on Rails application. The datarockets team would help own, lead and tackle the following challenges:

  • Resolving slow pages loading + significantly improve app performance.
  • Setting up development practices and code quality standards fit for a fast-growing startup environment.
  • Developing new integrations + implementing a host of new features.
  • Tackling technical debt, making infrastructure changes & necessary upgrades.

One of the fun and unique challenges to this project was the nature of the industry itself, which included a diverse range of entities such as investors, brokers, brokerages/brokerage syndicates, enterprises/companies (issuers), shareholders, lawyers, co-signers, various document types, etc. Navigating this, our team was challenged with delivering large pieces of new functionality, and in tandem, help monitor and manage their drastic product growth.

One of the capital-raising transactions that we witnessed, saw over $30 million raised in under 48 hours – demonstrating the type of landmark transactions that DealMaker helps facilitate. That was a fun one as our developers got to monitor in real time and help ensure seamless experiences given abnormally high load activity.

Approach & Highlights

DealMaker has an in-house development team, which is split into pods – smaller sub-divisions that work on the specific area of the application. Developers from datarockets would assist with various pods, affecting different parts of the application. To keep communication tight, the teams used Slack and Google Meet to interact and Jira as a Product Management tool.

Datarockets improved the performance of the app and completed various infrastructure changes. We helped migrate the frontend from jQuery to Svelte. Brought some better design decisions and restructured long-loading pages into a more efficient layout.

Red October deal: The Race to onboard a high-profile client

In 2021, Dealmaker secured a large-scale client who would be joining the platform within 2-3 months time (October). Given the October deadline and the fact that this news was shrouded in high confidentiality, this project was given the codename “Red October”.

It was estimated that this client, and their capital raise, would draw in ~300,000 investors. We knew that given the current form of the application, it simply wouldn’t be able to handle such an influx. Strategy never moves in a linear path, and so with this new objective, datarockets shifted our focus to support the Dealmaker team in ensuring that they’d be well-prepared for this deal:

  • developed new functionality & teamed up on critical optimizations needed to scale the platform
  • closely identified, analyzed and improved areas that were slow and inefficient 
  • created scripts for load testing, which would emulate the activity of thousands of users, and resolve performance bottlenecks identified in that process

“Red October” is an example of the scaling challenges always accompanying rapid growth. During this period, our teams carried out tight-knit collaboration and kept the performance & output high. 

The capital raise was another landmark transaction and as expected (after a lot of hard work) the platform handled the high-loads elegantly, ultimately helping make this the sixth historic offering in the organization’s history. You can read more about it here.

Delivered DealMaker API and embeddable flow

Our team helped DealMaker to implement functionality that allows their clients (deals and enterprises) to integrate with them: Dealmaker API and the embeddable flow. 

This flow allows Dealmaker to embed their investor flow directly onto the client’s (issuer’s) site in an iframe, helping increase trust and creating ease in accepting investors right on the business’ website. 

The API itself is much more flexible. It maintains public documentation powered by ReDoc, and has the functionality to subscribe for webhooks. Our dev team used Ruby Grape, OAuth2, and DoorKeeper for Dealmaker’s API. 

DealMaker investor flow embedded to the business website

Integrated with a variety of Payment methods

Since DealMaker is a capital-raising platform, our team had to work on integrations with various payment services. These included integrations with services such as WorldPay, Aeropay, FundAmerica, and Stripe. Currently, most payments go through Stripe, including ACH and ACSS payments with microdeposits, card, and mobile wallet payment methods, which allows investors to pay in seconds using Google Pay and Apple Pay.

Introducing Efficiency and Safety of Payments through VCR tests

As stated earlier, the Payments part of the app included a lot of integrations. These integrations are usually either SDKs (Stripe) or simple APIs (Aeropay). One problem encountered was that these SDKs and APIs were constantly being updated, which led to breaking changes from time to time. Payments and money transfers are the most important parts of a Fintech application, therefore, it was important that we automate the testing of payment integrations.

Regular unit tests just aren’t as helpful in these situations. E2E (End-to-End) tests written by the QA team could help catch something just before a release, but identifying a problem at this stage of the game would be too late. DealMaker had suggested using VCR tests. The essence of VCR is that it allows tests to make real requests using the SDK or API and record real responses. We did the SPIKE and POС, and after discussions, it was decided that we would integrate it. 

It didn’t take long to see the benefits. At that time, we had a 5-point ticket to update Stripe to the latest version and check everything manually. Normally, a task like that could take up to a week or longer, but after we integrated VCR and wrote VCR tests for all flows, the Stripe version was updated in half a day (!), and all the tests were checked by the CI. In other words, what was once a 5-point task could now be completed in a half-day task

Efficiency gains like this are important as they compound over time, creating the space for companies to supercharge into rapid growth.

Now we’re able to update all third-party SDKs and APIs with every new version because their functionality testing is automated. It took some time to set everything up and update existing tests, but now it is as simple to write a VCR as to write a regular test, and the benefits of VCR tests are significantly greater.

Delivered numerous fixes and new features

Throughout our time, we helped the DealMaker’s team deliver loads of new functionality. An example of such features include:

White-labeling

White-labeling allows clients to represent their own brands on DealMaker. Deal pages are served under a specified subdomain, brand colors, logos etc are put into various aspects of their deals, on emails, and specific pages.

Self-onboarding

Self-onboarding automated the process of deal generation, making managers’ lives easier. We implemented this completely new feature to experiment with one type of user and collect feedback, it was positive and the self-onboarding was applied to the rest of the clients.

Refunds

Refunds have proven to be highly beneficial as they have significantly expedited the time of processing a single refund from approximately 5 minutes to a mere couple of seconds. This improvement has greatly alleviated the workload for DealMaker managers, who often needed to process hundreds of refunds manually.

Investor and issuer insights dashboard

The feature provides investors and issuers with their funds’ data in accessible graphs. Quick calculations of graphs and numbers are achieved with Snowflake Data Warehouse and ELT integration.

Our longstanding collaboration with DealMaker has been carried out with well-established processes, which allowed both sides to work conveniently in a consistent rhythm. Throughout this time, we have been receiving positive feedback from DealMaker highlighting our high technical level.

Results

Datarockets had the pleasure of partnering with DealMaker for over 3 years. At different stages of cooperation, the datarockets’ dev team consisted of three to five Ruby on Rails developers of different seniority levels.

Our team played a significant role in optimizing the application, improving the infrastructure, integrating new payment methods, and participated in designing and implementing new functionality such as white-labeling, self-onboarding, refunds, investor/issuer insights, etc. Our team had a hand in bringing VCR tests to the project and building DealMaker API.

Along with this, datarockets helped improve development processes, added tests and linter coverage, and shared our expertise with new developers through code review and pair-programming practices. 

Datarockets helped the client keep technical standards high during the intensive team growth, and we’re proud to have helped play a part in the journey of DealMaker as they continue to experience success, recently ranked as the 3rd fastest-growing company in Canada

One of the most detailed reviews about our work on DealMaker can be found on Clutch.

Tech stack

  • Ruby on Rails
  • MySql
  • RSpec
  • ActiveAdmin
  • Sidekiq
  • S3
  • AWS
  • K8s
  • Vite
  • Svelte
  • JQuery
  • ES6
  • Haml
  • SASS
  • Bootstrap
  • Stripe SDK,
  • FundAmerica SDK
  • Xero SDK
  • HelloSign SDK
  • Grape
  • SendGrid
  • Twilio
  • PaperTrail
  • VCR
  • Omniauth

Recent studies

Need a forward-thinking
development team?
We’ve got you!