You know that feeling of panic when you look at the clock and you realize your class has started, but you're not in it? I know it all too well.

Sometimes I'll still be eating breakfast or lunch, and other times I'm just not paying attention to the clock, and before you know it, class has started. Usually I just scramble to join as quickly as possible, but it's kinda awkward joining class late, especially when your teacher calls you out. Almost as awkward as being in a breakout room where no-one is talking and you have no idea what you're supposed to be doing.

My idea for OnTime came from frustration. Not mine though - I can deal with the awkwardness. It was my mum's, after seeing yet another tardy on my attendance record. Sometimes it's difficult to keep track of all of my classes, and all their different Zoom links, which is where OnTime comes in!

OnTime is like a personalized bell system - but at-home, showing your current class, video conferencing link and remaining duration in the current period, as well as delivering audible push notifications shortly before a class begins and ends, on all devices where you are signed in.

This is cool and all, but you might be asking - why not just put your classes into a Google Calendar?

I asked myself that question all this weekend too. ;)

I do actually have an answer to that question. My school uses a block schedule system with A and B days, so I can't just set certain classes to repeat on certain days - I have to calculate which dates are A days and B days, which also means factoring in holidays and other school breaks, as well as the occasional C day due to pep rallies and other events. In addition, I'm a dual-enrolled student, and my community college classes only occur on certain days, but again I would have to factor in holidays - which are also on a different schedule than my high school. Hopefully, you can see how messy and tedious inputting each individual class onto any calendar would be.

My plan was to build the site with React.js and Geist UI, host the site on Vercel and use Firebase Auth and Firestore to manage user authentication and to persist data. Unfortunately, I don't think I'll be able to complete it this weekend. My laptop was running super-slow, so my solution was to run code-server on my Raspberry Pi 4, but that took way longer to set up than I expected. Turns out it was just an EBKAC error, and you might be able to tell why my laptop was so slow by looking at the image...

Anyway, I'm pretty proud of where I've gotten to, and I definitely plan on continuing to develop it this month. If by some act of God I manage to finish it, you can guess I probably pulled an all-nighter...

If you're curious to see where I'm at with development, you should check out https://dev.stayontime.online. As of now, I have auth working, but that's about it. The dev environment is more like staging and should be somewhat stable, but I wouldn't recommend depending on it working consistently it till I push to prod over at https://stayontime.online.

Thanks for reading! If you're still here, here's a slice of pizza! 🍕 (this should qualify me for best pizza-focused game, right?)

Built With

Share this project:


posted an update

I'm about to head to bed, but I got a basic landing page set up! It took way longer than I expected but I learned a lot about Geist UI and React since I'm not super familiar with them. Check it out at stayontime.online!

sidenote - I'm really proud of that domain and I'm not sure why. Thanks domain.com :)

Log in or sign up for Devpost to join the conversation.