SkillAgentSearch skills...

OpenHabitTracker

C# .NET 9 Blazor habit tracker application. Works on Web, Windows, Linux, Android, iOS and macOS.

Install / Use

/learn @Jinjinov/OpenHabitTracker

README

OpenHabitTracker

https://openhabittracker.net

App:

https://pwa.openhabittracker.net

Take Markdown notes, plan tasks, track habits

  • Free and Ad-Free
  • Open Source
  • Privacy Focused: All user data is stored locally on your device
  • Available on Windows, Linux, Android, iOS, macOS, and as a web app
  • Localized to English, German, Spanish, Slovenian, French, Portuguese, Italian, Japanese, Chinese, Korean, Dutch, Danish, Norwegian, Swedish, Finnish, Polish, Czech, Slovak, Croatian, Serbian

Key Features:

  • Markdown support for notes
  • Use categories and priorities to organize your notes, tasks, and habits
  • Advanced Search, Filter, and Sort
  • Data Export/Import: JSON, YAML, TSV, Markdown
  • Import your notes from Google Keep
  • Available in 26 themes with Dark and Light modes

Stores:

Windows:
<img src="OpenHabitTracker.Web/icons/Microsoft.svg" height="48">

Linux - Flathub:
<img src="OpenHabitTracker.Web/icons/Flathub.svg" height="48">

Linux - Snap Store:
<img src="OpenHabitTracker.Web/icons/SnapStore.svg" height="48">

Android:
<img src="OpenHabitTracker.Web/icons/Google.svg" height="48">

iOS:
<img src="OpenHabitTracker.Web/icons/AppStore.svg" height="48">

macOS:
<img src="OpenHabitTracker.Web/icons/MacAppStore.svg" height="48">

Android - APKPure:
<img src="OpenHabitTracker.Web/icons/APKPure.svg" height="48">

Docker image contains a Blazor Server app for one user

https://hub.docker.com/r/jinjinov/openhabittracker

https://github.com/Jinjinov/OpenHabitTracker/pkgs/container/openhabittracker

Set your username and password with environment variables:

.env

APPSETTINGS_USERNAME=admin
APPSETTINGS_EMAIL=admin@admin.com
APPSETTINGS_PASSWORD=admin
APPSETTINGS_JWT_SECRET=your-extremely-strong-secret-key

Replace your-extremely-strong-secret-key in Windows terminal:

[System.Convert]::ToBase64String([System.Security.Cryptography.RandomNumberGenerator]::GetBytes(32))

Replace your-extremely-strong-secret-key in Linux / macOS terminal:

openssl rand -base64 32

docker-compose.yml

services:
  openhabittracker:
    image: jinjinov/openhabittracker:latest
    ports:
      - "5000:8080"
    environment:
      - AppSettings__UserName=${APPSETTINGS_USERNAME}
      - AppSettings__Email=${APPSETTINGS_EMAIL}
      - AppSettings__Password=${APPSETTINGS_PASSWORD}
      - AppSettings__JwtSecret=${APPSETTINGS_JWT_SECRET}
    volumes:
      - ./.OpenHabitTracker:/app/.OpenHabitTracker

After you login at http://localhost:5000/login you can use the same browser tab to access:

  • logs: http://localhost:5000/watchdog
  • OpenAPI json: http://localhost:5000/openapi/v1.json
  • OpenAPI UI: http://localhost:5000/scalar/v1

Made with:

Runs with:

Desktop videos:

Notes, Tasks, Habits

Search, Settings

Desktop screenshots:

Phone screenshots:

Related Skills

View on GitHub
GitHub Stars220
CategoryDevelopment
Updated19h ago
Forks16

Languages

C#

Security Score

100/100

Audited on Mar 23, 2026

No findings