FireTime Tablet Dashboard
Project Overview
I built this for a family member with an old Amazon Fire tablet. It turns the tablet into a clock and weather display for the front room.
A single web page. One half shows a large clock and the date. The other half shows the current weather, the day's high and low, chance of rain, wind, humidity, sunrise and sunset, and a three-day forecast. It lays out side by side in landscape and stacked in portrait, and it's sized for both 7-inch and 8-inch Fire screens.
On first open it asks for a city. Tapping the city name changes the city, Fahrenheit or Celsius, and 12- or 24-hour time. Each tablet keeps its own settings, and a link can preset a tablet so nobody has to set it up.
Built in one day in September 2026.
Self-hosted on my homelab and published through Cloudflare Tunnel at firetime.alexgreimann.com. The source is on GitHub. The weather comes from Open-Meteo, which needs no account or API key.
Old tablets are still good screens, but their browsers can't run most of today's web. A display that sits on all day also has to cope with Wi-Fi drops without showing old weather as if it were current.
How It Works
- It's written in plain older JavaScript (ES5) with no build step, so the tablet's old browser can run it. The whole app is one file of about 18 KB.
- Weather icons are drawn as SVG instead of emoji. Older Android is missing most weather emoji and shows empty boxes.
- Weather refreshes every 15 minutes and retries every 2 minutes after a failure. If the data is more than 45 minutes old, an orange "last updated" note appears, so stale weather never looks current.
- The page reloads itself every night, so updates reach the tablet without anyone touching it.
Still open: the oldest Fire tablets (Fire OS 5) don't trust the certificate on the weather service, so they would show the clock but no weather. The fix would be to fetch the weather on my server and serve it from the same site. A web page also can't reliably keep an older Fire screen awake, so the tablet needs its own stay-awake setting.