← All projects
Live Ruby on RailsSelf-hosted

Yseasonal

A seasonal jobs platform running in Dutch, German, and English. I co-founded it and built the platform from scratch.

The Yseasonal homepage in a browser window, angled on a warm off-white background. The hero reads 'Your season abroad starts here' next to a photo of two people in an open-top jeep, and a Topjobs row below lists seasonal hospitality vacancies in Zeeland, Greece, and the Dutch Wadden Islands.
At a glance
Role
Co-founder
Duration
Ongoing
Tech
Ruby on Rails, Self-hosted
Status
Live
Released
01-02-2024

A seasonal jobs platform, running in Dutch, German, and English. Employers post seasonal work, candidates apply, and the matching and follow-up in between is where most of the product actually lives (over 1,500 applications a month run through it). I co-founded it and built the platform from scratch, in Ruby on Rails ❤️.

Context

We launched on 1 February 2024. We started with just the two of us, which made the split easy: I could focus fully on the tech side, and my co-founder took most of the rest. I’ve been the one building and maintaining the platform since the start, aside from a few early pieces an ex-colleague helped with.

The first version wasn’t Rails at all. We had about a month to build and launch, so we started in Webflow, which got us live on time. Once we knew more about what the product actually needed, I migrated us onto our own platform in Rails. Everything since has been built there: the application funnel, the candidate and employer sides of the matching flow, and the operational pieces a jobs platform turns out to be mostly made of.

Live and growing in all three markets.

Build

There’s a lot I could pull out here, so I’ll limit myself to a couple of pieces.

The first is content. Running in three languages means every piece of content multiplies by three: translations, job descriptions, landing pages, all of it. Writing that by hand was never realistic, so I built a generation pipeline on a language model API, with keyword research from an SEO tool feeding into it. It sits behind the CMS layer that also handles the country-specific pages. A piece that used to take two or three hours now takes about ten minutes.

The second is infrastructure. It’s self-hosted on a Linux box with a FOSS management layer on top (I enjoy the tinkering, not gonna lie), serving around 25,000 visitors a month, and a good chunk of what we use daily runs on the same setup: SigNoz for observability, plus a wide array of FOSS for internal communication, document workflows, and automation. Self-hosting takes maintenance, but it’s a trade I’ll happily make against the cost of the hosted equivalents, and for owning our own data.