Pellegrino Piccolo — home
All projects

Abbo

Mobile app · Released Dec 2025

A privacy-focused mobile app to track subscriptions, with expense dashboards, custom renewal alerts and offline storage that keeps financial data on the device.

React NativeExpoTypeScriptAsyncStorageExpo Notifications Nativei18next
RoleDesign & development (solo)
PlatformsAndroid · APK on GitHub Releases
ArchitectureOffline-first, no backend
Key decisions3

01 — Gallery

The app, screen by screen

A look at the main screens of the app.

Abbo
1/1

02 — Architecture

How it's built

The app, layer by layer. Each badge links to the decision that shaped that layer.

Interface

React Native, Expo Router, 5 languages

user actions

App state

React Context

read / write

Local storage

AsyncStorage

Renewal alerts

Expo Notifications, scheduled locally

Backend

No server, no account

03 — Decisions

Decision log

Context, choice and the price paid for each one.

D1

Keep all data on the device

Context

Subscriptions and spending are sensitive financial data, and the app doesn't need to share them with anyone.

Decision

Store everything locally with AsyncStorage. No accounts, no server, no cloud sync.

Tradeoff

No sync between devices, and data is lost if the app is uninstalled.

Alternatives

Firebase, Supabase, A custom backend

D2

Local scheduled notifications

Context

Users need a reminder before a subscription renews, so they have time to cancel it.

Decision

Schedule renewal alerts on the device with Expo Notifications, based on each subscription's date and the user's chosen advance notice.

Tradeoff

Alerts must be rescheduled whenever a subscription changes, and they depend on the OS keeping scheduled notifications alive.

Alternatives

Server-sent push notifications (FCM), Calendar events

D3

Distribute the APK through GitHub Releases

Context

Publishing on Google Play requires a Google Play Developer account, which I don't have, but the app still needed a simple way to reach Android users.

Decision

Publish a signed APK on GitHub Releases, linked from the README and the site.

Tradeoff

Users must allow installs from unknown sources, and there are no store updates or reviews.

Alternatives

Google Play