Back to projects
2 min read

Scratcher

A personal cloud scratchpad.

Scratcher Screenshot

The Scratcher project was conceived as a personal learning initiative to explore web development using JavaScript, CSS, HTML, and Firebase. As the sole contributor, I undertook the responsibilities of UI design, planning, programming, and testing, aiming to create a functional and user-friendly single-page scratchpad application.

Features:

  • Firebase Authentication: Implemented Firebase authentication to enable users to log in securely with their Google credentials, ensuring a seamless and trusted authentication process.
  • Retrieve Notes Anywhere: Leveraged Firebase’s real-time database capabilities to allow users to store and retrieve their text notes seamlessly across different devices, providing flexibility and accessibility.
  • Auto-Save: Implemented auto-save functionality to automatically save notes whenever the user stops typing, ensuring that no data is lost and providing a hassle-free user experience.
  • Customization: Integrated options for users to customize their experience by switching between light and dark modes and choosing their preferred accent color, enabling personalization.
  • Export Notes: Enabled users to export their notes as a .txt file for easy sharing or backup purposes, enhancing the utility and versatility of the application.

Learning Outcomes:

The Scratcher project served as an invaluable learning experience, allowing me to gain practical knowledge and skills in web development and Firebase integration. Through this project, I honed my abilities in UI design, front-end programming, and backend integration, while also learning about authentication mechanisms and real-time data storage.

Future Directions:

While Scratcher was primarily a learning exercise, it laid a foundation for future projects and potential enhancements. Moving forward, I aim to further refine the application, incorporating additional features and improving its performance and user experience. Additionally, I plan to explore other web development technologies and frameworks to expand my skill set and tackle more complex projects in the future.