Reviving your old ambitious project as a side project

Mar 31, 2023

productprogrammingjournal

Five years ago, while I was still in high school, I created a simple website with true or false math questions specifically designed for the Panhellenic examinations. The following year, during my first year at university, I had the pleasure of meeting three brilliant individuals. Together, we shared a dream of creating the first-ever educational platform in our country, Quiz4math. Unfortunately, due to various reasons, this dream never came to fruition.

Recently, after three years, we agreed that we could no longer maintain our large-scale project. However, we didn't want to completely shut it down, especially after receiving positive feedback from students who love the platform. While we didn't have a large number of users (approximately 500-1k each year with no serious marketing or advertising), we still wanted to assist these users. The challenge we faced was the large structure of the project and the personal data involved, which required attention and upkeep even when not working on it daily. We were investigating ways to address this issue.

After discussing our options, we came to an agreement to simplify the tech stack and remove any personal user data. We plan to rewrite the entire app with this new approach, and we aim to complete this task within one weekend.

The personal data we collected on the platform included users' email addresses, names, and curriculum information

Calendar

Let's review together the features we had in our app and the data we collected. And which features and why, we decided to keep and re-create for our new app.

The features of the old app

  • Users can answer "true or false" and "multiple-choice" questions. (Core feature)
  • Users can select questions by course and subchapter.
  • Users can answer questions from multiple subchapters, which is useful as they can add the subchapters they learned in school each week and avoid viewing questions they don't know.
  • Users can view past exam questions.
  • Users can choose their curriculum and only see the courses they're interested in on their home screen. They can also change the curriculum from the settings.
  • Admin panel provided full control of the questions and course data ( allows us to add, edit, and delete all questions and course data within the app).
  • Users can answer questions from both mobile app or web.
  • The user can answer quiz questions from each course in his curriculum. From the material, he has chosen in each lesson. (Is complex, that's why no one used it)
  • Algorithms so there is a balance between hard and easy questions.

Competitive Advantage

  • The quality and quantity of questions (we have all the questions from school books and Panhellenic exams, and several professors and book authors trust us to help answer their questions.).
  • Users can answer questions from multiple subchapters.
  • Users can select questions by course and subchapter.

The data we had helped us consider the new app features

  • 48% of users were aware that they could view past exam questions in our app.
  • The bounce rate was 50% due to the registration process required by the app. Half of the users who installed the app left after seeing that registration was necessary.
  • 64% of users knew they could select subchapters and answer questions only from them.
  • 80% of users said that the app helped them study better.
  • 90% of users said that they liked the app.
  • Less than 5% of users used the web version.
  • 73% of users believed that the app was the best education app for Panhellenic exams.
  • All user feedback was related to questions. Users wanted more questions and new types of questions, and there were no complaints about the app.

Prioritize the features of the old app

We take the features we had, and we score it with these questions:

  • The users used this feature?
  • How big is the value the user gets?
  • How many hours will take to build this?
  • There is another app or service that does this better than us with this feature?

After thinking everything through, we came up with this list:

  1. Users can answer "true or false" and "multiple-choice" questions. (Core feature)
  2. Users can select questions by course and subchapter.
  3. Users can choose their curriculum and only see the courses they're interested in on their home screen. They can also change the curriculum from the settings.
  4. Admin panel provided full control of the questions and course data ( allows us to add, edit, and delete all questions and course data within the app).
  5. Users can answer questions from multiple subchapters, which is useful as they can add the subchapters they learned in school each week and avoid viewing questions they don't know.
  6. Users can view past exam questions.
  7. Users can answer questions from both mobile app or web.
  8. The user can answer quiz questions from each course in his curriculum. From the material, he has chosen in each lesson. (Is complex, that's why no one used it)
  9. Algorithms so there is a balance between hard and easy questions.

The features of the new app.

After considering this list above and our goal for the new app, we came up with this feature to create.

And that was our backlog for our 3 days hackathon!

No Sign-Up

  1. Many users do not take advantage of the benefits of having an account.
  2. Users do not have to bother with creating an account and can start using the app immediately.
  3. The bounce rate is likely to decrease, as users will not be deterred by the registration process.
  4. We will not need to collect any personal information from users to sign in to our app.

Users can answer "true or false" and "multiple choice" questions. (core feature)

Users can answer questions by course and subchapter.

This feature was a value-for-money feature from our competitive advantage. With minimal time, we keep an important and unique feature.

Users can select their curriculum and choose to display only the courses they want on the home screen. They can change their curriculum from the settings.

Planned features for the future

It is now March, and exams will begin in approximately June. The curriculum will remain the same, and most users are expected to have completed learning the subchapters by the end of the month…

Users can answer questions from multiple subchapters.

The first rating in the Play Store after the update was 4/5 stars, and the comment was:

The app is cool, and the new update is good, but now we can't select questions from multiple subchapters.

We understand that the ability to select multiple subchapters was a core feature and provided us with a competitive advantage. However, we found that 36% of users were not aware of its existence. Additionally, this feature is typically used at the beginning and middle of the year when users want to focus on specific subchapters they are currently learning. As we are approaching the end of the year, users have nearly completed the curriculum and won't require this feature much longer.

Because of that, we have decided to postpone adding this feature until after the exams in June. We can then hold another hackathon weekend in September to implement it and ensure it's available for the next academic year.

Admin Panel

The admin panel is crucial for managing courses and questions, and it also helps us serve our competitive advantage. It allows us to adapt to changes in the exam curriculum quickly. However, as previously mentioned, we are approaching the end of the season and we are not anticipating any major changes in the near future. Therefore, we can wait until September to create any panel in preparation for the next exam season.

The Geek side

If you are not familiar with coding or the technical aspects, feel free to skip this section.

Our previous tech stack included Angular, React Native, Ruby on Rails, and PostgreSQL for the database. However, over the last four years, we've realized that relying on these technologies makes it difficult to adapt to major changes in one framework. As a result, we've decided to move towards a simpler stack and a common language for better collaboration. We've chosen Nest.js and React Native for the backend and frontend, respectively. Additionally, we plan to use React Native Web for the web version, allowing us to cover all clients with one codebase. In the old app, only one person was able to write Ruby on Rails, but with our new stack, everyone can contribute.

Furthermore, we realized that we over-engineered the app in pursuit of our ambitious goals. Going forward, we will focus on creating features and infrastructure for the number of users and the current state of the project, making the codebase simpler and more manageable.

Open source

I am a huge fan of open source! Our old React Native app is open source and available on our GitHub repository. However, our priority right now is to focus on fixing any issues and ensuring the app runs smoothly. Therefore, we won't make the new app open source right now. Once we get past this critical period, we will work on making the project open-source and available to the community.

Conclusion

I hope you enjoyed the article and found it helpful in brainstorming new ideas for revitalizing your ambitious projects and effectively addressing user needs. Your feedback is always welcome and appreciated! Thank you for reading.

Git commit

If you want to see the app, you can download it from the Play Store.

Any thoughts? Feel free to share them with me!