How we helped Turas

We've been helping a local charity improve their web presence, that often means more than code

We’ve been volunteering our time with a local Irish language charity called Turas (we have more about Turas on our client page). You could boil down our contribution to “help with the website”, but what does that mean in practice?

In this article I wanted to share some of the things we’ve done recently to help them, to highlight that often the value a technical person brings to a project isn’t just code. In fact sometimes it isn’t even code.

You might think that us writing about this very specific project won’t apply to your work, but I bet there is more overlap than you’d initially think.


We had several face-to-face meetings to understand what they wanted out of the website, what their immediate priorities were and perhaps some longer term goals.

As with most small charities, they have to do lots with very little, so often people are incredibly time constrained, with that in mind we always tried to come prepared, and, where possible suggested we could take on an action instead of relying on somebody else.

Online classes

One of the big things to come out of those meetings was a need for a better way for people to sign up to classes. There had been several iterations in Turas’ 12-year history, and each came with overhead for the learner and the staff to reconcile everything.

We worked closely with Turas to develop something that would fit seamlessly in their current website, which is a WordPress website using WooCommerce to handle shop functionality.

If you’re interested, you can check out Irish classes at Turas.

As with most things on the web, there is no final product, this is one iteration and next year we hope to improve on even more things.

Tracking sales

With classes being purchased through the website now, we needed a better way to track sales, so we could see where people were coming from. To do this we set up Plausible and created custom thank-you pages.

Bilingual markup

There wasn’t that much Irish on the website when we started. Which to a certain degree makes sense because we don’t want to intimidate people completely new to the language, but there needed to be more.

We updated HTML elements containing Irish to properly announce to web browsers that they contained Irish, allowing them to be properly translated and understood by people.

Created new templates

The current website is built using a WordPress tool called Divi. Even though it would have been quicker for us to write our own templates from scratch, we took the time to create templates based on how Divi likes to do things.

I think there were good intentions behind using a tool like Divi, but time has shown it is maybe more of a blocker to people adding to the site, so we’ve been very conscious to document how to best use the site to hopefully make it less intimidating.

Allowing discounts

We had to get creative with plugins and settings to achieve the discounts required. Something I would warn against is letting a technical person have too much sway in these conversations.

Discounts can feel like a nice-to-have on a project, a marketing or sales tool and nothing more. But the reality is if somewhere a statement has been made that some combination of purchases results in some level of discount, that is now some business logic that needs codified and tested.

I made the mistake of pushing back on this before, knowing that there was an easier technical solution if only they worked a certain way.

Extra information

Because Turas are a charity, they need some extra information from people purchasing classes that they can use for funding applications.

This is an area we want to refine a lot for next year, but suffice to say capturing what is objectively optional data from a user perspective, but a requirement from a business perspective is a tricking thing to get right.

Internal linking

Turas, like many organisations, have more than one web presence.

We took part in a small project to identify where their other websites and social pages should link to the new work and were possible update the links ourselves.

Stepping away from the keyboard

You could argue that whilst some of the things I listed above were certainly not straight up development tasks, they are certainly things that would fall onto a technical person on some teams.

Creating physical materials

We created some flyers and QR codes. It is always important to think of the context of how people use your service.

Turas has never, and will never, be a “digital first” charity, they shouldn’t be, in person classes and communication is what they do best.

With that in mind, it makes no sense to add something new to the website and assume people who never think to use the website will magically start clicking around.

Making physical items that can be picked up and taken away by people helps meet them half way.

Manually setting up people

Speaking of meeting people half way, there are going to be some folk who just can’t or won’t use a website.

It would be folly to think we were going to get 100% of people happily using the website to sign up.

All good services, even digital ones, need to consider the offline story. Turas is no exception.

To help with this we made sure that if someone wanted to pay in cash to a member of staff, all they would have to do is jot down some details and they could manually add the person after the fact.

This means there is still one place to go to get all the information about who is signed up, but sign ups don’t all need to happen online.

Training on the new system

One of the big issues with previous iterations was the amount of time that already time-constrained staff would need to spend keeping places up to date with where learners are.

We’ve set things up in such a way and given training on how to get the data they need out of the system in a couple of clicks, which will hopefully reduce admin overhead.

We will keep improving this over time.


I’m happy with what we’ve been able to accomplish and I’m excited for where this project could go in the future.

Recent posts View all


The best way to test model scopes in Rails

Learn about Rails scopes and how to best test them with both Rspec and Minitest


Finding out what called a Ruby method

A quick way to understand what is calling your code using the caller method