mainmates is an app born of my own frustration at barely remembering friends' kids names, pet names, and generally feeling disconnected. It's a personal, private (but social) app that helps you to feel more connected to the people who matter in your life.
- Keep track of life events and conversations with your friends and family
- Add the big (and little) details like family and pets
- Offline-first; you don't have to sign up or share your details with anyone
- Runs on any browser, desktop or mobile. Your data is saved automatically
- Online sync support (coming soon)
WARNING: This is alpha software, and I'm working towards a 1.0 public release. There is currently no sync or backup feature, and the app will change a lot before it gets to 1.0, which may result in loss of your data. Until the 1.0 release, you're advised not to enter any data into this app which you're not prepared to lose.
What's been done / what's to be done:
- Show friends list
- Add a data access layer that supports future syncing (Pouch DB)
- Add a friend feature
- Add a note feature
- Edit existing notes
- Export friends and notes (with help text / flow)
- Add spouse / children / pet information
- First-time intro / onboarding flow
mainmates is a JavaScript application that runs in your web browser. It stores your personal data entirely in your browser, with the help of a library called PouchDB. You don't need to register for an account, or upload your data to a server if you don't want to.
Although it's a web application, it's designed mainly to be installed onto your smartphone, for quick access. In fact, that's how I use it. It's not available in any of the app stores yet, but to install it on iOS, go to the address below in Safari, tap Share and then tap Add to Home Screen (or words to that effect).
In future, I'm planning to add cloud syncing, so that you can sync your data with a remote server, and access your data from your laptop, or another device.
- Install as an app on your phone: visit https://monodot.github.io/mainmates, then tap the Share button and the Add to to Home Screen (iOS).
- All of your data stays in your browser, and remains private to you.
- Or, you can go to the same address in your desktop web browser (but there's no sync feature yet, so your data won't be shared between devices)
Warning: This app runs entirely in your web browser, with no sync support yet. If you clear your web browser's cache, you will destroy all of your personal data. You will also lose all of your data if you access the app in a Private Browsing window/session.
To hack on mainmates you probably want to serve it from a local web server. If you've got Python installed, you can use that as a simple web server:
git clone https://github.com/monodot/mainmates
cd mainmates/app
python -m http.server 8000
Then go to http://localhost:8000.
Self-hosting instructions to follow.
Source code (c) 2024 Tom Donohue. Licensed under the GNU Affero Public License (AGPL). See LICENSE
for full license terms.