Note
Don't worry, LifeForge is still alive and kicking. 🚀
The UI library rewrite and the subsequent migration away from Tailwind CSS have been successfully completed.
The core client architecture now runs entirely on the new internal UI system. Remaining work primarily involves migrating existing modules and updating project documentation.
This milestone marks the completion of one of the largest architectural transitions in LifeForge's history.
Don't get too comfortable, though. This is definitely not the largest forever. If LifeForge has taught us anything, it's that every "final architecture" eventually becomes tomorrow's migration project. :)
Important
Development was previously blocked by a critical styling issue in the module federation architecture.
Both the host application and federated modules were bundling Tailwind CSS independently. This created CSS cascade layer conflicts across module boundaries, resulting in:
- Unpredictable style overrides
- Broken responsive utilities
- Cross-module styling interference
- Inconsistent rendering behavior between host and remote applications
When multiple Tailwind CSS bundles coexist within the same runtime, cascade layer ordering becomes difficult to control reliably.
Each federated module generates its own CSS output, but all styles ultimately converge into a single document cascade. As modules are loaded and composed dynamically, style precedence can become dependent on injection order rather than application intent, creating subtle and difficult-to-debug styling conflicts.
While Tailwind CSS excels in conventional application architectures, it was never designed with large-scale federated frontend systems as a primary use case.
The problem was never subtle.
Once multiple Tailwind bundles were introduced into the module federation architecture, styling conflicts became immediately visible and could affect entire sections of the UI. Because the conflict originated from the interaction between independently generated CSS outputs sharing the same cascade, no practical or reliable fix existed without changing the underlying styling model itself.
The migration away from Tailwind was therefore not a preference change, but an architectural necessity.
PR #93 introduced a complete redesign of the internal UI library and styling architecture.
The new system is:
- Token-driven
- Component-based
- Fully independent of Tailwind CSS
- Designed specifically for module federation
- Built around a single shared UI contract
Rather than allowing each module to generate and ship its own CSS, all applications now consume UI primitives, tokens, and styling behavior directly from @lifeforge/ui.
This establishes @lifeforge/ui as the single source of truth for visual presentation across the entire platform.
As a result:
- Federated modules no longer bundle their own styling systems
- Visual behavior remains consistent regardless of module load order
- Styling ownership is centralized and predictable
- Cross-module cascade conflicts are eliminated by design
The migration introduced breaking changes and required substantial refactoring across the codebase, but it permanently resolved a class of architectural problems that could not be reliably addressed within the previous model.
Tip
The final Tailwind-based implementation has been preserved and remains available for reference.
- Legacy Release: https://github.com/Lifeforge-app/lifeforge/releases/tag/legacy-final
- Legacy Branch: https://github.com/Lifeforge-app/lifeforge/tree/legacy-final
The legacy version is no longer actively developed, but it may still be useful for historical reference, migration guidance, or reviewing previous implementations.
A self-hosted solution to streamline and organize all aspects of your life.
THIS PROJECT IS STILL IN EARLY DEVELOPMENT. FEATURES AND MODULES ARE SUBJECT TO CHANGE. PLEASE CHECK THE DOCUMENTATION FOR THE LATEST UPDATES.
- 📋 Table of Contents
- 🔥 Support the Author
- 🤔 The Problem
- ✅ The Solution
- 🧱 Modules
- 🖥 Screenshots
- ⌨️ Setup
- Contributing
- 💡 Credits
- 📄 License
People nowadays having tons of different apps to increase their productivity, but using too much apps distracts your focus.
Most software-as-a-service (SaaS) solutions are subscription-based, leading to recurring costs that can add up over time. Additionally, many of these services collect user data for advertising or analytics purposes, and even using those data for AI training, raising privacy concerns.
LifeForge is a personal management system designed to help you manage your life efficiently. Whether it's keeping track of tasks, organizing projects, setting personal goals, or managing financial statuses, LifeForge has got you covered.
With its modular architecture, you can customize LifeForge to fit your unique needs. Activate only the modules you require, keep yourself from a pile of unused features, and create a streamlined experience tailored just for you.
Built with privacy in mind, your data is stored locally on your own server or device (we do not host any servers too), which means you are in full control of your data. No telemetry, no data mining, just pure privacy.
LifeForge’s modular system is designed to empower users by providing a diverse range of tools and features tailored to their unique needs. Each module focuses on a specific aspect of life, such as productivity, finance, lifestyle, and learning, offering flexibility and customization. Whether you’re organizing your tasks, managing finances, or exploring creative pursuits, LifeForge’s modular design allows you to activate only the features you need, creating a personalized and streamlined experience.
Key highlights of the modules include:
- Productivity Tools: Boost efficiency with modules like the Todo List, Projects, Idea Box, and the Pomodoro Timer. These tools help users manage tasks, brainstorm ideas, and stay focused on their goals.
- Finance Management: Take control of finances using the Wallet, Wishlist, and Budget modules, offering tools for tracking expenses, saving for future goals, and planning budgets.
- Lifestyle Enhancements: Reflect and grow with the Journal and Achievements modules, or stay active with features like Workout tracking.
- Study Aids: Improve learning with the Flashcards, Notes, and CFOP Algorithms modules, ideal for students and lifelong learners.
- Storage Solutions: Organize books, photos, music, and more with modules like Books Library, Photos, and Guitar Tabs.
- Information Management: Stay informed and efficient with tools like the Mail Inbox and Changi Airport for specialized insights.
- Customization: Tailor the platform to individual preferences using the Personalization module for a unique user experience.
The modular approach ensures flexibility and scalability, allowing users to toggle on or off the features they need. Whether you’re a professional, a student, or a hobbyist, the system's diverse modules are designed to fit seamlessly into your lifestyle.
For the full list of modules, please visit here.
(The new module system, Forgistry is currently under development and will be released soon!)
The screenshots provided are just a glimpse of LifeForge. There's a lot more to explore and discover within the project.
LifeForge now supports Docker for easy deployment! 🐳 You can get up and running with just a few commands. For those who prefer manual installation, that option is still available.
Visit the Documentation to see how to install and setup.
We welcome contributions from the community! If you're interested in contributing to LifeForge, please check out our Contributing Guidelines.
As this project is still in its early stages, we highly encourage developers to make a discussion in the Discussions section before starting any significant work. This helps ensure that your contributions align with the project's goals and reduces the chances of duplicated efforts.
LifeForge's modular architecture allows developers to create and integrate their own modules seamlessly. If you're interested in developing a module, please refer to our Module Development Guide for detailed instructions and best practices.
If you have ideas for new features or have encountered any bugs, please submit them through the Issues section on GitHub.
However, if the feature is seems to be specific to a particular module, please refer to the specific module's repository for feature requests and bug reports.
We are looking for volunteers to help translate LifeForge into different languages. If you're interested, please follow the instructions in our Translation Guide.
However, for individual modules, please refer to the specific module's documentation for translation instructions.
LifeForge was inspired by the need for a unified personal management system that integrates various tools and resources to help streamline daily life, and also this project. For the full story, visit the Documentation.
Huge credits to the open-source community for their invaluable contributions, libraries, and tools that have made LifeForge possible.
That's a crazy exponential growth. Huge thanks to all of you guys supporting this project!
LifeForge is a project initiated by Melvin Chia, and is licensed under CC BY-NC-SA 4.0












