← All work
Product.We.Own

BerryMap

A full applicant tracking system and career site builder for Canadian small and mid sized employers, bilingual from the first line of code rather than translated after the fact.

Client
BerryMap Inc. (in house)
Role
Co-founder, product and build
Status
Live
Languages
French and English
berrymap.com
Drop a screenshot hereBerryMap interface: applicant pipeline and bilingual career site builder for Canadian SMEs
The.Brief

Why it exists

Recruiting software in Canada is priced per seat, built English first, and treats French as a translation layer bolted on at the end. For a Quebec employer with four locations and a franchise network, that is both expensive and wrong.

BerryMap started as an answer to that: an ATS an SME can actually afford, where the career site, the job postings and the candidate experience exist equally in both languages, and where a franchise network can be modelled properly instead of being flattened into one account.

A career site that Google can read is worth more than a career site that looks good.
What.We.Built

The pieces

01

Applicant pipeline

Drag and drop stages, candidate records, messaging, calendar and reporting. Recruiters live here all day, so it is built for keyboard speed rather than for demos.

02

Career microsite builder

Employers compose their own careers page, with per field translation status so nothing ships half translated. Publishes to a custom subdomain or embeds by iframe on an existing site.

03

BerryMatch scoring

A five pillar matching model: semantic similarity, commute, qualifications, dealbreakers and alignment. It ranks candidates, it does not decide for anyone.

04

Franchise and agency hierarchy

Parent companies, sub clients, brands, locations and franchisees, each with their own members, permissions and billing path. This is the part no SME ATS on the market handles.

05

Billing and plan logic

Four plan tiers plus paid brand activation, with plan versioning so pricing can change without disturbing existing subscribers.

06

Bilingual resources hub

A content and help hub across six pillars, with structured data, hreflang and instant indexing, built to earn search traffic instead of buying it.

Under.The.Hood

How it holds up

Next.jsTypeScriptPostgreSQLDrizzleStripeSocket.ioResend

The first version was a React single page app and Google could not index a single job posting. We migrated the whole front end to server rendered Next.js, added JobPosting structured data on every listing, sitemaps, hreflang pairs and the Indexing API. Indexation went from zero to the full catalogue of pages.

The data layer is PostgreSQL with Drizzle, payments run on Stripe, real time updates on Socket.io, transactional mail on Resend. Authentication is custom, because the same person can be a candidate at one company and an administrator at another.

178Bilingual articles published
5Pillars in the matching model
2Languages, native, not translated
4Plan tiers plus add ons
Next projectvalQC
Why.This.Matters

The same engine runs your back office.

Access rules, live data, billing, bilingual interfaces, systems people use every day without thinking about them. What changes from one project to the next is the subject, not the level of the build.

A 30 minute call, no charge.

Book