Checking for what's coming, several times an hour
Celebrations your team remembers.
HappyCorps keeps track of every birthday, work anniversary and milestone, sets the money aside for each one, and handles the sending. Your HR team stops carrying the calendar around in their head.
Free to set up Β· Import your roster from a CSV Β· No credit card
Celebrate birthdays, work anniversaries, probation passed, certifications, first projects shipped, and any other date your company marks.
01
Nothing gets missed
Birthdays, work anniversaries and any date your company marks show up two weeks before they happen. Long enough to order a cake and get it delivered, not a notification at 9am on the day.
02
And nobody gets it twice
One celebration per person, per occasion, per year. The second one cannot be written to the database at all, which is a stronger promise than a duplicate check that usually works.
03
Someone else does the work
The message gets written, the money gets held and the send gets scheduled while nobody is logged in. You open HappyCorps when you want to, not because something is about to slip.
How it works
Four steps, then it runs itself
Set it up once. After that you only open HappyCorps to add someone new, or to see what's coming.
Bring your people in
Upload a spreadsheet or add people one at a time. The column names other HR tools use are recognised for you. Before anything is saved you see every row marked new, updated or needs-a-look, and uploading the same file twice updates people instead of doubling them up.
Features
Everything the job asks for
From a name in a spreadsheet to a cake on someone's desk: the dates, the money, the message, the ordering, and a record of what happened.
Import the spreadsheet you already have
Upload it and see exactly what will happen before anything is saved: who's new, who's being updated, which rows need a second look. A date that could be read two ways gets flagged instead of guessed at, and an empty cell never wipes what you already had.
Messages in your own voice
Write a different message for each occasion and watch it take shape as you type. Send yourself a test before it goes anywhere near your team. No design work, no fiddling with layouts.
Celebrate whatever you like
Birthdays and work anniversaries are set up for you. Add anything else your company marks: probation passed, a certification renewed, the day a team was founded. Each one gets its own budget, emoji and colour.
A budget that holds
Set one amount per person per year and nothing can go over it. If the occasions you have configured would breach it, you are told while you are setting them up, and a cancelled celebration puts the money straight back.
One board for everything in flight
Each celebration moves from waiting, to on its way, to delivered. Anything that goes wrong says why in plain words. Supplier, cost and tracking sit on the card, with a full history of what happened when.
Ask people what they want
Ask your own questions about favourite cake, dietary requirements and how much fuss someone wants, so what turns up suits the person. Anyone can opt out entirely, and nobody is told that they did.
A dashboard worth opening
Headcount, what's coming in the next 45 days, what's already been celebrated this year, and how much of the budget is spoken for. Celebrations by month too, so you can see the busy stretches coming.
It runs whether you open it or not
HappyCorps checks for what's coming several times an hour, on its own, with nobody signed in. Nothing to remember and nothing to press, though there is a button if you would like to watch it work.
Reliability
Nobody gets two birthday emails
A second message for the same person, the same occasion and the same year cannot be created. Don't take our word for it. Press the button until you're satisfied.
One message per person, per occasion
Ada's 2026 birthday can exist exactly once. Not once if everything goes to plan. Once, full stop, with no sequence of events that produces a second.
Overlapping runs can't collide
The automatic check, an overnight catch-up and an admin pressing the button can all fire at the same moment. One of them does the work; the rest stand down.
A busy week doesn't slow it down
When there is a lot going out at once the work gets split between runs instead of repeated. If something stops halfway, whatever it was holding is picked back up a few minutes later.
Failures are honest
Anything that might work on a second try is retried, with a widening gap between attempts. A bad address or a supplier who cannot deliver will not work on any try, so it fails straight away and says what to fix.
Ada Lovelace
π Birthday Β· 14 March 2026
- Waiting for the schedulerβ¦
0 duplicates prevented
1
message per occasion
0
duplicates possible
109
automated checks
Those checks include starting six celebration sweeps over the same roster at the same instant, then proving that exactly one message came out of them.
Timed to land on the day
Same deadline, different head startA cake has to be ordered days ahead to be on a desk in the morning. An email doesn't. That difference is the whole reason HappyCorps looks a fortnight ahead instead of reminding you on the day.
Fulfillment
Email today. Cakes on desks next.
Most tools in this space stop at a reminder and leave the doing to you. What arrives is the point here, so when gifts start going out, nothing about the way you already work has to change.
Personalised email
Available nowA message in your words, written for the person and not the payroll, landing on the morning of the day. Whether it arrived is recorded either way, so you are never left guessing.
Cake and gift delivery
In the makingThe supplier, the cost, the delivery address, the expected date and the tracking number already live on the celebration, on the board and in its history. What we are building now are the delivery partners behind them.
For employees
A celebration people want to receive
A generic message on the wrong day, with a cake someone can't eat, is worse than nothing. Everyone gets their own corner of HappyCorps to correct their details and to say how much attention they want.
- Their details, their responsibility
- People confirm their own birthday, keep a delivery address current and fix what an import got wrong, without raising an HR ticket.
- Opt out, as much or as little as they like
- Anyone can quietly step out of one kind of occasion or all of them. Even if they change their mind after something has been arranged, it is called off before it goes.
- Answers that reach whoever is sending
- Preferences travel with the celebration itself, so what shows up matches the person and not the average of the team.
Your celebration preferences
Only your HR team sees these answers.
Security & privacy
Built like the HR system it sits next to
HappyCorps holds names, birthdays, joining dates and dietary requirements for everyone you employ. That is personal data, and it is handled like it.
Your data never touches anyone else's
Every organisation's records are walled off from every other one, and the wall is built into how the data is stored, not something the software has to remember to check. No request can return another company's people.
Only what a celebration needs
Names, dates, an address to send things to, and what a person likes. That is the whole of it. No salaries, no payroll details, no performance notes, no documents, and no password on an employee's record to begin with. There is far less here to protect than in the HR system next door.
A record of everything sent
Each celebration keeps a timeline of what was attempted, when, and what came back, including the attempts that failed and were tried again. Months later, a question about what happened has an answer instead of a guess.
People see only what they should
Access is granted one permission at a time, instead of trusting each screen to check for itself. Every action asks first, so an employee cannot reach the roster and an admin cannot reach your organisation's settings.
Who can do what
Each role builds on the one before it. An HR admin is an employee with more access, so the person who registers the organisation still appears in the roster, and still gets their own birthday.
The specifics, for your IT or security team
Everything they will ask about before you sign anything.
The specifics, for your IT or security team
Everything they will ask about before you sign anything.
- Credentials and sessions
- An employee record carries no password unless one is deliberately set; where it exists it is hashed with scrypt and a per-password salt. Sessions are opaque random tokens, stored only as their SHA-256 digest, so what sits in the database is never itself a usable credential.
- Tenant isolation
- Every query takes an organisation id from the session; no code path reads a record by id alone. Composite foreign keys make a cross-tenant row unrepresentable, even to hand-written SQL.
- Authorisation
- A permission table, not role comparisons scattered through the code. Every server action and route handler asserts a permission, so adding a role later is one table edit.
- Delivery records
- Each delivery carries an append-only event trail, with status, message and timestamp on every transition, surfaced as the timeline on the celebration it belongs to.
FAQ
Questions worth asking first
If yours isn't here, ask us.
Register your organisation, then import a spreadsheet of your people. Birthdays and work anniversaries are set up for you, so most teams have a first roster live in under ten minutes. After that, spotting dates, setting money aside and sending all happen without anyone signing in.
They opt out, from their own profile, for one event type or all of them. Nobody is notified that they did. If the opt-out is recorded after an occasion was already detected, the pending delivery is cancelled before it goes. Nothing slips through.
Yes. Add any date your company marks: probation passed, a certification renewed, the day someone joined a particular team. Each one gets its own budget, emoji, colour and message.
You set one amount per person per calendar year. Each kind of occasion says what it should cost, and no occasion can take more than is left of that person's allowance, so a generous amount on one cannot quietly overspend the year. Cancelling a celebration puts its money straight back.
A birthday is a date on a calendar, not a moment in time, so nothing about where our servers happen to be can shift someone's by a day. Today is worked out in your organisation's own timezone, and a 29 February birthday is celebrated on the 28th in years that don't have one. It is never skipped.
Someone on your team has a birthday next week.
Import your roster once and HappyCorps will have spotted it already, with the budget held and the message written.
Free to set up Β· No credit card Β· Your data stays yours