Mainframe is a self-hosted web application focused on personal productivity for individuals, families, and small trusted groups. It aims to consolidate everyday tools—such as recipes, calendars, shared lists, and passwords—into a single, ad-free platform that prioritizes simplicity, control, and ease of use.
The primary goal of Mainframe is to handle common day-to-day coordination and organization tasks without relying on third-party SaaS platforms, external services, or advertising-driven products.
- Self-hostable first – Designed to be easy to run privately, with minimal external dependencies.
- No ads, no tracking – Mainframe is intended for personal use, not monetization through user data.
- Simple over exhaustive – Features are intentionally scoped to avoid unnecessary complexity.
- Modular access – Users can opt into only the applications they want to use.
- No email dependency – The platform does not send emails and does not require an email server.
🚧 Early Development / Design Phase
Mainframe is under active development and is not yet feature-complete or production-ready.
- Backend web server with basic HTTP routing
- Cookie-based authentication (early implementation)
- Backend-hosted frontend
- Basic landing page and layout shell
- No fully implemented applications (recipes, calendars, lists, passwords)
- No finalized data models
- No permissions or group management UI
- No TOS or Privacy Policy (planned)
Breaking changes should be expected at this stage.
A recipe management application supporting both personal and shared use.
Planned capabilities:
- Private recipes
- Public recipes
- Group-shared recipes
- Optional collaborator access for editing recipes
Ownership note:
- Currently, recipes are owned by the creating user and are removed if that user account is deleted.
- A future Terms of Service may allow public recipes to be anonymized and retained for platform stability.
A simple, interactive calendar focused on everyday scheduling.
Planned capabilities:
- Personal calendars
- Shared and group calendars
- Add events to specific days with optional time ranges
- In-app notifications ("remind me")
Explicitly out of scope:
- Email notifications
- Location-based features
- External calendar integrations (for now)
A lightweight password vault intended for personal and family use.
Planned capabilities:
- Private password vault per user
- (Under consideration) Shared/group vaults for common credentials
Security notes:
- User login passwords are hashed using Argon2id
- Vault entries are encrypted using SHA-256
- Users must provide their application password to decrypt private vaults
Important:
- Group/shared vault handling is still under design
- This is not intended to replace full-featured password managers like Bitwarden
A generic list system designed to be flexible and reusable.
Planned capabilities:
-
Arbitrary list types (todos, shopping lists, notes, etc.)
-
Shared lists
-
Granular permissions:
- View-only
- Edit
- Full control
-
Optional tagging system for organization and filtering
- Users can opt into specific applications (recipes, calendar, lists, passwords)
- Access is granted per application, not globally
- Groups are shared across applications
- Permissions follow a least-privilege-by-default model
- User provisioning is managed by the host administrator
Mainframe is designed to be:
- Hosted by the author for personal and family use (behind Cloudflare)
- Easily self-hosted by technically inclined users
The goal is to make private deployment straightforward without requiring complex infrastructure.
- Privacy Policy
- Terms of Service
- Finalized cryptographic design for shared password vaults
- Admin and user management UI
- Application-specific UIs
- Basic HTTP server
- Cookie-based authentication
- Database schema design
- Landing page scaffold
- Basic routing for apps
- Create/Edit Users
- Reset Passwords
- Disable Users
- Edit profile/reset own password
- Private recipe CRUD
- Public recipes
- Group sharing
- Optional collaborator editing
- Event creation and editing
- Shared/group calendars
- In-app notifications
- Private vault per user
- Encryption implementation
- Shared/group vault handling (under design)
- Generic list creation
- Shared lists with permissions
- Tagging/filter system
This project is licensed under the MIT License.
Mainframe is currently a personal project with long-term maintenance goals. Contributions may be considered in the future once the core architecture stabilizes.