
It was fun while it lasted. Learnt a lot.
I have a lot of challenges that I faced and overcome which I can pen down here.
This was really fun as this was the first app based project that I worked on from scratch and man, I love the way this turned out. I can just keep writing about this one.
This was a fun little experiment, never meant to be used by a large number of people, but I am mentioning it here nonetheless.
Shivam Gupta reached out to me in 2020 after seeing my content on YouTube and explained his vision for PuStack and how I would fit into the role as a Flutter Developer. I really like the idea and as a 20 year old, really needed work experience. I was already working as a freelancer at this point, but I figured it would be better to take up full-time work experience.
After a brief interview, I was given the offer letter, man was I thrilled.
This was my first project. PuStack needed a platform from where their teacher's could schedule daily live sessions, the live sessions were then consumed by the student app. I got started with building this on Flutter Web. A big challenge in this project was defining what LIVE actually meant. A teacher had the ability to create a session for the next second, minute or they could plan ahead upto 2 months. Since our backend was in Firebase, I had to map the same data using two separate data points as anchor points in order to ensure that the queries are optimized. In one collection, everything is mapped by the date on which a particular session is supposed to go live, this allowed me to quickly query and display available sessions within a calendar view, making it easier to navigate for the teachers. On the other hand, we had the student app which didn't care for these things, so here everything was maintained using the regular firebase document id based structure. It was a real challenge to prevent a single data point to go out of sync with another one, now that we were maintaining two source of truths, especially when user changes the essential data like the date on which a particular session is meant to go live.
This was my first project. PuStack needed a platform from where their teacher's could schedule daily live sessions, the live sessions were then consumed by the student app. I got started with building this on Flutter Web. A big challenge in this project was defining what LIVE actually meant. A teacher had the ability to create a session for the next second, minute or they could plan ahead upto 2 months. Since our backend was in Firebase, I had to map the same data using two separate data points as anchor points in order to ensure that the queries are optimized. In one collection, everything is mapped by the date on which a particular session is supposed to go live, this allowed me to quickly query and display available sessions within a calendar view, making it easier to navigate for the teachers. On the other hand, we had the student app which didn't care for these things, so here everything was maintained using the regular firebase document id based structure. It was a real challenge to prevent a single data point to go out of sync with another one, now that we were maintaining two source of truths, especially when user changes the essential data like the date on which a particular session is meant to go live.