
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
We're hiring! Check out our vacancies 👈

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

Introducing Analytics Engineering
Over the last few years we’ve evolved the way our analytics team works to enable easy access to accurate and reliable data for faster, better decision-making. Recently we made one more change—our Business Intelligence Analysts are now Analytics Engineers! Continue reading

A case of missing validation messages
I’ve recently worked on two very similar issues within the FreeAgent app, which is a Rails web application. The problem that was reported in both cases was that when a user tried to submit invalid data they didn’t get any kind of message indicating what went wrong. In case it helps someone else (and let’s be honest to remind myself when I undoubtedly come across it again) I thought I’d… Continue reading
The five stages of AI tool adoption: a developer’s journey
Do you remember the first time you opened Excel and discovered pivot tables? Or perhaps that moment when you first held a digital camera after years of developing 35mm film? Maybe it was when you wrote your first SQL query and watched data magically arrange itself exactly as you needed it. These technological transitions in our lives often follow a strikingly similar emotional pattern. The initial rush of discovering something… Continue reading

From QA Engineer to Software Engineer: my journey
At the start of the year, I was a Student Quality Assurance Engineer, testing educational games at an educational technology company. Fast forward to now, and I’m navigating the complexities of accounting software as an engineering intern. How did I make this change? Why did I choose this path? And what insights can I share with others considering a similar leap? The starting point During my third year studying computer… Continue reading