Logo Weath (Android)
Weath (Android)

Weath (Android)

Current Version: 1.0.0
41
Unique Views
7
Free Downloads
0
Donation Downloads

weath

A minimal Android weather app with an amber-on-black terminal aesthetic. by Jason Page · amfile.org · 2026 ---

Features

  • Current conditions — temperature, wind speed, wind direction, and precipitation displayed prominently at the top
  • 7-day forecast — each period on a single row: day · temp · wind speed · wind direction · precipitation
  • All precipitation types — Rain, Drizzle, T-Storm, Freezing Rain, Sleet, Ice, Snow (with accumulation amounts where forecast)
  • Active advisories — NWS watches, warnings, and advisories listed below the forecast
  • Swipe to settings — swipe left to change ZIP code and units; swipe right to return to weather
  • Imperial or Metric — °F/mph/inches or °C/km/h/cm, converted throughout
  • No API key required — uses the free, public api.weather.gov
  • ---

    Screenshots

    
    weath                              by Jason Page · amfile.org · 2026
    ──────────────────────────────────────────────────────────────────
    Boston, MA                                       ← Swipe for Settings
    
    ┌─ This Afternoon ──────────────────── Partly Cloudy ─┐
    │  38°F      12 mph              ↘NW                  │
    │            From northwest                           │
    └──────────────────────────────────────────────────────┘
    
    7-DAY FORECAST
    ──────────────────────────────────────────────────────
    Tonight       28°F     8 mph    ↑S     Snow 1-2 in
    Mon           42°F    15 mph    ↘NW    —
    Mon Night     31°F    10 mph    ↑S     Snow
    Tue           45°F     5 mph    ↖SE    Rain
    Tue Night     36°F     8 mph    ↘NW    —
    Wed           50°F    10 mph    →W     Drizzle
    Wed Night     38°F     6 mph    ↑S     Frzg Rain
    ──────────────────────────────────────────────────────
    ACTIVE ADVISORIES
    
    WINTER STORM WARNING
      Winter Storm Warning in effect until 6 AM EST
      Tuesday…
    
    ●  ○
    
    ---

    Data Sources

    | Source | Purpose | |--------|---------| | api.weather.gov | Forecast, hourly conditions, active alerts | | Nominatim / OpenStreetMap | ZIP code → latitude/longitude geocoding | No API keys are required for either service. ---

    Requirements

  • Android 8.0 Oreo or later (API 26+)
  • Internet connection
  • US ZIP codes only (api.weather.gov covers the United States and territories)
  • ---

    Building

    Prerequisites

  • Android Studio Hedgehog or later, or Android SDK with build tools 34
  • JDK 17
  • Gradle 8.5 (auto-downloaded by the wrapper, or use a local install)
  • Project Structure

    
    weath/
    ├── app/
    │   └── src/main/
    │       ├── java/org/amfile/weath/
    │       │   ├── MainActivity.kt          # ViewPager2 host, dot indicators
    │       │   ├── WeatherFragment.kt       # Main weather display
    │       │   ├── SettingsFragment.kt      # ZIP code + units settings
    │       │   ├── WeatherPagerAdapter.kt   # Swipe between weather/settings
    │       │   ├── WeatherViewModel.kt      # Data loading, unit conversion,
    │       │   │                            #   precipitation parsing
    │       │   ├── adapter/
    │       │   │   └── WeatherAdapter.kt    # RecyclerView with 5 view types
    │       │   ├── api/
    │       │   │   ├── WeatherApiService.kt # NWS API endpoints (Retrofit)
    │       │   │   ├── GeocodingApiService.kt
    │       │   │   └── RetrofitClient.kt    # OkHttp + Retrofit setup
    │       │   └── model/
    │       │       ├── PointsResponse.kt
    │       │       ├── ForecastResponse.kt
    │       │       ├── AlertsResponse.kt
    │       │       ├── GeocodingResult.kt
    │       │       └── WeatherState.kt      # Sealed class: Loading/Success/Error
    │       └── res/
    │           ├── layout/                  # activity_main, fragments, item views
    │           └── values/                  # Amber-on-black theme, strings, colors
    └── README.md
    
    ---

    How It Works

  • User enters a US ZIP code in Settings
  • Nominatim geocodes the ZIP to a latitude/longitude
  • api.weather.gov/points/{lat},{lon} returns the NWS grid office and forecast URL
  • The forecast URL returns up to 14 periods (7 days × day + night)
  • api.weather.gov/alerts/active?point={lat},{lon} returns any active advisories
  • Precipitation is detected and amounts extracted by parsing NWS forecast text — handles snow, rain, sleet, freezing rain, ice, drizzle, and thunderstorms
  • All data is displayed; swipe left to adjust ZIP or units, swipe right to return
---

Dependencies

| Library | Version | Purpose | |---------|---------|---------| | Kotlin | 1.9.22 | Language | | AndroidX ViewPager2 | 1.0.0 | Swipe navigation | | AndroidX Lifecycle | 2.7.0 | ViewModel + StateFlow | | Retrofit 2 | 2.9.0 | HTTP API calls | | Gson Converter | 2.9.0 | JSON deserialization | | OkHttp | 4.12.0 | HTTP client | | Kotlin Coroutines | 1.7.3 | Async data loading | | Material Components | 1.11.0 | UI widgets | ---

Theme

Pure amber on black#FFC107 text on #000000 background — using a monospace font throughout for a clean, terminal-style readout. ---

License

Copyright © 2026 Jason Page — amfile.org All rights reserved.

Download Options

Free Downloads: All downloads including compiled binaries are freely available. Consider supporting development with an optional donation.

Free Downloads

Compiled Binaries (Free Download)

Download compiled versions for your platform. Consider supporting the project with an optional donation.

Android

Changelog

No changelog available.