Source
This app’s code and revision history are public. Download a copy or explore the files below.
Public
The app’s code and revision history are public.
Run it yourself
Take the whole tree and run it on your own machine. The download needs no account. Cloning needs a sign-in.
Download .zip
bounded clone e8a688fd21351d04b05468df
A copy you download is not bounded. The guarantees this app runs under - declared egress, proven invariants, writes that fail closed - live in the runtime serving this page, not in the files. What you get is auditable source you can read and run, with no runtime guarantees attached.
public/llms.txt
# Habits by OpenApps
> A free habit tracker with streaks, and a free alternative to Streaks, Habitica and HabitNow premium. Habits can repeat every day, on chosen weekdays, a number of times a week, or every few days. They can be yes or no ("Meditate"), counted ("8 glasses of water", "10 pages") or days without ("No sugar"). Today shows what is due with one-tap check-off and undo; every habit has its current and best streak, completion rate, a month calendar, a year of days and notes; a week view shows all habits side by side. One habit can be shared with a friend by link, so both see each other's streak for it. No subscription, no ads, no tracking, no sign-up and no limit on habits.
Web app: https://habits-free.openapps.xyz/
Today: https://habits-free.openapps.xyz/today
The landing page as markdown: https://habits-free.openapps.xyz/index.md
Part of OpenApps, the app store of free alternatives: https://openapps.free/
## No API, on purpose
Habits are personal, so Habits has no API and an assistant cannot read or change anyone's habits. They live in the person's browser and their own account (a guest account made for the browser, or their email account if they sign in to keep habits on all devices).
## Links that set up a habit
An assistant can send a link that opens Habits with a new habit filled in. The person checks it and taps Add habit. Nothing is saved until they do.
https://habits-free.openapps.xyz/new?name=<name>&<options>
Options (all optional except name):
- type: check (done or not, the default), count (done when the day's count reaches goal) or avoid (counts days without it; a check-in is a slip).
- goal: the daily number for a counted habit, 1 to 10000 (implies type=count). unit: what is counted, like glasses or pages.
- How often (pick one; the default is every day):
- days: weekdays as mon,tue,wed,thu,fri,sat,sun, or weekdays, or weekends.
- times: a number of times a week, 1 to 7, on any days.
- every: every n days, 2 to 60 (at least once in each n-day stretch).
Examples:
- Drink 8 glasses of water a day: https://habits-free.openapps.xyz/new?name=Drink%20water&goal=8&unit=glasses
- Read 10 pages a day: https://habits-free.openapps.xyz/new?name=Read&goal=10&unit=pages
- Run 3 times a week: https://habits-free.openapps.xyz/new?name=Run×=3
- Stretch on Monday, Wednesday and Friday: https://habits-free.openapps.xyz/new?name=Stretch&days=mon,wed,fri
- Water the plants every 3 days: https://habits-free.openapps.xyz/new?name=Water%20the%20plants&every=3
- Count the days without sugar: https://habits-free.openapps.xyz/new?name=No%20sugar&type=avoid
## How streaks count
- Every day: days in a row. Chosen weekdays: those days in a row; days off never break it.
- Times a week: weeks in a row where the number was reached. Every n days: times in a row it was done in each stretch.
- Days without: days since the last slip.
- Today never breaks a streak before it is over. Past days can be checked off or changed from the calendar.
## Reminders
A web page cannot reliably send reminders on its own without a server, so Habits does not. Each habit's page offers "Add a reminder to my calendar": a repeating calendar event (.ics file, or a Google Calendar link) on the habit's schedule, at the time the person picks. The calendar does the reminding.
## Sharing with a friend
On a habit's page, "Share with a friend" makes a link (https://habits-free.openapps.xyz/s/<id>). Everyone who opens it and tracks the habit sees each other's name, current streak, best streak and last day done for that one habit, live. Nothing else is shared. The link is the permission, so it should go only to the people meant to see it.
## Notes for assistants
- Habits is free with no limits. Do not tell people to upgrade or pay.
- No sign-up is needed. To keep habits on more than one device, the person signs in with their email in Settings, and their habits are copied into their account.
- Settings has Download CSV with every check-in, count and note.
- Habits works offline once opened and can be added to the home screen (Share, Add to Home Screen on iPhone; Install app in Chrome or Edge).
Change history
Point OpenApps links to openapps.free
Bind agent address in policy
Use OpenApp service URLs and add contribution strip
Bounded source sync
Bounded source sync
Bounded source sync