# Data Goblin

**Data Goblin** is a small personal logging system for hoarding tiny daily truths.

It is intended to replace a manual Markdown-based daily log with a simple SQLite-backed CLI tool. The first goal is to make day-to-day logging fast, pleasant, and expandable without turning the project into a spreadsheet dragon.

The command-line tool is planned to use the short name:

```sh
dg
```

Possible future service/domain name:

```text
goblin.perlw.se
```

## Project Goals

Data Goblin should help track personal day-to-day data such as:

- mood
- sleep duration and sleep quality
- coffee intake
- tooth comfort or other symptoms
- painkiller use
- blood pressure readings
- notes
- weather and atmospheric pressure from SMHI

The system should make it easy to log things quickly throughout the day and later look for patterns or correlations.

## Core Idea

Data Goblin stores information in a local SQLite database.

The main categories are:

```text
daily logs       one row per day
symptoms         daily severity values, such as tooth comfort
events           timestamped things that happened
measurements     structured health readings, such as blood pressure
weather          external weather/pressure data, eventually from SMHI
```

## Initial CLI Examples

```sh
dg init

dg add --mood 7 --sleep 6.5 --sleep-quality 6 --notes "jaw annoying, otherwise okay"
dg symptom tooth_comfort 4

dg coffee
dg event walk --amount 25 --unit min

dg today
dg show 2026-05-05
dg events --date 2026-05-05
```

## Design Principles

- CLI first.
- SQLite as the source of truth.
- REST API later, only after the core model feels stable.
- Keep daily summaries separate from timestamped events.
- Keep structured health measurements in dedicated tables.
- Avoid overengineering early.
- Make frequent logging pleasant and fast.

## Aesthetic Direction

Data Goblin should have a small, cozy CLI personality.

Example status messages:

```text
[dg] hoarded event: coffee +1 ✓
[dg] symptom noted: tooth_comfort = 4 ✓
[dg] today’s leaf tucked into the hoard ✓
```

The mascot is a tiny chibi data goblin with huge glasses, a notebook, and an unreasonable commitment to hoarding tiny facts.

## Current Status

Planning stage.

The first milestone is **v0.1**, focused on local SQLite logging and a minimal CLI.