简体中文 | English
"Reintegrate the scattered fragments of oneself"
A digital second brain that combines note-taking with emotional visualization, helping you record thoughts, track moods, and integrate the scattered fragments of daily life.
I realized that even though I have memorable moments every day, they gradually fade away over time. So I wanted to develop an app to organize my scattered life fragments, allowing me to recall the scenes and moods of those moments later. That's how Mosaic was born.
Smart Note System
- Rich text editor supporting Markdown and HTML for freer writing
- AI-powered automatic tag extraction for smarter categorization
- AI summary generation for quick review of key points in long texts
Mood Diary
- Daily mood recording to track emotional changes
- Visualized mood history to discover emotional patterns
Cross-Platform Support
- Mobile: iOS, Android
- Cloud data sync, access anywhere
iOS support is tested but pending Apple Developer Program enrollment for distribution. Will do.
demo.mp4
Mosaic/
├── mobile/ # Expo mobile application
├── server/ # Rust backend service
├── packages/ # Shared packages
│ ├── api/ # API type definitions
│ └── utils/ # Utility functions
└── docs/ # Documentation
- Mobile: Expo React Native
- Server: Rust + Actix Web + PostgreSQL
- AI Integration: Supports multiple AI service providers
- For data security, you first need to deploy your own Mosaic backend service on your own server to manage your private data
mkdir mosaic-servercd mosaic-server- Create a
.envfile in this folder, refer to .env.example for content, and modify the configuration items as needed (remember to change the username and password) - Also create a
docker-compose.ymlfile in this folder, simply copy docker-compose.yml - Go back to the mosaic-server folder and run
docker-compose up -dto start - Note: If you encounter permission issues with file uploads, run
chown -R 1000:1000 ~/mosaic-server/storage ~/mosaic-server/logsto fix directory permissions - Afterwards, you can configure reverse proxy to your own domain
- Download the client from releases and connect to your own server
This project is open-sourced under the AGPL-3.0 license.