Lattice
A workspace for your research.
Free, open-source Android app blocker that locks distracting apps behind a quick math challenge. The more you scroll, the harder it gets. No ads, no tracking.
ProductivityAstro · TypeScriptGitHub @msbelaidOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Landing page for PlugBrain app
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗The website for PlugBrain, the open-source Android app that locks distracting apps behind a quick math challenge.
Built with Astro and deployed to GitHub Pages by .github/workflows/deploy.yml on every push to main.
Needs Node 24 or newer.
npm install
npm run dev # http://localhost:4321
npm run build # static site in dist/
| Path | What |
|---|---|
src/i18n/ | All page copy: en.ts, fr.ts and ar.ts. A translation is a copy of en.ts, a line in src/i18n/index.ts and astro.config.mjs, and a src/pages/<locale>/index.astro page. |
src/layouts/Home.astro | The home page, rendered at /, /fr/ and /ar/. Arabic is right to left: use logical CSS (margin-inline-start, text-align: start) rather than left/right. |
src/components/ | One component per section. ChallengeDemo.astro is the playable challenge in the hero. |
src/pages/privacy.astro | Privacy policy, mirrored from PRIVACY_POLICY.md in the app repo. Keep them in sync. |
src/assets/screens/ | Phone screenshots per language, from the app repo's fastlane/metadata/android/<locale>/images/phoneScreenshots/. |
src/data/links.ts | Store links and the contributor list. Avatars live in public/contributors/. |
src/content/garden/ | Garden stories (see below). Index and story pages are in src/components/garden/. |
public/ | Logo, favicon, social preview image (og.png) and CNAME. |
/garden/ is a timeline of short stories about how PlugBrain grew, from a seed to a young tree. Each story is a Markdown file in src/content/garden/<locale>/<slug>.md:
---
title: Easy challenges!
description: One sentence for search results and link previews.
date: 2026-11-16
stage: seed # seed, sprout, seedling, sapling, youngTree, blossom or fruit
---
Short paragraphs, one idea each.
en/, fr/ and ar/ is one story in three languages. A story that isn't translated yet shows in English on the French and Arabic timelines.date stays hidden, and the next one shows faded as "Coming". The site rebuilds every day, so it goes live on its date with no push needed. draft: true hides a story completely.GARDEN_PREVIEW=1 npm run dev shows every story, future ones included, to review them early./garden/rss.xml, /fr/garden/rss.xml and /ar/garden/rss.xml.The site sets no cookies and loads nothing from third parties: fonts, images and avatars are all served from this site. The GitHub star count and latest version are fetched once at build time.