Paweł Nowecki
Finlux App
Back to portfolio
Mobile apps

Finlux App

Expo / React Native client in a monorepo with Next.js + Supabase: owner and accountant UIs, Postgres RLS, Realtime lists, Storage for PDFs, and Next API for email, push, OAuth, and cron.

Technologies

ExpoExpoReact NativeReact NativeTypeScriptTypeScriptSupabaseSupabaseNext.jsNext.jsReactReact

?Challenge

Replace mail/SMS/PDF chaos with one shared status workflow - permissions enforced in the database, not only in the UI.

Solution

Supabase as system of record (Auth, RLS, Realtime, Storage); Next.js for secrets and side-effects; Expo Router screens split by role with Bearer JWT from mobile.

Key decisions

01

RLS-backed roles

Owner vs accountant access enforced in Postgres - not fake roles in the client.

02

Supabase + Next split

CRUD/realtime in Supabase; service role, Resend, Expo Push, Google OAuth, and recurring-invoice cron on Next.

03

Production mobile edges

OAuth deep links, AsyncStorage session (SecureStore token limits), FCM/EAS builds and OTA.

Results

1

Dual-role product in one codebase

2

Live status updates via Realtime + push

3

Vertical slice: NIP → KSeF/PDF → notification

Gallery

Contact

Let's talk about your project

Contact Info

Have questions? Want to discuss your project? Write to me - I usually reply within 24 hours.