Inspiration

I am a full time firefighter in Australia. I am all self taught when it comes to programming. About 7 years ago I built a web app as a hobby project which is still in production and used by many firefighters and their families. The links is below. With the help of the recent AI tools, I am hoping to create a native mobile version of the same shift calendar app using React-Native and Expo with the edition of a few extra features.

What it does

It shows colorful shift days for 4 platoons and their holiday periods for the 8 groups. These are calculated on the fly not read from a source. The mobile version will also allow users to take notes for each calendar day and also keep their working hours as reference for personal record. It has GPS assist navigation to fire station and distance calculator between any two fire stations which is a need for internal personal use. It will also have the next personal annual leave group over exposed and highlighted for the user on the main calendar window.

How I built it

Web app was built with Python and Flask. The mobile version is still in progress but, I am using React-Native and Expo and of course Kiro IDE.

Challenges I ran into

Hosting was challenge for the web. The mobile app is progressing very slowly as I rely heavily on using AI and I am very new to React Native, Typescript and mobile platforms.

Accomplishments that I am proud of

The web app has close to 10000 hits a month. The mobile app is not finished but I have a working prototype that I was able to compile and install into my android device with the biggest smile on my face.

What I learned

Mobile development is a lot harder than the web, if it wasn't for Kiro and LLM it would have taken me a whole year to do what I've done so far.

What's next for Firefighter Shift Calendar

I am hoping to finish it and release the mobile version to the app store, hopefully soon! Beyond that I want to implement push notifications and maybe few other features depending on the feedback.

Built With

Share this project:

Updates