Private, offline-first cycle tracker separating facts from estimates