home.social

#birthdayreminder — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #birthdayreminder, aggregated by home.social.

  1. Tomorrow is the big day. Oops Again launches on the App Store AND on Product Hunt 🚀

    I've been sharing the story of how and why I built this app over the past two weeks. Now it's time to put it out there for the world to see 🌍

    If Oops Again resonates with you, it would mean the world to me if you'd check it out and leave an upvote on Product Hunt tomorrow 🙏

    producthunt.com/products/oops- (1/2)

    #BuildInPublic #Dev #IndieDev #iOS #iOSDev #Swift #SwiftUI #App #AppDev #BirthdayReminder #OopsAgain

  2. Let's talk about money. Because I want to be transparent about this 💶

    Oops Again lets you try every single feature for free. The birthday list, the widget, adding birthdays, custom reminders. Everything. For your first 5 upcoming birthdays.

    If you like it and want to unlock all your contacts, it's a one-time purchase of 1,99 €. That's it. No subscription. No yearly renewal. Pay once, use (1/2)

    #BuildInPublic #Dev #IndieDev #iOS #iOSDev #Swift #SwiftUI #App #AppDev #BirthdayReminder #OopsAgain

  3. If you're a journalist, blogger or content creator and want to write about Oops Again — I made it easy for you 🙌🏻

    I put together a press kit with everything you need. The story behind the app, screenshots, the app icon, features, privacy details and more.

    You can find it all here 👇
    oopsagain.app/press

    And if you have any questions, reach out to me at press@oopsagain 📬 (1/2)

    #BuildInPublic #Dev #IndieDev #iOS #iOSDev #Swift #SwiftUI #App #AppDev #BirthdayReminder #OopsAgain

  4. Every app needs a face. And I knew I couldn't do this one alone 🎨

    I'm a developer, not a designer. So I reached out to my friend Flora, who is an amazing designer, and asked her if we could work together on an icon for Oops Again.

    And then something magical happened 🤯

    She just happened to have this exact icon lying around in her design files. She had created it once and never used it. (1/3)

    #BuildInPublic #Dev #IndieDev #iOS #iOSDev #Swift #SwiftUI #App #AppDev #BirthdayReminder #OopsAgain

  5. Finding a name for the app took me forever 😅

    I didn't want something generic. No "Birthday Reminder Pro". No "Birthday Calendar Plus". Nothing that sounds like every other app on the App Store.

    I wanted a name that captures a feeling. And the feeling I kept having was this one:

    You see a post from a friend. Birthday selfies. People congratulating them. And you had no idea. You feel (1/2)

    #BuildInPublic #Dev #IndieDev #iOS #iOSDev #Swift #SwiftUI #App #AppDev #BirthdayReminder #OopsAgain

  6. I wanted to know whose birthday is coming up without even opening the app 👀

    So I built a Home Screen widget. It shows the next upcoming birthday right there on your Home Screen. Name, photo, the date, how old they get. Done.

    No need to open the app. No need to check your calendar. Just glance at your phone and you know 📱

    It sounds like a small thing. But it completely changes how you (1/2)

    #BuildInPublic #Dev #IndieDev #iOS #iOSDev #Swift #SwiftUI #App #AppDev #BirthdayReminder #OopsAgain

  7. Let's talk about privacy. Because this one was personal to me 🔒

    Oops Again reads three things from your contacts: names, birthdays and photos. That's it. Nothing else.

    It stores a temporary copy of this data on your device to make reminders and the widget work. That copy never leaves your iPhone. Ever.

    There is no account. There is no server. There is no upload. (1/2)

    #BuildInPublic #Dev #IndieDev #iOS #iOSDev #Swift #SwiftUI #App #AppDev #BirthdayReminder #OopsAgain

  8. One decision I made very early on: I'm not building another place where you put in your friends' data 🙅‍♂️

    Think about it. A person's contact card already has a birthday field. Your contacts are already on your phone. Why would I ask you to type everything in again somewhere else?

    So I built Oops Again entirely on top of the iOS Contacts framework. (1/3)

    #BuildInPublic #Dev #IndieDev #iOS #iOSDev #Swift #SwiftUI #App #AppDev #BirthdayReminder #OopsAgain

  9. One thing was non-negotiable for me from the start: Oops Again has to feel like it belongs on your iPhone 🍎

    I didn't want a custom design language. No quirky fonts, no unusual color schemes, no UI experiments.

    I wanted you to open the app and immediately feel at home. Like Apple made it themselves.

    That means iOS 26, liquid glass, stock components. (1/2)

    #BuildInPublic #Dev #IndieDev #iOS #iOSDev #Swift #SwiftUI #App #AppDev #BirthdayReminder #OopsAgain

  10. I knew what I didn't want. Now I had to figure out what I actually wanted 🤔

    So I wrote it down. The entire feature list of my dream birthday app:

    A list of all upcoming birthdays. Reminders for them. A widget for the next one. That's it. Three things 😅

    But the details matter. I wanted a global reminder that's set by default for everyone. And the option to set a custom one for specific (1/2)

    #BuildInPublic #Dev #IndieDev #iOS #iOSDev #Swift #SwiftUI #App #AppDev #BirthdayReminder #OopsAgain

  11. Okay so the calendar wasn't cutting it. Time to check the App Store for birthday reminder apps 🔍

    There are a bunch of them. And I tried a few. But something always felt off 😕

    The most obvious thing? The design. None of them looked like they belonged on my iPhone. Too many custom UI choices that felt dated or just... off.

    I wanted something that feels like a native Apple app. Something (1/2)

    #BuildInPublic #Dev #IndieDev #iOS #iOSDev #Swift #SwiftUI #App #AppDev #BirthdayReminder #OopsAgain

  12. Then I discovered something. If you add a birthday to a person's contact card, iOS creates a birthday calendar automatically 🤯

    Add the birth year too and it even shows you how old they get. Nice!
    But then the problems started 😅

    The reminder for all birthdays is fixed at 9am. You can change it, but only globally for every single birthday at once. No way to set different reminders for (1/3)

    #BuildInPublic #Dev #IndieDev #iOS #iOSDev #Swift #SwiftUI #App #AppDev #BirthdayReminder #OopsAgain

  13. So I wanted to remember birthdays. First thing I did? Added them as recurring yearly appointments to my iOS calendar 📅
    Sounds reasonable right? It wasn't 😅

    You never actually know how old someone gets, because a recurring appointment doesn't calculate age. And you have to manually set a notification for each single one of them.

    10 birthdays? 10 notifications to configure. Forget one? (1/2)

    #BuildInPublic #Dev #IndieDev #iOS #iOSDev #Swift #SwiftUI #App #AppDev #BirthdayReminder #OopsAgain

  14. I forgot my friend's birthday. I found out a day later scrolling through my feed and felt terrible about it 😔

    That guilty feeling of "I should have known" hit me hard. And it wasn't the first time 🙈 I care about these people. I just can't hold dates in my head.

    And that's exactly what made me start building @oopsagain 🛠️

    Your support means a lot, you can pre-order Oops Again here 🎂 (1/2)

    #BuildInPublic #Dev #IndieDev #iOS #iOSDev #Swift #SwiftUI #App #AppDev #BirthdayReminder #OopsAgain

  15. Never say oops again 🤪

    I’m proud to have completed the hardest part of building an app.

    Launching it 🚀

    Pre-order Oops Again now 🎂

    apps.apple.com/de/app/oops-aga

    If you Pre-order Oops Again will be downloaded automatically on its launch day on 11th of May 🙌🏻 It would immensely help me if you‘d show your support by Pre-ordering it.

    I put a lot of work into it to (1/2)

    #BuildInPublic #Dev #IndieDev #iOS #iOSDev #Swift #SwiftUI #App #AppDev #BirthdayReminder #OopsAgain

  16. 🎉 Automatically email birthday wishes to your contacts on their special day!

    #GoogleSheets #AppsScript #BirthdayReminder

    📌 Never forget a birthday—let this script do the work!

  17. 🎉 Automatically email birthday wishes to your contacts on their special day!

    #GoogleSheets #AppsScript #BirthdayReminder

    📌 Never forget a birthday—let this script do the work!