Skip to content
comitanigiacomoPublic

About

Minimalist habit tracker built with React, TypeScript, and Go, based on kanso philosophy

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

Kanso Web

Kanso Web is the frontend for the Kanso ecosystem, a minimalist habit tracker I built to help me stay productive and keep track of my daily goals.

The entire business logic and data management are handled by a dedicated backend: kanso-sync-engine.

The Concept: Kanso (簡素)

The aesthetic and soul of this app are deeply rooted in the Japanese concept of Kanso, which literally means "simplicity" or "plainness."

Kanso focuses on the elimination of the unnecessary and the exclusion of clutter to achieve a clean, distraction-free environment. I believe this philosophy is perfect for a habit tracker: instead of overwhelming you with gamification or complex charts, Kanso provides a calm, minimal space where you can focus on your progress without any external noise.

Preview

alt text

alt text

alt text

Although the app is primarily designed as a PWA to be installed on your phone's home screen for daily use, I also built a dedicated desktop view to ensure a great experience even when working from a computer.

alt text

Infrastructure & Deployment

The entire ecosystem is Self-Hosted on my home server.

Live URL: https://kanso.jack-lab.dev

Key Features

Beyond the basic habit list, the app includes a secure login system using JWT tokens to keep data private and a simple dashboard to check weekly consistency. Since it's a PWA, you can also install it on your phone's home screen to use it more easily.

Local Setup

To run the full Kanso ecosystem locally, you'll need to have both the frontend and the backend repositories.

  1. Backend: first, clone the backend repository and start the necessary services (PostgreSQL and Redis) using Docker. From the backend root, run:
docker-compose up -d

This ensures your local database and cache are ready. Then, start the Go server (usually on port 8080).

  1. Frontend Environment: Clone this repository and create a .env file in the root. You need to tell the frontend where to find the local API:
VITE_API_URL=http://localhost:8080

This variable is crucial because the app uses it to build the base URL:

const API_BASE = import.meta.env.VITE_API_URL || ''; 
const API_URL = `${API_BASE}/api/v1`;

If VITE_API_URL is missing or wrong, the app won't be able to communicate with the Go engine.

  1. Start Developing: Once the backend is up and your .env is set, install the dependencies and launch the dev server:
npm install
npm run dev

Acknowledgments

AI tools were used to assist with code generation to speed up development.

About

Minimalist habit tracker built with React, TypeScript, and Go, based on kanso philosophy

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages