screenshot of Align


A dynamic web app to track life goals and progress on timelines, with media uploading capability. Built with Node.js, Firebase, React, Victory, & Material-UI


Align is a dynamic web application designed to assist users in setting and managing long-term goals. It provides a beautiful and intuitive interface for creating goals, tracking progress, setting milestones, saving resources, and storing personal media files.


  • Goal Creation: Users can easily create and define their long-term goals using the Align application.
  • Progress Tracking: Align allows users to check in periodically and track their progress towards their goals.
  • Milestones: Users can set milestones to break down their goals into smaller, achievable tasks.
  • Resource Saving: Align provides a feature to save helpful resources that can assist users in achieving their goals.
  • Media Storage: Users can store personal photos and videos related to their goals within the Align application.


To install Align, follow the steps below:

  1. Make sure you have Node.js installed on your system.
  2. Clone the Align repository from GitHub: git clone
  3. Install project dependencies: npm install
  4. Start the application: npm start

Note: The installation process assumes you have familiarity with the command line and have the necessary permissions to install dependencies.


Align is a powerful web application that helps users set and manage their long-term goals. With features like goal creation, progress tracking, milestones, resource saving, and media storage, Align provides a comprehensive solution for individuals seeking to achieve their goals. The collaboration between its creators, Melanie Mohn, Sara Kladky, and Sophia Ciocca, has resulted in a user-friendly and visually appealing application that can assist users in aligning their aspirations with their actions.


Express.js is a simple Node.js framework for single, multi-page, and hybrid web applications.


React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

Material UI

material-ui adds classes to Tailwind CSS for all common UI components. Classes like btn, card, etc. This allows us to focus on important things instead of making basic elements for every project.


Firebase offers a comprehensive set of features, including real-time database, authentication, hosting, cloud functions, storage, and more. Firebase provides an easy-to-use interface and allows developers to focus on building features rather than managing infrastructure.


ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.


Redux is a state management library for JavaScript apps that provides a predictable and centralized way to manage application state. It enables developers to write actions and reducers that update the state in response to user interactions, server responses, and other events, and can be used with a variety of front-end frameworks and back-end technologies.


Webpack is a popular open-source module bundler for JavaScript applications that bundles and optimizes the code and its dependencies for production-ready deployment. It can also be used to transform other types of assets such as CSS, images, and fonts.