Skip to content
publik.
Browse appsAppsPricingSupport buildersSupport
+Publish a repoPublish
Browse appsHow it worksPublish a repoSupport buildersGet helpPricingDevelopersGitHubPrivacy
© 2026 Publik
← All apps

Lunara

Track your cycle without renting your body back from a subscription

AI: publik API or your key

Today

Day 3
M20
T21
W22
T23
F24
S25
S26

Period: Day 3

Next period estimated in 27 days · ±5

On your phone?

You install Lunara from a computer. Send yourself the link and open it there.

Before you start: A Mac or Windows PC to build it, and a USB cable. Lunara's assistant runs on publik API with no key to paste — linking your publik account gives $0.05 of free use once, then the app pays publik's published price per use, and your own key still works

◆Built on Publik APIBuild yours →

Runs on publik API

  • AI chat & tools: Chat completions with tool calls, JSON schemas and images, priced per tier in dollars.
  • No key to paste.
  • Linking your publik account gives five cents of free use, once.
  • Then Lunara pays publik's published price per use, and your own key still works.
How pricing works →
Vote on Lunara
7
Read the install guide→Open in GitHub↗

Compared with

F

Flo

Flo Premium

$99.99/year

What a month of AI costs

  • Flo$8.33/mo
  • publik API$4.33/mo

publik API: $4.00 a month less than Flo.

100 uses a week at the Balanced level · publik API is cheaper up to about 192 uses a week

Make this yours→Fork Lunara, change it, publish your version. About 30 minutes. No experience needed.

Having trouble? Tell us

Where Lunara’s AI runs, and what it costs

Prices are for one typical use: one request of about 1,500 words sent and 375 words back. A higher quality score is better.

On your computer

Lunara has no option to run its AI on your computer.

publik API

Price
$0.0100 per use, $10.00 per 1,000 usespublik-balanced, the default level
Quality
MiMo-V2.6-Pro: 46
Setup
Built in. No key to paste; linking your publik account gives $0.05 of free use, once.

Your own key

Price
$0.0013 per use, $1.31 per 1,000 usesMiMo-V2.6-Pro at OpenRouter’s list price, before its fee for buying usage
Quality
MiMo-V2.6-Pro: 46
Setup
Open a provider account, add a card, paste the key into Lunara.

Quality and price, side by side

Quality score and cost per 1,000 typical uses for local models and the three publik API levels
ModelQualityPer 1,000 uses
On your computer (Ollama, 4-bit download size)
Granite 4.2 3B2.2 GB9$0
Phi-4 Mini2.5 GB6$0
Llama 3.1 8B4.9 GB7$0
gpt-oss 20B14 GB9$0
Gemma 4 31B20 GB19*$0
Qwen3.5 35B-A3B24 GB19*$0
publik API
publik-fastGLM-5.3 Flash42$1.00
publik-balancedMiMo-V2.6-Pro · Lunara46$10.00
publik-smartGPT-6 Sol48$18.00

Quality: Artificial Analysis Intelligence Index v4.3.2, read 2026-09-22 (publik API models 2026-09-25); * = estimated by Artificial Analysis. Sizes: the Ollama library, read 2026-09-22.

What you pay for

  • On your computer: nothing per use. You pay in disk space, memory and electricity, at lower quality.
  • publik API: publik’s published price for each use, in dollars, from your publik balance. It is above the model’s cost; the difference runs publik and pays the app’s builder.
  • Your own key: the provider’s price, billed to an account you keep with the provider.
Install Lunara: publik API is built in →How publik API pricing works →

How to install Lunara

Every step written out. No terminal experience needed. Pick your setup.

  • How to install Lunara on iPhone using a Mac →
  • How to install Lunara on Android using a Mac →
  • How to install Lunara on Android using a Windows PC →
  • Can you install Lunara on iPhone from a Windows PC? →

README

Open in GitHub ↗

Lunara

⚠️ Unfinished — this is a work in progress. Lunara is not on the App Store or Google Play, and there is no installer to double-click. You build it from this repository and run it on your own phone. Features are landing continuously and things will break. Do not rely on it as your only record of your health data.

An open-source, local-first cycle, fertility, pregnancy, and perimenopause companion.

Lunara ships through native iOS and Android shells powered by Capacitor. Core tracking works without an account or Lunara-hosted user database. Optional backup and AI features transmit data only after you enable them; their scope and security boundaries are documented in the repository.

Lunara is an open-source alternative to Flo®. It is not affiliated with, endorsed by, or connected to Flo Health Inc.

Why

  • No subscription gate. Tracking, pattern insights, reports, pregnancy guidance, and perimenopause tools are part of the open-source app.
  • Local first by architecture. Core logs live in the app's local storage. Optional backup stores a client-encrypted blob; optional AI shares only the categories you select for that request.
  • No 54-screen onboarding funnel. No paywall gauntlet. No nagging.

Structure

  • app/ — React/Vite product layer plus Capacitor iOS and Android projects
  • workers/backup/ — stateless zero-knowledge backup relay (Cloudflare Worker + R2)
  • workers/reminders/ — opt-in generic email reminders (no health terms, ever)
  • docs/NATIVE_ARCHITECTURE.md — current runtime and platform design
  • docs/FEATURE_PARITY.md — honest implementation and release-readiness map

Develop

pnpm install
pnpm dev      # run the app in a browser
pnpm test     # engine unit tests
pnpm --filter @lunara/app native:sync

The cycle engine is covered by a seeded fuzz audit (app/src/engine/estimateAudit.test.ts) that exercises every user-facing estimate across 360 generated histories. It must stay at zero violations — run pnpm test before touching any prediction math.

The AI companion is optional, adults-only, and publik API by default

Lunara works fully without AI, and the companion is never offered under 18. When it is on, answers come from one of three places:

  • publik API (default) — no key needed. The app mints its own per-phone key from publik on first launch, after you accept the disclosure, and keeps it in the iOS Keychain / Android Keystore. A new phone starts at $0.00: link it at the claim link and your publik account gives $0.05 of free use, once; then pick a plan or add a pack, and usage is priced per use from your publik balance. Until the phone is linked (or you add your own key), the assistant says there is no balance and shows the link. Disconnect at any time from Settings.
  • Anthropic — your own API key, or a token from claude setup-token to bill answers to a Claude subscription.
  • OpenAI — your own project API key.

Choosing publik never touches a key you pasted, and choosing your own key never revokes the publik one. Credentials are stored in the Keychain / Keystore, never in the cycle database and never in a backup. Nothing from your tracker is sent unless you tick the specific categories for that message.

For maintainers — the app token. app/src/lib/publikBuild.ts carries the build's public app token. In git it is the placeholder pat_lunara_REPLACE_ME, which compiles and tests but hides the publik option; the publik-side mint script (scripts/mint-app-token.mts in the publik repo) mints pat_lunara_<32 base36> and writes it into that file in the same commit the publik install guide then pins. The token is public by design: it can only mint rate-limited anonymous installs; it holds no balance and reads nothing.

Disclaimer

Lunara is not a medical device and does not diagnose, treat, cure, or prevent any condition. Predictions are estimates for informational purposes only and must not be used to prevent pregnancy.

License

AGPL-3.0 — see LICENSE.

Choose your devices