Skip to content
This repository was archived by the owner on Nov 27, 2025. It is now read-only.

jodi-ivan/go-cal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍽️ go-cal — Intermittent Fasting, Calories & Hydration Tracker

A Go + Fyne desktop app experiment (archived project)

go-cal is a local-first wellness tracking app built with Go, Fyne (GUI framework), and SQLite3. It was designed as an experiment to explore:

  • cross-platform desktop GUI in Go
  • custom widget development
  • SVG-based data visualization
  • local persistence without external services

🖼️ Screenshots

Daily Dashboard & Weight Graph

Dashboard

Food Logging

(custom time selector, icons, and estimated calories calculation) Food logging

Liquid Logging

(custom time selector, icons, and estimated calories calculation) Liquid logging

✨ Features

🍽️ Calorie Tracking

  • Select food type using custom icon widgets
  • Manual or estimated calorie input
  • Daily calorie progress bar
  • Designed for quick meal logging

💧 Hydration Tracking

(Partially implemented)

  • Daily liquid intake target
  • Zero external API usage — fully offline

🕑 Fasting Timer

  • Start / stop fasting
  • Real-time fasting duration indicator
  • Donut progress chart (custom-rendered)

📊 Weight Graph

  • Fully custom SVG line graph renderer
  • SQLite-powered history
  • Smooth multi-day display logic

🎨 Custom Widgets & Components

  • Time picker widget
  • SVG graph renderer
  • Custom popup and modal windows
  • Category buttons (rice, meat, snack, fruit, etc.)

💾 Local Storage (SQLite3)

  • No cloud, no account, no external services
  • Fully private and offline
  • Tiny portable app

🛠️ Tech Stack

Area Technology
Language Go (Golang)
GUI Framework Fyne
Database SQLite3
Rendering Custom SVG + Canvas Drawing
Platform Linux (primary), cross-platform

🚧 Planned But Not Completed

These were originally on the roadmap but the project was discontinued early:

  • Full implementation Liquid intake tracking
  • Weight history input improvements
  • Calorie & hydration daily target customization
  • Multi-day fasting summaries
  • Manual exercise logs

🟡 Project Status: Archived

I eventually moved to a web-based fasting tracker that met my needs, so development stopped. This repository is published publicly to showcase:

  • Go GUI development
  • custom SVG visualization
  • local-first application design
  • exploration of Fyne widget system

🧩 Development Notes

This project contains several TODO and FIXME comments across the codebase. These reflect design ideas, UI improvements, and planned refactoring that were never fully implemented before the project was archived.