Okay, so I’ve been messing around with this Astro thing, and I wanted to build something simple, yet kinda cool. I landed on this idea: a birthday tracker. You know, just a place to keep tabs on people’s birthdays so I don’t look like a total jerk when I forget.
First things first, I fired up a new Astro project. You know the drill, the usual commands to get the basic structure going. Once I had that skeleton, I started thinking about how I wanted to store the birthday data. I could’ve gone with a database, but for this little project, that felt like overkill. So, I decided to keep it simple and use a JSON file. Easy peasy.
Data Entry
My JSON file ended up looking something like this:

"name": "John Doe",
"birthday": "1990-05-15"
"name": "Jane Smith",
"birthday": "1985-12-01"
See? Nothing fancy. Just names and dates. I added a few entries manually, just to have some data to work with.
Displaying the Goods
Next up, I needed to actually show this data on a page. I created a new Astro component – let’s call it . Inside, I used Astro’s built-in fetch
function to grab the data from my JSON file. It’s pretty straightforward, really.
After I have the data in my hand. I looped through it, creating a little card for each person. Each card shows their name and, of course, their birthday. To do this, I just wrote out some plain HTML, to give each entry a simple, clean look.
Adding Some Style (Sort Of)
Okay, I’m no design wizard, but I wanted it to look at least somewhat presentable. I threw in some basic CSS. You know, some colors, some spacing, just to make it not look like it was built in 1995.

Making it Dynamic
Now, the fun part! I wanted to show how many days were left until each person’s birthday. I added a little JavaScript magic to calculate the difference between the current date and the birthday. I used the Date object, make some calculations,and got the number of days.
Then, I updated the component to display that number alongside the name and birthday. Boom! Now it’s not just a static list, it’s actually useful.
Wrapping Up
So there you have it. My little Astro birthday tracker. It’s not going to win any awards, but it was a fun little project to tinker with, and it actually helps me remember important dates. I might add some more features later, like maybe sorting by upcoming birthdays, or even sending reminders. But for now, I’m pretty happy with how it turned out.