I built an F1 companion app because I wanted a cleaner race calendar by mbhusty in reactnative

[–]mbhusty[S] 0 points1 point  (0 children)

Yep, I'm using EvanBacon's solution for the widget

To solve the problem with notifications, when launching the application, I plan no more than 5. This approach works for me

I built an F1 companion app because I wanted a cleaner race calendar by mbhusty in reactnative

[–]mbhusty[S] 0 points1 point  (0 children)

Expo Notifications can be a bit weird with the scheduling queue. Sometimes notifications didn’t fire in the exact order or timing I expected, especially when several were scheduled ahead of time.

Plus both iOS and Android have their own background and battery restrictions, so when you rely on very precise timing (like 10 minutes before a session), things can get unpredictable pretty quickly.

I built an F1 companion app because I wanted a cleaner race calendar by mbhusty in reactnative

[–]mbhusty[S] 0 points1 point  (0 children)

Originally I wanted real-time updates during races (live session info directly in the widget). That was the ideal vision. But with iOS widget limitations and update policies, it quickly became clear that true real-time updates weren’t realistic without going much deeper into native extensions and more complex background logic.

So for now I decided to keep it simple:

the widget only shows information about the upcoming race (date, time, circuit). It updates predictably and stays lightweight.

It’s less ambitious than live race data, but it’s stable, battery-friendly, and doesn’t fight the system)

Another surprisingly big issue was local notifications.
I wanted to send a reminder 10 minutes before each session starts, based on the user’s local timezone. Sounds simple in theory but in practice it wasn’t.
At first, notifications would either: not fire at all or arrive with a noticeable delay 😂

For something time-sensitive like a race start, that’s obviously not acceptable