Baron Banana Project



"Momento Mori" is an app designed to bring the concept of mortality to the forefront of our minds in a meaningful way. Inspired by the Latin phrase "remembering you will die," the app presents life metrics in a visually compelling bento layout, such as the percentage of life lived, the number of weeks remaining, and other key statistics.
The goal of the "Momento Mori" project is to create a tool that serves as a constant reminder of mortality for those who are mindful of their own death. By keeping the inevitability of death at the forefront, the app aims to motivate users to live a more meaningful and fulfilling life. It is also designed as a platform for self-reflection, allowing users to record their thoughts and experiences through weekly journaling. Additionally, the app aspires to become a source of motivation, particularly during times of discouragement.
Click to see details

As this was a side project, I was solely responsible for every aspect of Momento Mori's development. My roles included conceptualizing the app's functionality, designing the features, flow and interface, implementing the technical architecture, and managing all testing and iterations. From start to finish, I handled the entire project independently, ensuring that each element aligned with the overall vision.
As Robert Greene writes in his book The Laws of Human Nature: "Most of us spend our lives avoiding the thought of death. Instead, the inevitability of death should be continually on our minds. Understanding the shortness of life fills us with a sense of purpose and urgency to realize our goals. Training ourselves to confront and accept this reality makes it easier to manage the inevitable setbacks, separations, and crises in life. [...] By becoming deeply aware of our mortality, we intensify our experience of every aspect of life."
Similarly, Steve Jobs once said, "Remembering that I'll be dead soon is the most important tool I've ever encountered to help me make the big choices in life."
This project was developed primarily for myself, and those who 'meditate on their death', as a tool to help us reflect on the passage of time, engage in self-reflection, and remind myself to live a life of purpose and meaning. While it wasn't initially created with a target audience or commercialization in mind, the app serves as a personal reminder of mortality and a way to motivate myself, especially during challenging times.
Display key life metrics such as the percentage of life lived, remaining time, and total expected lifespan.
Engage in weekly reflections, with the ability to write and review journal entries that document your thoughts and progress.
Experience a data-driven visualization of the time that has passed and the time that remains, offering a clear perspective on the flow of your life.
Estimate your lifespan based on average life expectancy data tailored to your country and gender, providing a personalized understanding of your journey.



The dark theme was chosen for this app because its color palette can help lower mood and emotions, creating a conducive environment for introspection and self-reflection. Symbolically, the dark theme represents the fleeting nature of life, serving as a subtle but constant reminder of mortality. Additionally, the use of a dark theme aligns with the habit many people, including myself, have of engaging in reflection or journaling in the evening. The gentle, low-light interface is easier on the eyes during nighttime or pre-bedtime use, encouraging deep, meaningful engagement with the app's content during these quiet moments.
Front-end
Programming language
Back-end
CSS framework
Deployment Provider
Database
Authentication Agent
Measure Traffic
The "Momento Mori" app is built using Next.js, which offers a unified development environment for both front-end and back-end components. This approach simplifies the deployment process, allowing the entire application to be hosted seamlessly on Vercel. The app leverages Firebase Firestore as its primary database, while Firebase Authentication is utilized for secure and efficient user authentication. This combination of technologies allows for a robust and streamlined development process, making it easy to manage both the application logic and user data within a single deployment workflow.
In this project, I decided to use TypeScript to gain a deeper understanding of its features and capabilities. TypeScript's strong typing and additional tooling provide advantages in larger and more complex projects, such as improved code maintainability, better error detection during development, and enhanced collaboration. By integrating TypeScript into this project, I'm preparing myself to leverage these benefits in future projects that demand a more robust and scalable codebase.
I selected Next.js for this project to both learn and leverage its capabilities for rapid development. Next.js offers a powerful combination of server-side rendering and static site generation, which allows for a highly efficient and scalable application. However, while working with Next.js, I encountered some challenges, particularly related to compatibility between different versions of Next.js and other libraries. This experience has been invaluable in understanding how to navigate these issues and optimize the development process.
I chose to use Tailwind CSS due to its support for rapid development and precise control over the styling of each component, which also aligns with the minimalist and thoughtful nature of the app's concept. Tailwind's flexibility ensures responsive design, providing a seamless user experience across different devices.
I utilized Next.js's API routes to build the necessary endpoints for interacting with the Firebase Firestore database using Node.js. This approach allowed me to keep the entire application within a single framework, simplifying development and deployment while maintaining efficient data management and processing.
I chose Firebase Firestore as the database with the primary goal of experimenting with and learning about this technology. Firestore's real-time capabilities, scalability, and ease of integration with the existing Firebase ecosystem made it an ideal choice for this project, allowing me to gain hands-on experience while effectively managing user data.
Each component of the app was tested in isolation to ensure that all functionalities operated correctly and efficiently.
I tested how different modules and services within the app interact, ensuring seamless integration between the app and the external services it relies on.
My plans for the future development of "Momento Mori" are centered around enhancing the app's ability to serve those who seek constant reminders of mortality and engage in meaningful self-reflection. Key features in the pipeline include notification functions and customizable alerts, ensuring that users are regularly reminded of the app's core message. Additionally, I plan to develop a browser extension that will display these reminders more frequently, integrating the concept of mortality into the daily digital experience.
If you have any ideas or contributions that could help improve the project, I warmly welcome your input or participation.
Let's explore the next content.
Let's explore the next content.
An infinity deck of cards that satisfy your curiosity
A time tracker encourage you dive deeply into your mindflow
An app helping you stay mindful of your life by focusing on its deadline.
A herbs library that help women learn and utilize herbs in everyday life
© Baron Banana 2024 - All rights reserved
Switch theme ➡️