manage-my-damn-life-nextjs is a free, open source project & work management project written in JavaScript and released under GPL-3.0. It has 636 GitHub stars, 42 forks and 36 open issues, and was last pushed 5 days ago. On this registry it ranks #56 of 62 tracked projects in Project & Work Management, with 5 head-to-head comparisons available.

What is manage-my-damn-life-nextjs?

Manage My Damn Life (MMDL) is a self-hosted, GPL-3.0 licensed frontend for managing CalDAV tasks and calendars, built for people who keep their task and calendar data on their own CalDAV server and want a desktop-style interface on top of it.

What it is

MMDL is a JavaScript application, named after the Next.js framework it is built on, that acts as a front end over CalDAV. Rather than storing tasks and events itself, it connects to an existing CalDAV server and presents the data held there in a task-first interface. It has been tested against Nextcloud, Radicale, and Baikal, and it reaches those servers through the "tsdav" library, so it should work with any server that library supports. It supports OAuth authentication for CalDAV accounts, with Google Calendars supported as of now.

The concrete problem it solves is the gap between what CalDAV servers provide and what task management needs. A CalDAV server stores VTODO and VEVENT records correctly, but the interface it ships is usually calendar-shaped rather than task-shaped, and mobile clients such as JTX Boards and OpenTasks cover phones rather than desktops. MMDL fills that space with a desktop-first client that treats tasks as the primary object, supports subtasks and fields such as due date, status, description, and recurrence, and renders the same data as a list, on a calendar, or in a Gantt view. The project is in beta state, and the README warns against working with production data without care.

Key capabilities

  • Manages CalDAV tasks, including sub tasks and fields such as due, status, description, and recurrence.
  • Manages calendar events alongside tasks in the same interface.
  • Supports multiple CalDAV accounts and multiple user accounts.
  • Displays tasks as a list, in a Gantt view, or on a calendar, with task filters that can be created and managed.
  • Authenticates against CalDAV accounts over OAuth, with Google Calendars documented in docs/Feature Guide/GoogleCaldav.md.
  • Connects through the "tsdav" library, with Nextcloud, Radicale, and Baikal named as tested servers.
  • Offers a "responsive-ish" view, though the project is explicitly desktop first.

Who uses it and how

  • Self-hosters already running a CalDAV server such as Nextcloud, Radicale, or Baikal who want a dedicated task interface in front of it.
  • Households or small teams that need several user accounts and several CalDAV accounts managed from one deployment.
  • Google Calendar users who authenticate over OAuth rather than configuring a CalDAV password.
  • Desktop users who keep JTX Boards or OpenTasks on their phones and want the same underlying data presented for larger screens.
  • Translators contributing through Weblate, which the project uses to manage translations.

Getting started

The installation documentation lives at docs/install/index.md, and deployment is self-hosted rather than offered as a hosted service. Google CalDAV setup has its own guide at docs/Feature Guide/GoogleCaldav.md.

How it compares

The facts name no paid products that MMDL replaces, so placement is among the tools it mentions. JTX Boards and OpenTasks are the mobile clients the README points to, and MMDL is deliberately the desktop counterpart to them rather than a competitor. It also sits alongside the CalDAV servers it has been tested with, since those provide storage while MMDL provides the task-oriented view.

When to use it — and when not to

A self-hoster must already operate, or be willing to operate, a CalDAV server such as Nextcloud, Radicale, or Baikal, since MMDL is a frontend and holds no data of its own. Anyone whose primary device is a phone should look at JTX Boards or OpenTasks instead, because this is a desktop-first project, and the beta status plus 36 open issues mean production task data carries risk. The README also lists incomplete work, including full RFC 5545 field coverage for VTODO and VEVENT, drag and drop for tasks, and plugin support, all of which remain planned rather than delivered.

project readme (upstream, from github) — read inline

Introduction

Manage my Damn Life (MMDL) is a self hosted front end for managing your CalDAV tasks and calendars.

This project is in beta state, so be careful if you're working with production data.

Demo Task View Home GanttView

More screenshots are available in the directory '/docs/pics/screenshots'

Features

  1. Manage your CalDAV tasks.
    • Supports sub tasks.
    • Supports many fields like due, status, description, recurrence, and more
  2. Manage calendar events.
  3. Supports multiple CalDAV accounts, and multiple user accounts.
  4. View your tasks as a list, in a gantt view, or on a calendar.
  5. Create and manage task filters to view your tasks as you see fit.
  6. "Reponsive-ish" view. This is a desktop first project, as multiple clients like JTX Boards, OpenTasks exist for mobile.
  7. OAUTH support

Planned features

  1. Support all fields for VTODO and VEVENT as described in RFC 5545.
  2. More flexible ways to view tasks, and customisable views.
  3. Drag and drop capability for tasks
  4. Ability to create external plugins.

Compatibility

This client has been tested with Nextcloud, Radicale, and Baikal. MMDL uses "tsdav" library for CalDAV access, so it should support all servers supported by tsdav.

MMDL also supports OAuth authentication for CalDAV Accounts. As of now, Google Calendars is supported. To get started, checkout the guide here.

Getting Started

To get started, you can checkout installation documentation here.

Translation

This project uses Weblate for managing translations.

Translation status

Frequently asked questions

Is manage-my-damn-life-nextjs free to use?

manage-my-damn-life-nextjs is open source under the GPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does manage-my-damn-life-nextjs do?

Manage My Damn Life (MMDL) is a self-hosted frontend for managing your CalDAV tasks and calendars.

What is manage-my-damn-life-nextjs written in?

manage-my-damn-life-nextjs is primarily written in JavaScript. Its source is publicly available at https://github.com/intri-in/manage-my-damn-life-nextjs, and it has 636 GitHub stars.