Article App

A Flutter news reader that turns any article into an offline, listen-anywhere read — bookmarks, translations, and a live GNews-powered feed.

Timeline

6 weeks

Team Size

2 engineers

Industry

Media & Publishing

Tech Stack

The Problem We Solved

News apps assume a fast connection and a reader glued to the screen. Commuters and multitaskers lose articles the moment they lose signal, and there's rarely a way to keep reading — or listening — once they're offline. The goal was a reader that works as well on a train with no signal as it does on Wi-Fi.

The Complexity — Offline Reading Meets Text-to-Speech

Pulling a live feed from the GNews API is the easy part. Caching articles for true offline bookmarks, generating audio transcriptions for hands-free listening, and localizing the whole experience across languages — all while keeping scroll performance smooth — took real backend and client engineering.

  • GNews API aggregation through an Express + TypeScript backend
  • Offline-first bookmarks with local caching
  • Audio transcription pipeline for hands-free listening
  • Multi-language localization across the reading experience

The Solution — Flutter Client + Node.js Aggregation Layer

A Node.js (Express + TypeScript) service aggregates and normalizes articles from the GNews API, while the Flutter client caches them locally so bookmarks survive a dropped connection. An audio pipeline converts article text to speech for listening on the go.

Feature Showcase

Article App — Scroll-to-Read, Tap-to-Listen

Scroll-to-Read, Tap-to-Listen

Clean, typography-first reading with a one-tap toggle to switch to audio playback for the same article.

Article App — Offline Bookmarks

Offline Bookmarks

Save any article locally and keep reading or listening after the connection drops.

How We Made It Simple

Open the app and the feed is already there. Bookmark with one tap, switch to audio with another, and change the reading language from a single settings toggle — no account setup required to start reading.

Tech Stack

Flutter
Dart
Node.js
Express
TypeScript

Build something like this

Have a product idea or need a partner to ship to production? Let's talk about your project.

Book a Free 30-Min Call