Back to all projects
Live

Birthday Reminder CLI

Never forget a birthday again ๐ŸŽ‚

A command-line tool that scans your macOS Contacts for upcoming birthdays. Get alerts for today, tomorrow, or the next N days with age calculations and JSON output.

February 2026
1 night (nightly build)
Python ยท macOS Contacts API ยท CLI
Birthday Reminder CLI

Forgetting Important Birthdays

With hundreds of contacts, it's easy to forget upcoming birthdays. Your contacts already have birthday info โ€” why not use it?

  • 1Birthdays scattered across different apps
  • 2No easy way to see upcoming birthdays at a glance
  • 3Calendar reminders require manual setup
  • 4Wanted automation-friendly JSON output

Scan Contacts Automatically

Reads from macOS Contacts database. Shows birthdays happening today, tomorrow, or within the next N days. Calculates ages and outputs JSON.

Smart Scanning

Reads all macOS Contact sources automatically

Age Calculation

Shows turning age if birth year is known

Flexible Filtering

Today only, tomorrow only, or next N days

JSON Output

Pipe to other tools or use in automation

Screenshots

Birthday Reminder CLI output
Terminal showing upcoming birthdays with emojis and dates

Technical Deep Dive

Architecture

Python script using sqlite3 to read macOS Contacts database directly.

Tech Stack

PythonmacOS Contacts APICLI

Challenges & Solutions

Challenge

Accessing macOS Contacts data

Solution

Direct sqlite3 access to AddressBook database

Challenge

Year boundary handling

Solution

Smart date comparison for December-January wraparound

Results & Impact

No more forgotten birthdays! Run it in your morning routine.

Highlights

  • Zero configuration needed
  • Works with existing contacts data
  • Automation-ready JSON output

Lessons Learned

  • โ†’macOS stores contacts in sqlite
  • โ†’CLI tools are underrated for personal automation
  • โ†’Simple tools that do one thing well are the best

Like what you see?

Check out more of Dave's projects and case studies.

View All Projects