Real-time calculation notebook with syntax highlighting, deduction tracking, and cloud sync.
- Syntax Highlighting — headings, comments, expenses, and variables colour-coded as you type
- Real-Time Evaluation — results appear instantly in the output panel; no submit button needed
- Variable Assignment —
name = expressionorname: expressionstores a value - Auto-Commenting — set a deduction day per expense; past-due lines are commented out automatically
- Due Next mode — toggle to preview next month's deductions
- Rich Text Input — powered by Quill, with coloured formatting preserved
- Cloud Sync — sign in with Google to save notebooks to Firebase
- Dark Mode — toggle between light and dark themes
- PWA — installable as a progressive web app
- Type into the left panel (rich-text editor).
- Each line is evaluated on the fly — output appears on the right.
name: valueorname = valuecreates a variable you can reuse later.//comments out a line,#creates a heading.- Keywords:
prev(last result),sum(running total),monthlyPayDate(days until payday). - Click the calendar icon 🌿 next to an expense to set its deduction day.
- Sign in to save automatically.
npm install
npm run dev # local dev server
npm test # vitest
npm run build # production build
npm run lint # eslint + prettier- Framework: Next.js 14 (Pages Router), React 18
- Language: TypeScript
- Editor: react-quill (Quill rich text editor)
- Styling: Tailwind CSS + CSS Modules
- State: React hooks (useState, useCallback, useEffect)
- Database: Firebase Realtime Database (auth + data sync)
- Animation: Framer Motion
- Testing: Vitest