MyLife is a groundbreaking initiative aimed at capturing and preserving the essence of human experiences for future generations. We believe in the power of personal stories, memories, and media to shape our understanding of the human condition. Our platform provides a unique, enduring, and internet-based solution for individuals to record and showcase their life stories. Additionally, with a raft of bot-assistants, ranging from personal admin to creative writing assistance to health tracking and monitoring to much more, you have access to powerful intelligent tools to help you manage and create in your daily life.
MyLife Member Services are currently in closed alpha, but rolling admission to the alpha is granted every Monday, and you can register for free either at the MyLife website or our GPT-Store. We cannot wait to be able to provide these services to every human on earth, as MyLife fundamentally believes that a smarter humanity that leverages smarter tools will become a safer, more secure, and more ethical humanity.
The MyLife platform offers a comprehensive suite of services that leverage advanced AI technology to enhance digital experiences for its members. The key features and services available to MyLife members are as follows:
AI-Avatars
Bot Functionality
My Indiverse:
Protected Web-Browsing:
Full-Spectrum Permissioning:
Technical Assistance Services:
Contribution to My Indiverse:
Platform Improvement Suggestions:
In summary, MyLife's Member Services are designed to provide a rich, interactive, and personalized digital experience, leveraging AI technology to meet a wide range of member needs and preferences. The platform's focus on creativity, customization, and member contribution makes it a unique space for personal and community growth.
This guide will help you get the MyLife Member Services application up and running on either your local development machine or even a hosted member services solution. We'll walk you through setting up your environment, installing the necessary dependencies, and starting the application.
We do not yet have a team focused on local implementation details, and these instructions were only tested on VSCode running on a Windows 11 OS.
Before you begin, ensure you have the following installed on your machine:
Clone the repository: First, clone the MyLife Member Services repository to your local machine using Git. Open your terminal, navigate to the directory where you want to store the project, and run:
git clone https://github.com/MyLife-Services/mylife-maht.git
cd mylife-maht
Install dependencies: Once you have the project on your machine, you need to install its dependencies. Run the following command in the root directory of the project:
npm install
This command reads the package.json
file and installs all the required Node.js packages listed in it.
Environment Setup: The application requires an environment setup. Create a .env
file in the root of your project and add the necessary environment variables. Refer to the provided .env.example
file for required keys. MyLife plans to offer self-retrieval keys for any data transfers, but for the time being, if you wish to run a hosted solution for friends, family or other community congregation, you will have to be vetted internally by connectingm with our technical leads @stratfordCircle Steve Kenney or @Mookse Erik Jespersen also reachable at mylife.president@gmail.com.
Run the application: After installing the dependencies and setting up the environment, you can start the application.
npm run dev
npm start
This should start the server, typically on http://localhost:3000
. Open a web browser and navigate to this URL to interact with the application.
Congratulations! You should now have the MyLife Member Services application running on your local machine. For further information on usage and development, refer to the subsequent sections of this README.
The architecture of MyLife Member Services is meant to be scalable from production-level down to self-hosting, an intended architectural feature of the platform, enabling anyone world-wide to host an instantiation of MyLife Services for a group or coalition of members, so long as those users are registered and validated within the mainframe itself.
MyLife itself is an open-source project and, aside from LLM technologies at the core of its intelligence, it is built on open-source technologies. This architecture integrates various technologies and npm packages, enabling a diverse set of functionalities such as member login, bot-legion capabilities, and session management.
Server-Side Application
Data Handling and Services
mylife-data-service.js
file.Dataservices
class) to manage interactions with the data layers, offering methods for CRUD operations, handling avatars, bots, alerts, and other core elements.Bot Functionality and Intelligence Management
mylife-avatar.mjs
and mylife-factory.mjs
files.Session Management
MylifeMemberSession
class, handling user sessions, consents, and alerts.Routing and API Handling
Front-End Interaction
Core Dependencies
koa
and related packages (koa-router
, koa-static
, koa-body
, etc.) for web server framework.openai
for integrating OpenAI's GPT models.azure/cosmos
and pg
for interacting with Azure Cosmos DB and PostgreSQL databases.events
for event emission handling.chalk
for terminal string styling.Utilities and Helpers
ajv
for JSON schema validation.js-guid
for GUID generation.marked
for markdown parsing.Development Tools
eslint
for code linting.nodemon
for automatically restarting the node application when file changes are detected.Miscellaneous
url
, path
, fs
, util
, and other Node.js built-in modules for various utility functions.While API interactions could certainly be divined by code review, we have currently not pointed an intelligence at it, but it will arrive soon.
This project is licensed under the MIT License - see the LICENSE file for details.
Copyright (c) 2024 MyLife
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
You may contact either Erik Jespersen @Mookse or Steve Kenney @stratfordCircle at github with any technical questions. Additionally, you could visit the main MyLife website at mylife.president@gmail.com.