Fullscript Wrapped 2024
Author

Date Published
Share this post
2024 has ended, so it’s time for my annual blog post. I had hoped to write more in 2024, but alas, that will have to remain a goal for 2025. More than any other year, I was shocked by some of the metrics as I pulled them. We have scaled so much in just 365 days it’s almost unbelievable. To call 2024 a milestone year for Fullscript would be an understatement.
Our engineering efforts are creating a software platform that empowers our practitioners to deliver true whole-person care to their patients. We not only endeavor to ship massive new features, but we’re constantly iterating on our core experience and investing in our platform engineering to ensure that we can scale with our growth. The ability to do both while also improving our efficiency is remarkable. We try to be humble here at Fullscript, but this stuff is worth bragging about.

Milestone Releases
Let’s start with the highlights. One of the most exciting accomplishments this year was transforming our search experience — a key interaction for any modern app. In the past, search was a sore spot for our users, especially given the complexity of our product catalog with its multiple ingredients and diverse symptoms. By introducing a Learn-to-Rank Model and Hybrid Search, we didn’t just improve search — we made it amazing. After years of effort, we finally cracked it, and users are really loving the improvements.
On the mobile front, we reached a major milestone: launching a brand-new Android app to complement our iOS app. The Android app already has a 4.8-star rating in the Play Store, just shy of our 4.9-star rating on iOS. These apps are the gateway to features like “currently taking”, which gives practitioners new insights into their patients’ routines, ultimately improving outcomes. I can’t say enough about the attention to detail our mobile team brings to every release.
Our core application saw a complete redesign at the beginning of the year, powered by our internal design system. This redesign streamlined key workflows and provided a foundation for integrating new features, including an entire lab ordering platform. Building this from scratch in just nine months was an extraordinary engineering effort, and it didn’t just result in a fantastic product — it also taught us valuable lessons about efficiency and scalability that will guide us for years to come.

Application Growth
New features mean new code, and our applications grew significantly in 2024. The core application backend remains built on Ruby on Rails with a React frontend, and our mobile apps are written in React Native. Our commitment to those platforms might be the only thing that didn’t change in 2024. These are tried and true technologies and the best frameworks for actually getting features to our users, period.
This year, we surpassed 1 million lines of Ruby (1,307,049 to be exact, a 39% increase from last year)¹. Our front end remains React and continues to grow as well, now sitting at 866,340 lines (a 51% increase). And the code is well-tested with 91% coverage for Ruby and 79% for JS. On average, we ship 1,030 merge requests every month, and those make it to production in under an hour. On the mobile front, the apps grew by 68% as we quickly iterated. We now sit at 151,926 lines of Typescript.
Despite this rate of change and increased feature set, our application remains highly available, with a continued 99.999% uptime in 2024. In fact, our site has become even faster — with a 75.6ms average response time in December — a 41% improvement over last year. Oh, and we have also increased average daily traffic by about 60%, with 3.7 million visits (14.7 million page views) in December alone. Not too shabby.
Our CI/CD processes ultimately empower this, and they have been busy, as you can imagine. Last year, we ran 202,720 development pipelines for just the web app. Thanks to features like test prediction, the average duration for feature branches was sub-10 minutes. This happens on well over a hundred virtual machines that scale in and out based on load, ensuring high utilization while keeping costs in check.

Infrastructure
We run almost our entire infrastructure on Kubernetes. It has proven to be a robust, easily managed, and infinitely scalable solution for our growth. It powers everything from our cloud and local development environments to our ad-hoc staging environments and production. It has allowed us to introduce new features for our developers to leverage, such as functions, without being tied to a specific cloud vendor.
As mentioned, Kubernetes powers our “Cloud Development Environments”. Last year, these became the default for all of our developers. Hosting backend application dependencies remotely ensures our developers aren’t tied to one machine. They have proven to be portable, durable, and highly scalable. This switch helped improve the developer satisfaction of their “local” environment setup from 4.12 to 4.43, one of our most significant areas of improvement last year.
Developers interact with these environments using our primary developer tool, “RX.” Our platform engineering team tirelessly works to allow our developers to get their jobs done without worrying about dependencies, backend services, or the nuances of various cloud services. RX enables new developers to get going in under an hour and allows us to roll out massive changes quickly, like enabling HTTPS in development in days, not weeks. Originally developed to support our central monolith, the team has made remarkable progress in supporting other applications we develop in the last year.
In 2024, we typically have 15–30 instances of the application running at any given time, but on our absolute busiest days, we can easily scale out to 150 pods, or more. Similarly, background job pods scale from 0 to 130+ daily, processing millions of jobs a year. All of this is managed in a Terraform repository, the contents of which are checked against production daily to prevent drift.

Expanded Reach
This year, we started applying our engineering methodologies to other technology groups at Fullscript. We moved most of our IT configuration into our infrastructure-as-code framework, dramatically improving stability and accountability. Daily monitoring for drift ensures we know quickly when something has changed and improves the documentation of why things are the way they are.
Our Warehouse Management System team has started adopting CI/CD, significantly improving uptime from a rather dismal 96% to 99.9% in just one year while simultaneously increasing the feature release speed. These teams are functioning more effectively than ever before, and it’s exciting to see that our methods and values can be applied to other groups at Fullscript.

The Team & Community
Of course, none of these metrics mean much if our team is unhappy. As we continue to grow, that becomes a real risk. Last year, we grew the engineering team by 26%, with 173 people across the core technology group. Our internal culture survey score, which rates overall satisfaction with Fullscript as a workplace, improved slightly to 89%. Nothing matters more to our engineering leadership than developer satisfaction and we’re constantly monitoring through surveys, 1-on-1 conversations, and quantitative productivity measurements.
When I was coming up in the industry, I attended many events and meetups at cool tech company offices. I always remember being impressed by how cool they were and how much I wanted to work at a place like that. Now, I work at a place like that, and we use our cool office to host those events! Bringing people together to discuss technology on a local level can’t be replaced, and we’re honoured to help foster that. In 2024, we hosted community meetups for ForwardJS, Ottawa Javascript, Ottawa Golang, Ottawa Ruby, and a Canada Learning Code event. We also increased our event and community sponsorships last year, most notably sponsoring Railsworld 2024 in Toronto. Attending Railsworld with my team was an unforgettable experience — connecting with the broader Rails community and sharing ideas with such talented people was a true highlight.

In Closing
2024 was a year where Fullscript Engineering was firing on all cylinders. This is a testament to everyone who works here, and I would like to take this opportunity to thank all of them. This is a really special team, and everyone who works here should be proud of what they have accomplished.
2025 is shaping up to be another incredible year with some awesome new features and internal improvements in the pipeline. As always, stay tuned — we’re not done building great things.
[1] The astute observers among you might have noticed these numbers are a bit different than last year. We changed the methodology a bit, and are now ignoring blanks and comments.
Share this post
Related Posts
.png?2025-08-06T02:24:20.835Z)
At Fullscript, engineering is more than building scalable systems and writing great code – it’s…
On International Women in Engineering Day (INWED), we’re celebrating the women who innovate, lead, and mentor across our teams – and the…
.png?2025-08-05T20:56:15.293Z)
Reimagining Issue Triaging with LLMs
At Fullscript, as our platform and teams continue to scale, so does the complexity of keeping the system healthy. One of the hidden costs…