Catalogo ›Vita personale ›Benessere
Tracker abitudini quotidiane — con streak automatico
Costruire un'abitudine è questione di costanza, e vedere la propria serie di giorni consecutivi — lo «streak» — è il modo più semplice per restare motivati. Qui segni ogni volta che fai un'abitudine (bere due litri d'acqua, leggere venti minuti, meditare) e l'app calcola da sola da quanti giorni di fila la stai rispettando, senza account né dati che lasciano il dispositivo.
Cosa registra
- es. Bere 2L d'acqua, Leggere 20 minuti
Come funziona
Questa è un'app Reactive: un semplice documento di testo che il browser trasforma in un'app funzionante — moduli, dati dal vivo, tabelle, statistiche e persino grafici, senza installare né configurare nulla.
- Usala subito. Premi «Usa questa app»: si apre subito nel tuo browser, già pronta, con i dati salvati solo sul tuo dispositivo.
- I tuoi dati restano tuoi. Tutto è memorizzato in locale sul dispositivo, separato per ogni app: niente account, niente server, niente da configurare.
- Rendila tua. Il testo qui sotto è l'app per intero: copialo, cambia campi, viste e parole, e le modifiche diventano subito interattive.
- Condividila come file. Un'app è un semplice file: salvalo, esportalo o condividilo con un link; e con la collaborazione cifrata più persone modificano gli stessi dati in tempo reale.
Il testo dell'app
# 🔥 Tracker abitudini quotidiane
Costruire un'abitudine è questione di costanza, e vedere la propria serie di
giorni consecutivi — lo «streak» — è il modo più semplice per restare
motivati. Qui segni ogni volta che fai un'abitudine (bere due litri d'acqua,
leggere venti minuti, meditare) e l'app calcola da sola da quanti giorni di
fila la stai rispettando, senza account né dati che lasciano il dispositivo.
::::form{path="checkin" id="fch"}
::input{form="fch" field="abitudine" placeholder="es. Bere 2L d'acqua, Leggere 20 minuti" required="true"}
::input{form="fch" field="data" type="date" legend="Data" help="il giorno in cui l'hai fatta, di solito oggi" required="true"}
::add-form{form="fch" path="checkin" label="Segna fatto"}
::::
## Streak per abitudine
:::python{data="checkin"}
```
from datetime import date, timedelta
righe = data["checkin"]
per_abitudine = {}
for r in righe:
ab = r.get("abitudine")
d = r.get("data")
if ab and d:
per_abitudine.setdefault(ab, set()).add(date.fromisoformat(d))
if per_abitudine:
oggi = date.today()
for ab in sorted(per_abitudine):
giorni = per_abitudine[ab]
cursore = oggi
nota = ""
if cursore not in giorni:
nota = " (non ancora segnata oggi)"
cursore = cursore - timedelta(days=1)
streak = 0
while cursore in giorni:
streak += 1
cursore = cursore - timedelta(days=1)
print(f"🔥 {ab}: {streak} giorni di fila{nota}")
else:
print("Segna la tua prima abitudine per iniziare a costruire lo streak.")
```
:::
## Storico check-in
:::table{path="checkin" headers="Abitudine,Data" deletable="true" editform="fch"}
{abitudine} | {data}
:::
Più abitudini diverse puoi seguire tutte insieme qui: basta usare lo stesso
nome ogni volta che le segni, per far crescere lo streak invece di iniziarne
uno nuovo.