Building the building blocks: My summer on FreeAgentās Design System Team
As someone hoping to find a job within the UI/UX field of computer science, I was amazed at how little I knew about how a design system team works. My classmates at university were the same. They too didnāt realise the scale of these teams and had never come across the phrase ādesign systemā. This internship has been a crash course in why design systems are so important. I think… Continue reading
Uncharted Waters: a guide to exploring unfamiliar codebases
Some companies' codebases are massive. FreeAgentās, with its monolith Rails application, certainly is no exception. The first time you clone one of these codebases onto your machine and see the sheer number of folders, files and complexity, your eyes might just widen and your jaw may just drop - letting out a yelp. As you click through the first few random files, noticing that you donāt understand a thing and… Continue reading
Creating re-usable descriptions in dbt with Jinja docs
If you're working with dbt and find yourself copying the same column descriptions across multiple models, this post is for you. We'll show you how to eliminate that repetition using the Jinja doc function! Continue reading
We're hiring! Check out our vacancies š
The Engineering Behind Salesforce at FreeAgent
For nearly 15 years, Salesforce has been the engine room for our customer data here at FreeAgent. Since we first brought it on board in 2011, it has grown from a straightforward CRM into a complex, deeply integrated platform. While one blog post cannot cover every detail, we hope this gives you a better understanding of how we leverage Salesforce and the engineering approach we use to maximise its impact.… Continue reading
View specs: rendering templates that are nested within a view component
FreeAgent makes use of the RSpec and ViewComponent frameworks for unit testing and reusable front-end components respectively. Since FreeAgent is a Ruby on Rails application, weāll often want to write unit tests for our Rails view templates, using RSpec, i.e., a view spec. When rendering our reusable view components in our view templates, especially complex ones, testing can get a bit confusing, especially if the template is dependent on being… Continue reading
The Other Copilot: Coding with AI
It seems Copilots are ten a penny these days. While our CoPilot accountant partners are a human way to support you using FreeAgent, the flight term has really taken off(!) as branding for AI tools, GitHubās Copilot being just one of them. The rise of AI tooling for developers has sparked a lot of discussion and controversy as of late. Itās also seen rapid development and innovation, with several code… Continue reading
Decoding Data Orchestration Tools: Comparing Prefect, Dagster, Airflow, and Mage
Introduction Data is exploding, and so are the tools to manage it. From generating and collecting, to cleaning and analyzing, these tools help create valuable products for customers and give stakeholders decisive insights. As Data Engineering at Freeagent continues to evolve, we're focusing on providing more reliability and quality in our data products. For data pipeline building, we've started to move from a no-code approach toward a software engineering focused… Continue reading
The 5 rules for migrating data pipelines successfully
This blog will help you to discover the 5 essential rules to navigate your large-scale data tooling transition smoothly and with minimum disruption. Continue reading
State of the browser 2025
State of the Browser is a small, single-track conference in London. I'd been before, and while it always has a great list of speakers, what I'd forgotten was the extremely welcoming and inclusive atmosphere. For example, it's the first conference I've been to with live captioning, and almost every talk had an accessibility section or angle. Additionally, their business model is built on sponsorship, so they're able to give away… Continue reading
Mission jQuery Zero: How FreeAgent removed jQuery from our application
Just over 3 years ago FreeAgent was running with 4 front-end frameworks, Stimulus, React with Redux, Rails UJS and jQuery and we were about to start adding Turbo to the stack. Running all these different frameworks was not sustainable and we chose to reduce our number of dependencies and first up was jQuery. We called this our legendary jQuery code, code that had helped us grow a business and provide… Continue reading