Repolode
successible

successible/cleanslate

A free, self-hostable calorie tracker built for people who struggle with binging, dieting, or logging food consistently.

Open-source alternative to:MyFitnessPalLose It!

Stars
237
Forks
26
Open issues
2
Last commit
5 days ago

What is it?

Clean Slate is a calorie tracker focused on logging food without judgment. Users can search and log foods, quick-add calories and protein, create custom foods and recipes, scan barcodes via Open Food Facts, and track exercise and meals. It runs in any web browser.

You can use the hosted instance at cleanslate.sh with free accounts, or host it yourself on a Linux server using Docker Compose and Caddy for automatic HTTPS. The default authentication uses a long randomly generated API token per user, while Firebase login (Apple, GitHub, Google) is available as an optional, more complex setup.

The frontend is built with React, TypeScript and Next.js, using Hasura over PostgreSQL as the backend. Data is exposed through a GraphQL API covering logs, foods, recipes, ingredients, exercise and profiles.

Key features

  • 01Search and log foods, with barcode scanning via Open Food Facts
  • 02Quick-add calories and protein without a full food entry
  • 03Create custom foods and recipes with ingredients
  • 04Track exercise and meals
  • 05Works in any device browser
  • 06Self-host with Docker Compose and automatic HTTPS through Caddy

Use cases

  • Someone who wants a calorie log without strict dieting rules or guilt-inducing feedback
  • A privacy-minded user hosting a personal calorie tracker on their own server
  • A small group sharing a self-hosted instance with token-based accounts
  • A developer querying personal nutrition logs through the GraphQL API

Quick start

  1. 1

    Clone the repository

    git clone https://github.com/successible/cleanslate
  2. 2

    Generate the .env and Caddyfile files

    bash configuration.sh
  3. 3

    Pull the images and start the servers

    git pull origin main; bash deploy.sh

Things to know

  • Self-hosting needs a Linux server with Docker, Docker Compose and a domain name with HTTPS.
  • Firebase authentication is complex to set up; the default apiToken login is simpler.

In collections

Topics

FAQ

What is cleanslate?
A free, self-hostable calorie tracker built for people who struggle with binging, dieting, or logging food consistently. Clean Slate is a calorie tracker focused on logging food without judgment. Users can search and log foods, quick-add calories and protein, create custom foods and recipes, scan barcodes via Open Food Facts, and track exercise and meals. It runs in any web browser.
Is cleanslate free to use? What license does it have?
cleanslate is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is cleanslate still maintained?
Actively maintained. The last commit to cleanslate was on Nov 2, 2026.
What can I use cleanslate for?
Someone who wants a calorie log without strict dieting rules or guilt-inducing feedback A privacy-minded user hosting a personal calorie tracker on their own server A small group sharing a self-hosted instance with token-based accounts A developer querying personal nutrition logs through the GraphQL API
How do I install cleanslate?
Clone the repository: git clone https://github.com/successible/cleanslate Generate the .env and Caddyfile files: bash configuration.sh Pull the images and start the servers: git pull origin main; bash deploy.sh
Where can I get cleanslate?
The source code and installation instructions are on GitHub: https://github.com/successible/cleanslate

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects