Skip to content

2026 · API

Birthday Reminder Service

A NestJS service that stores users and sends each one a “Happy Birthday” message at 9 AM in their own time zone on their birthday.

I want one like this
Period
–
Client
Personal project
Role
Sole developer: designed and built the API, the scheduler, the tests and the Docker setup.

Problem

An assignment: greet every user at 9 AM local time on their birthday, across time zones, daylight-saving changes and 29 February, without scanning every user on a timer.

Outcome

One persisted Agenda job per user fires at that user's 9 AM, computed with Luxon, and reschedules itself for the next year without a database read; changing a birthday or time zone reschedules it, and deleting a user cancels it. 59 tests across 13 suites cover 100% of statements, functions and lines and 82.2% of branches.

Stack

  • NestJS
  • TypeScript
  • Fastify
  • MongoDB
  • Agenda
  • Luxon
  • Jest
  • Docker

Links

I want one like this

All projects