A privacy-first app for keeping track of your ISA allowance.
Keep an eye on Indiviual Saving Account balances across your bank accounts, investment managers and more. It's easy to make sure you don't go over your allowances - just add your accounts and keep your contributions up to date.
Dependencies for this project are managed with pnpm. Install the dependencies with pnpm install. Ensure you also properly copy the icon font by running pnpm run prebuild:include-icon-font.
This project uses Expo. It is Expo Go compatible; run pnpm run start to start the bundler and follow the instructions in the terminal to continue.
ISA Eye is built with Expo (React Native).
The data layer is hacked together with powered by TinyBase and React Hook Form.
The majority of components are based on React Native Reusables, which in turn is based on shadcn/ui, RN Primitives and Nativewind + the awesome Class Variance Authority. The remaining components are built with Nativewind. The charting components were built with Victory Native by Nearform.
The theme was configured with jlndev's theme configurator.
The website is proudly hosted in Europe by statichost and the domain is provided by Porkbun.
Special mentions to: Shopify FlashList for fixing perf issues, the polyfills bridging the gap between RN and web, and Mo Gorhom's Bottom Sheet which somehow works better with Expo than Expo's own.
THe Terraform config in the infra folder sets up:
- A S3 bucket for bank icons (and potentially future UGC)
- A Cloudfront distribution set up with a custom subdomain + TLS cert
- IAM setup for the sync_bank_icons workflow (see below)
build: triggers Android and iOS production builds on EAS build, when a commit is pushed to mainpr_checks: checks that run on every commit pushed, for FOSSA compliance and Expo Doctor checkssync_bank_icons: syncs the assets/images/bank-icons folder with S3
This repo has the following secrets and env vars set up to make these workflows function:
| Name | Type | Description |
|---|---|---|
| AWS_ACCOUNT_ID | repo variable | aws.com account ID for S3 sync |
| EXPO_TOKEN | repo secret | Expo access token (robot user) |
| FOSSA_API_KEY | repo secret | Fossa Integration API token |
ISC