Skip to content

Repository files navigation

EvolveOS 🧠⚙️

A local-first Personal Growth Operating System.

EvolveOS is a productivity system built around one idea:

Your life deserves the same care as your codebase.

It combines daily planning, journaling, habits, tasks, projects, and Markdown-based notes into one focused workspace — designed to stay useful without depending on a constant internet connection.

Build systems. Grow daily.


✨ Why EvolveOS?

Most productivity software falls somewhere between a blank canvas and an overwhelming workspace.

EvolveOS takes a more opinionated approach.

Instead of giving you hundreds of disconnected features, it organizes personal management around a small set of systems:

Daily Life
    │
    ├── Journal
    ├── Tasks
    ├── Projects
    ├── Habits
    └── Notes
          │
          ▼
      Dashboard
          │
          ▼
    Review & Improve

The goal isn't to help you do more.

It's to help you build systems that make meaningful progress easier to repeat.


🚀 What You Can Do

📊 Personal Dashboard

The dashboard brings your most important information together in one place.

It provides quick access to:

  • Habit progress
  • Projects
  • Recent notes
  • Tasks
  • Journal entries
  • Calendar

📝 Markdown Notes

EvolveOS treats notes as structured, portable content rather than proprietary blocks.

The notes system includes:

  • Markdown-based editing
  • Rich text editing
  • Folder organization
  • Search
  • Formatting tools
  • Code blocks
  • Tables
  • Images
  • Links
  • Task lists
  • Text styling

The editor is built on Tiptap 3 with Markdown support.


📖 Journal

A dedicated journal workspace makes reflection part of the system rather than an afterthought.

Journal entries are organized around dates and designed for regular personal reflection.


✅ Tasks

Tasks provide a focused place to manage actionable work without turning the application into a full project-management suite.

Tasks can be organized alongside projects and surfaced directly from the dashboard.


📁 Projects

Projects provide a higher-level structure for grouping related work and connecting it with individual tasks.


🔁 Habits

Track recurring habits and visualize progress over time.

The dashboard includes a dedicated habit chart for quickly understanding consistency.


📅 Calendar & Time Awareness

EvolveOS includes calendar-based views and time-aware organization to help connect daily actions with longer-term planning.


📴 Offline-First by Design

EvolveOS is designed around the idea that your productivity system shouldn't disappear when your connection does.

The application uses browser-side persistence technologies including IndexedDB and local-storage-based state management. Its dependency stack also includes Serwist and Workbox for service-worker and caching functionality.

The production application configures a service worker with:

  • Precached application assets

  • Runtime caching

  • Navigation preload

  • Automatic client claiming

  • Offline-oriented navigation caching

The result

          Internet
             │
       ┌─────┴─────┐
       │           │
   Available    Unavailable
       │           │
       ▼           ▼
    Network     Local App
       │           │
       └─────┬─────┘
             ▼
       Continue Working

📱 Progressive Web App

EvolveOS is configured as a Progressive Web App.

Its web manifest defines:

  • Standalone display
  • App icons
  • Offline-oriented behavior
  • Productivity/lifestyle categories
  • Portrait orientation
  • Application theme configuration

This allows EvolveOS to feel closer to an installed personal application than a conventional website.


📸 Screenshots

Add real screenshots from the application before publishing this README.

Landing Page

EvolveOS landing page

Dashboard

EvolveOS dashboard

Notes

EvolveOS notes

Journal

EvolveOS journal

Habits

EvolveOS habits


🌐 Live Demo

Open EvolveOS →

Replace the placeholder above with the deployed application URL once the production deployment is available.


🏗️ Architecture

EvolveOS follows a feature-oriented Next.js architecture with a separation between routing, reusable UI, feature containers, hooks, utilities, and browser persistence.

┌──────────────────────────────────────┐
│              Next.js 16              │
│             App Router               │
└──────────────────┬───────────────────┘
                   │
        ┌──────────┴──────────┐
        │                     │
        ▼                     ▼
   Landing Pages          Dashboard
                              │
             ┌────────────────┼────────────────┐
             │                │                │
             ▼                ▼                ▼
          Journal           Tasks          Projects
             │                │                │
             └────────────────┼────────────────┘
                              │
                    ┌─────────┴─────────┐
                    │                   │
                    ▼                   ▼
                 Habits               Notes
                    │                   │
                    └─────────┬─────────┘
                              ▼
                    Client-side State
                              │
                  ┌───────────┴───────────┐
                  ▼                       ▼
              IndexedDB             Local Storage
                  │                       │
                  └───────────┬───────────┘
                              ▼
                       Service Worker
                           / PWA

Application structure

app/
├── dashboard/
│   ├── habits/
│   ├── journal/
│   ├── notes/
│   ├── projects/
│   ├── tasks/
│   └── page.tsx
│
component/
├── chart/
├── container/
├── dashboard/
├── dialog/
├── quickView/
├── section/
├── ui/
├── markdownEditor.tsx
├── navBar.tsx
└── ...
│
hook/
│
lib/
├── formSchema.ts
└── util.ts
│
type/
│
public/
└── ...

The repository reflects this separation directly: dashboard routes are split into dedicated feature areas, while reusable dashboard containers, charts, quick views, navigation, dialogs, and UI primitives live under component/.


🧠 Key Technical Decisions

Next.js App Router

Next.js 16 provides the application foundation and routing architecture.

The project uses the App Router to separate public-facing pages from the dashboard's feature-specific routes.


TypeScript

TypeScript is used throughout the application to keep components, forms, state, and application data strongly typed.


Tiptap for the Editor

Instead of building a Markdown editor from scratch, EvolveOS uses Tiptap as the foundation for its writing experience.

The project combines Tiptap's core/editor ecosystem with Markdown, code blocks, tables, task lists, highlighting, links, images, text styling, and other extensions.

This provides a rich editing experience while preserving a Markdown-oriented workflow.


Browser-Side Persistence

EvolveOS intentionally avoids making a remote database a requirement for its core productivity experience.

The dependency stack includes:

  • idb
  • use-db
  • use-local-storage-state

alongside the application's own client-side state and persistence logic.

This supports the local-first product philosophy.


Serwist + Workbox

Offline functionality is not treated as a marketing checkbox.

The application explicitly configures a service worker through Serwist and uses Workbox-based caching infrastructure.

The service worker enables:

  • Precached resources
  • Runtime caching
  • Navigation preload
  • Offline-friendly navigation
  • Immediate activation and client control

Component-Based UI

The UI is organized into reusable primitives and feature-specific components.

For example, the navigation system groups functionality into:

Core
├── Dashboard
└── Journal

Manage
├── Tasks
├── Projects
└── Habits

Write
└── Notes

This keeps the application's growing feature set navigable without turning the interface into an undifferentiated collection of pages.


🧩 Challenges & Solutions

1. Building a productivity system without cloud dependency

Challenge

Traditional productivity applications often assume:

User → Internet → Server → Database

That introduces unnecessary infrastructure and makes offline usage difficult.

Solution

EvolveOS moves much of the persistence layer into the browser and complements it with service-worker caching.

User
 │
 ▼
EvolveOS
 │
 ├── Client State
 ├── IndexedDB
 ├── Local Storage
 └── Service Worker

This makes local availability a fundamental part of the architecture rather than an additional feature.


2. Combining structured productivity with free-form writing

Challenge

Tasks and habits need structured data.

Notes and journaling need flexible writing.

Trying to force both models into the same interface usually creates friction.

Solution

EvolveOS separates structured systems such as tasks, projects, and habits from its Markdown-oriented writing experience.

This allows each part of the application to use the interaction model that fits it best.


3. Creating a useful dashboard without information overload

Challenge

A productivity dashboard can quickly become a wall of widgets.

Solution

The dashboard focuses on quick views of the most relevant systems:

  • Habit progress
  • Projects
  • Notes
  • Tasks
  • Journal
  • Calendar

The dashboard acts as an overview rather than becoming another place where the user has to manage everything manually.


4. Making the application feel like a real product

Challenge

A local productivity tool can easily feel like a collection of CRUD screens.

Solution

EvolveOS invests in product-level details:

  • Dedicated dashboard
  • Responsive navigation
  • Rich editor
  • Charts
  • Calendar views
  • Quick views
  • Dialog-based interactions
  • PWA support
  • Offline caching
  • Consistent UI primitives

The result is intended to behave as one cohesive operating system for personal growth rather than a collection of unrelated utilities.


🛠️ Tech Stack

Technology Purpose
Next.js 16 Application framework
React 19 UI
TypeScript Type safety
Tailwind CSS 4 Styling
Tiptap 3 Rich Markdown-oriented editor
IndexedDB Local persistence
Serwist Service worker / PWA infrastructure
Workbox Caching strategies
Recharts Data visualization
React Hook Form Form management
Zod Validation
Framer Motion Animation
Radix UI Accessible UI primitives
Lucide React Icons
next-themes Theme management

The stack is reflected directly in the project's current dependencies.


⚙️ Getting Started

Prerequisites

  • Node.js 20+
  • npm, pnpm, yarn, or Bun

No external database or API credentials are required by the current package configuration.


1. Clone the repository

git clone https://github.com/tasha-dev/evolveos.git
cd evolveos

2. Install dependencies

npm install

3. Start the development server

npm run dev

The development script runs Next.js using Webpack.

Open:

http://localhost:3000

4. Create a production build

npm run build

5. Start the production server

npm run start

The repository currently defines dev, build, and start scripts; there is no lint script in package.json, so the setup instructions intentionally do not include a nonexistent npm run lint.


📁 Project Structure

evolveos/
├── app/
│   ├── dashboard/
│   │   ├── habits/
│   │   ├── journal/
│   │   ├── notes/
│   │   ├── projects/
│   │   ├── tasks/
│   │   └── page.tsx
│   ├── globals.css
│   ├── layout.tsx
│   ├── manifest.ts
│   ├── page.tsx
│   └── sw.ts
│
├── component/
│   ├── chart/
│   ├── container/
│   ├── containerItem/
│   ├── dashboard/
│   ├── dialog/
│   ├── quickView/
│   ├── section/
│   ├── ui/
│   ├── markdownEditor.tsx
│   ├── navBar.tsx
│   └── ...
│
├── hook/
├── lib/
├── type/
├── image/
├── public/
│
├── next.config.ts
├── package.json
└── README.md

🌱 Philosophy

EvolveOS is built around a simple belief:

Clear systems beat motivation.

Motivation fluctuates.

Systems compound.

A useful personal operating system should make it easier to:

  • Decide what matters
  • Capture thoughts
  • Track commitments
  • Review progress
  • Maintain habits
  • Learn from each day
  • Improve the system itself

EvolveOS is an experiment in building exactly that.


🗺️ Project Status

EvolveOS is currently a personal and experimental project.

The architecture and feature set are evolving alongside the product itself.

The long-term direction is to continue exploring:

  • Better personal workflows
  • Deeper offline capabilities
  • More powerful Markdown workflows
  • Better analytics and reflection
  • More automation
  • Stronger data portability
  • A more complete personal operating system

🤝 Contributing

EvolveOS is currently primarily a personal project, but contributions, ideas, and feedback are welcome.

You can:

  • Open an issue
  • Suggest a feature
  • Discuss architecture
  • Submit improvements
  • Share UX ideas

For larger changes, opening an issue first is recommended so the direction can be discussed before implementation.


📄 License

EvolveOS is released under the MIT License.

See LICENSE for details.


🔗 Links


Build systems. Grow daily.

Built with Next.js, TypeScript, React, and a local-first mindset.

About

EvolveOS is a local-first, markdown-powered personal growth system built for clarity, structure, and long-term consistency.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages