The challenge
Enterprise organisations need career portals that feel entirely their own — branded to their identity, connected to their existing recruitment systems, and capable of serving candidates in multiple languages across multiple regions. The problem is that building and maintaining that infrastructure in-house is expensive, and no two organisations use the same applicant tracking system.
One of the world's largest talent acquisition outsourcers manages recruitment across dozens of client brands. A global biopharmaceutical company needs to attract specialist scientific talent in multiple countries and languages. A UK bank requires a portal connected to their existing HR stack that reflects their brand and gives candidates a clean, modern experience. Each has distinct requirements — but all share the same underlying problem.
Jobvious is Elysium's answer to that problem: a fully managed, multi-tenant career portal platform that lets enterprise organisations run sophisticated, fully branded career sites without owning the engineering complexity behind them.
Our approach
The architectural centrepiece of Jobvious is the appliance system — a pattern that allows a single Rails 8 application to serve 18 or more completely distinct career portals without any code duplication or shared state leaking between tenants.
Each client is mapped to an appliance: a named context that encapsulates their branded templates, custom assets (CSS, JavaScript, images), locale configuration, and site-specific business rules. A Rack middleware layer intercepts every incoming request, reads the hostname, and establishes the appliance context before the Rails application touches it. From that point, every view lookup, asset reference, and configuration decision resolves first to the client's appliance folder, then falls back to shared defaults. Adding a new client is a matter of registering a hostname mapping and providing a template — the core application requires no changes.
Below the tenancy layer, each client is represented as a Rails model subclass using Single Table Inheritance. This gives each site a clean object-oriented hook for customisation: their supported locales, how location fields map to their data (city, region, country vary between ATS providers), which filters their candidates should see, custom sort preferences, and whether SAML single sign-on is required for internal portals. The configuration lives in code, versioned and testable, rather than in a database admin panel.
ATS connectivity is handled through a modular connector architecture. Each applicant tracking system has a dedicated feed class and parser pair, built to a common interface. The platform currently integrates with SmartRecruiters via REST API (including real-time webhooks for instant job updates), TalentLink/Lumesse via SOAP, Paradox via XML feed, SkyRecruit via XML feed, and iCIMS. A single client can aggregate jobs from multiple sources simultaneously — normalised into a consistent internal model regardless of where they came from. Background jobs handle CV parsing, application submissions, and job alert emails asynchronously via a Delayed Job queue, keeping request cycles fast.
The multilingual model supports job content in multiple languages through a JobLocale record per language per job. A candidate visiting a multilingual portal in Portuguese will see the job in Portuguese where a translation exists; where it does not, the platform falls back to the job's default language rather than showing a missing content error. The same underlying job record serves all locales, with graceful degradation built into the resolution logic.
For SEO, the platform generates sitemap files per client, uses friendly URL slugs scoped to locale and reference number, and publishes job data in Indeed and LinkedIn XML formats where required.
The outcome
Jobvious today powers career portals for more than a dozen enterprise organisations across biopharmaceuticals, talent outsourcing, financial services, and consumer goods — all from a single deployable codebase running on a shared AWS infrastructure in eu-west-1.
The application runs on EC2 instances behind an Application Load Balancer, with an RDS database configured for Multi-AZ failover. Since the platform launched, it has not suffered a single infrastructure outage. Live trials and active recruitment campaigns have continued uninterrupted.
From an engineering standpoint, the appliance architecture has proven its value repeatedly. New clients are onboarded without touching application code. New ATS connectors can be added as independent modules without affecting existing integrations. The strategy pattern used for feed and job parsers means adding support for a new applicant tracking system is a self-contained piece of work — it does not require changes to the shared job processing pipeline.
The platform demonstrates what a well-designed multi-tenant architecture can achieve: the operational simplicity and cost efficiency of a shared platform, with the brand fidelity and configurability that enterprise clients require.