All projects
Code

Notes — projects, money & an AI that understands Bangla

An installable app for project notes and personal finance that works offline, keeps your data on your own device and Google Drive, and has an AI that turns plain Bangla or English into notes and money entries.

Laravel 12 Alpine.js PWA Offline-first IndexedDB Google Drive Gemini AI
Notes — projects, money & an AI that understands Bangla

What it is

I keep a lot of small ideas for my projects — a bug in AURON, a feature for the Trading Desk, a slide for my thesis — and I wanted one place for them, together with where my money goes. Notes is that place: an app you install on your phone or computer, that opens instantly, works without internet, and has an AI assistant you can simply talk to in Bangla or English.

What it does

  • Notes by project — Add / Delete / Modify / Bug / Idea, priority, status, one-tap done with Undo, an Inbox for loose ideas.
  • Finance — income, expenses and transfers across accounts, regular payments that wait as "Due", day / week / month / year reports, any currency converted at each day's own rate.
  • AI assistant — write "AURON dark mode is broken, lunch 250 from bKash" and it prepares a bug note and an expense as cards to confirm. It also reads pictures and PDFs: a photo of a receipt becomes an expense. It runs on the user's own Gemini key, straight from the browser.
  • Backup & sync — everything is copied to the user's own Google Drive and kept the same on phone and computer.
  • One responsive design — a phone layout with a tab bar, and a computer layout with a sidebar and columns.

How it is built

The app is offline-first. Notes, projects and money live on the device in IndexedDB (Dexie); a service worker opens the app from the device, so the server is asked only once a day whether the account is still signed in. Sync goes directly from the device to Google Drive with the narrow drive.file permission — the app can see only its own backup file, and the notes never pass through my server. Rows are merged one by one with "newest change wins", deletions included, so two devices end up the same.

The AI calls Google's Gemini API from the browser with the user's own key. Every suggestion is checked against the user's data on the device — real amounts only, known accounts, strict dates — and nothing is saved until the user confirms it. Thinking is off by default for fast answers, and the model, thinking and temperature can be changed in Settings.

Behind it is a Laravel 12 site (this portfolio) that handles Google sign-in, the app page, daily exchange rates and the Drive permission — and nothing else.

Built with

Laravel 12 · Alpine.js · IndexedDB (Dexie) · Service Worker / PWA · Google Drive API · Gemini API · tested with PHPUnit and Node's test runner (145 tests).

Open the app   (sign in with Google, then install it from your browser)

Gallery