AKKAweb Product Spotlight

Kampion Mobile App

Kampion is an Expo React Native mobile app for browsing Cape Verde news with personalized preferences, account tools, bookmarks, and fast repeat loading.

Expo SDK 54 React Native + TypeScript TanStack Query + Zustand

Core Experience

What the app does

News Feed and Discovery

Paginated feed, source/category/language filters, and targeted search to find stories quickly.

Account and Preferences

Login/register flow, content preferences, legal links, and user-level settings for a personalized home view.

Bookmarks and Reading Flow

Save and manage bookmarked stories with fast revisit behavior using React Query cache and local storage.

Article Detail Experience

Clean article pages with read-time/date metadata, category/source labels, and direct full-article links.

Push Notification Sync

Device token registration/deactivation and backend-synced notification preference toggles from account settings.

Optimized Repeat Loads

TanStack Query, AsyncStorage, and SecureStore reduce unnecessary refetching and improve perceived speed.

Screens

Real mobile UI from Kampion

Kampion main screen
Main feed with top stories and recent news
Kampion categories screen
Source/category navigation and curated cards
Kampion article detail screen
Article detail with metadata, source, and read link
Kampion account settings screen
Account area with preferences, legal, and sign out actions
Kampion saved articles screen
Saved article management with one-tap removal
Kampion source list screen
Source and topic browsing with search and filter controls

Tech Stack

Frontend foundation

  • Expo SDK 54 + Expo Router
  • React Native + TypeScript
  • Axios for API calls
  • TanStack Query for data fetching/caching
  • Zustand for app state
  • AsyncStorage + SecureStore

Push Notifications

Backend-integrated sync

  • Registers token after login/session restore via POST /api/me/push-tokens
  • Deactivates token on logout via DELETE /api/me/push-tokens/{token}
  • Loads settings from GET /api/me/notification-settings
  • Sends updates through PATCH /api/me/notification-settings
  • Supports in-app enable/disable toggle per device