Transform your new tab into a mesmerizing, nebulous aurora simulation designed for deep focus, tranquility, and daily productivity.
Aurora Flow replaces your New Tab page with a calming 3D particle simulation, a momentum-style focus tracker, and inspirational quotes.
- Mesmerizing Visuals: A calming 3D Aurora particle simulation.
- Focus Mode: Set your daily intention and check it off when done.
- Inspirational Quotes: Daily dose of motivation (powered by ZenQuotes.io).
- Weather Widget: Real-time local weather updates (using privacy-focused IP-based location).
- Privacy First: No external tracking. All dependencies are bundled locally.
- Offline Ready: Core features work without an internet connection.
Aurora Flow on Chrome Web Store
- Node.js v22 (Strictly required)
- pnpm v10 (Strictly required;
npmandyarnare not supported) - Python 3 (Optional, only required for running verification scripts)
- No API keys required: The extension uses free, open APIs for weather and quotes.
-
Clone the repository:
git clone <your-repo-url> cd aurora-flow
-
Install dependencies:
pnpm install
-
Build the project:
pnpm run build
Or for live reloading during development:
pnpm run dev
-
Load into Chrome:
- Open Chrome and navigate to
chrome://extensions. - Enable Developer mode in the top right corner.
- Click Load unpacked.
- Select the
distdirectory created in the project folder.
- Open Chrome and navigate to
Once the extension is installed and loaded into Chrome:
- Open a new tab (
Ctrl+TorCmd+T). - You will see the aurora simulation and your dashboard.
- Click the settings icon in the bottom right corner to open the side panel and customize your experience.
- Set your daily focus in the center of the screen and check it off when completed.
To create a .zip file suitable for uploading to the Chrome Web Store, you must build the project first and then run the package script:
pnpm run build
pnpm run packageThis script (scripts/package-extension.js) will create a versioned zip file (e.g., aurora-flow-v1.4.0.zip) in the project root, ready for upload.
This project uses Vitest for unit testing.
pnpm testFor ad-hoc verification (e.g., verifying UI interactions with Playwright), you can run the included Python scripts in the verification/ directory.
To run these scripts, you need Python installed and the Playwright Python package:
pip install playwright
playwright install chromium
python verification/verify_greeting.pyEnsure your code is clean and formatted before submitting changes.
# Lint code
pnpm run lint
# Format code
pnpm run format
# Check formatting without modifying files
pnpm run format:checkTo verify TypeScript types without emitting files:
pnpm run typecheckaurora-flow/
├── src/
│ ├── ts/ # TypeScript logic (Animation, UI, Weather)
│ ├── shaders/ # GLSL shaders for simulations
│ ├── css/ # Stylesheets
│ ├── newtab.html # Entry point
│ └── sidepanel.html # Settings panel
├── assets/ # Icons and static assets
├── scripts/ # Utility scripts (packaging, icon generation)
├── test/ # Test setup & mocks
├── dist/ # Compiled extension (do not edit)
└── GEMINI.md # AI Context & Architecture
For a detailed architectural overview, refer to GEMINI.md.
- Three.js: High-performance 3D rendering.
- Vite: Next-generation frontend tooling.
- TypeScript: Typed JavaScript for better code quality.
- GLSL: Custom shaders for the aurora simulation.
If you modify assets/icon.svg, you can regenerate the PNG icons:
node scripts/generate_icons.js