Standalone Android home screen widgets for Norwegian transport, agenda, weather and living scenes. All rights reserved.
  • Kotlin 84.1%
  • TypeScript 12.4%
  • CSS 2.3%
  • Shell 0.6%
  • JavaScript 0.5%
Find a file
2026-10-28 21:32:46 +00:00
apps feat: publish Glance source with all rights reserved 2026-10-28 18:46:09 +00:00
screenshots feat: publish Glance source with all rights reserved 2026-10-28 18:46:09 +00:00
scripts chore(deploy): move host deploy dir to ~/docker/<Category>/<svc> 2026-10-28 21:32:46 +00:00
.gitignore feat: publish Glance source with all rights reserved 2026-10-28 18:46:09 +00:00
DEVELOPMENT.md docs: simplify README and preserve detailed development guide 2026-10-28 18:46:39 +00:00
eslint.config.js feat: publish Glance source with all rights reserved 2026-10-28 18:46:09 +00:00
LICENSE feat: publish Glance source with all rights reserved 2026-10-28 18:46:09 +00:00
package-lock.json feat: publish Glance source with all rights reserved 2026-10-28 18:46:09 +00:00
package.json feat: publish Glance source with all rights reserved 2026-10-28 18:46:09 +00:00
README.md docs: simplify README and preserve detailed development guide 2026-10-28 18:46:39 +00:00
tsconfig.base.json feat: publish Glance source with all rights reserved 2026-10-28 18:46:09 +00:00

Glance

Android home screen widgets for Norwegian public transport, your calendar and the weather. The widgets refresh in the background and work while the app is closed.

  • Smart Glance combines your commute, upcoming events and weather in one card.
  • Glance shows bus and train departure boards, including delays, cancellations and platforms.
  • Glance commute shows complete journeys in both directions, with transfers and journey tracking.
  • Glance agenda shows calendar events from Nodecal, with meeting and location shortcuts.
  • Glance weather shows current conditions and hourly forecasts from MET Norway.
  • Living Tree is a narrow birch widget that follows the seasons, daylight and weather.
  • Tiny Living World is a small lakeside diorama with seasonal changes and occasional wildlife.

Screenshots

Android widget previews, captured at a few useful sizes. Calendar entries and weather use sample data; the departure board shows a snapshot from Entur. The picture widgets show fixed seasonal and night scenes. Open an image to see it at full size.

Smart Glance Departure board
Smart Glance with a tracked train and bus commute, upcoming agenda and weather Glance departure board with bus and train departures in both directions
A tracked commute, calendar and weather together. Four journey groups with the next departures.
Glance agenda Glance weather
Agenda widget with timed events, meeting links and all-day events Weather widget with current conditions and an hourly forecast
Upcoming events and all-day reminders. Current conditions and the hours ahead.
Living Tree Tiny Living World
Living Tree previews in spring, summer, autumn, snow, northern lights and a meteor shower Tiny Living World previews in spring, summer, autumn, snow, northern lights and a meteor shower
The narrow birch widget through the seasons and night sky. The lakeside diorama in six seasonal and night scenes.

Getting started

Install the Android APK, open Glance to configure your stops and integrations, then add a widget from your launcher's widget picker. Resize it to fit your home screen. Tap a departure for journey details, or use the refresh arrow for an immediate update.

Transport data comes directly from Entur and weather from MET Norway; neither needs an API key. Calendar widgets require a Nodecal integration token, entered in Glance's settings.

Development

The app uses React/Vite for configuration and journey details, with Capacitor and Kotlin for native Android widgets. Requirements: Node 22.12+ or 24+, Android SDK 36 and JDK 21.

npm ci
npm ci --prefix apps/android
npm run dev

The browser previews the configuration interface; live departures and home screen widgets require Android. Run npm run android:debug to build a debug APK. Checks: npm run typecheck, npm run lint and npm test.

See the development guide for Android builds, releases, widget behaviour and implementation details.

License

Copyright (c) 2026 Lars Gjessing. All rights reserved. The source is public for inspection; reuse requires prior written permission. See LICENSE. Third-party components and data retain their own licenses and terms.