A closer look at how we leverage the Bipsync Data Generator
Much of the software we develop involves new features that are immediately useful to our clients but we’re equally excited to continuously develop and improve the internal tools that our users will never even see, because these underpin our ability to maintain and scale our business.
We are almost constantly upgrading these tools in some shape or fashion, be that by adding new features that our Customer Success team can use to meet client requests, or by improving our data migration tools so that we can more quickly ingest data from a new client’s legacy system. One of the newest internal tools to get some love was the Data Generator.
What’s a Data Generator?
Our Data Generator was initially a fairly simple tool that we used to populate our development environments with dummy content to replicate a client’s system.
You might be asking, what is a development environment?
Well, when we are writing code we naturally can’t make changes directly to the version that our clients are using as that could cause all sorts of problems. We only release code to our clients once it has been peer reviewed and thoroughly tested.
So each developer will run a version of Bipsync on their machine, make changes to the code and view the outcome in real time.
These development environments are disposable and can be spun up, destroyed, and configured in all sorts of ways. To replicate what a client might see we need some sample data, and that’s why the data generator was created. It allows us to generate fake funds, companies, users, contacts, notes, and so on.
It did this simply, but it did this well. From the above screenshot you can see an example of some generated data, and this is all available within minutes of spinning up a new development environment. All we need to do is run a single command.
It might be a bit weird to use a kitchen analogy, but something that I’ve always heard when buying new cooking tools is: don’t buy something that can just do one thing. Often a different tool can do that thing just as well, and a lot more besides (this isn’t a diss post about the garlic press, but I hope it’s reading).
Getting more specific
The first improvement to this tooling was to refactor it so that we can give it more specific instructions about what we want it to do.
Beforehand, we could at best indirectly slide a few things up and down. For example we were able to say exactly how many users we wanted to generate and the number of companies, funds, contacts and notes we’d create would be scaled accordingly.
We changed this to allow us to scale each content type independently. For example, we can now simply ask the data generator to create 300 new companies.
As a result we can now test certain configurations of Bipsync much more easily. Each client uses Bipsync differently, and now we can quickly generate an environment that more accurately replicates what we see in production rather than simply randomly generating one.
We can also use these improvements to stress-test the existing system and new features by subjecting it to data on a scale far beyond what it’s currently being subjected to in production. We can flush out any potential issues ahead of a client putting the system under such load, so that we’re primed for the day when it happens for real.
A templated approach
We also added the ability to use templates when generating certain types of content.
The main benefit of using templates is that we can now use the data generator to give more representative demos of our product. If you look closely at the screenshot from earlier in this post which shows a note that we generated using the old tool, you can see that the content is all Lorum Ipsum — effectively gibberish.
When we demo our product to a prospect, we want them to see how the types of notes and files they actually work with might look in Bipsync. To manage that manually is a time-consuming process.
Now, with the upgraded Data Generator, we can simply create a whole bunch of templates and run the tool whenever we want a fresh batch of them to be created. These templates can be for specific note types and can be tailored to different types of business: an environment modeled for use by a University Endowment might feature capital call notices, quarterly reviews, shareholder agreements, and so on, while one modeled for a hedge fund might feature earnings notes or company recommendations, for example.
The above is an example of an environment we have generated for an Asset Manager but we tailor our templates for any type of investment organization.
Since they’re so easy to produce we can now treat these demo environments in a much more throwaway manner, creating them on demand making our infrastructure more efficient.
And thanks to our integrations, like our recent integration with the Private i Platform, prospects can see Bipsync populated with their own content with a couple of clicks. It’s about as close as you can get to experiencing Bipsync without actually uploading all of your notes and files.