BillTrackr
A personal finance app that maps your one-time bills, recurring bills, and paydays onto a single view, so you always know where each paycheck is going
- Role
- Solo Developer
- Year
- 2026
- Type
- Personal Finance

Keeping track of recurring bills shouldn’t be this complicated.
I got tired of writing my bills down in notes and trying to keep track of when each one was due. Recurring bills made it even harder especially biweekly payments, where the dates shift throughout the year and some months can have three payments instead of two.
What I actually needed was a way to see exactly when each bill would land, which paycheck would cover it, and how much I'd have left afterward. That problem became the idea behind BillTrackr.
Bills and paydays, in one timeline.
BillTrackr brings my bills and paydays together in one place. Instead of manually figuring out when recurring bills will fall, I set up each bill once and the app generates the upcoming dates for me
It then organizes those bills around my pay schedule, making it easier to see what each paycheck needs to cover and how much I’ll have left afterward.
- Sep 1Payday+$2,000.00
- Sep 1Rent−$800.00
- Sep 5Internet−$90.00
- Sep 8Phone−$75.00
- Sep 12Netflix−$22.99
- Sep 15Payday+$2,000.00
- Sep 15Insurance−$160.00
- Sep 20Car payment−$450.00
- Sep 26Gym−$35.00
How it works
BillTrackr takes a few simple inputs and turns them into a clear picture of the month. Here’s what happens behind the scenes:
- 1Add salaryAmount, cadence & first payday
- 2Add billsOne-time or recurring
- 3Generate bill datesFrom recurrence rules
- 4Build pay periodsPayday to payday
- 5Match billsTo each pay period
- 6Calculate what's leftPaycheck − bills
One rule. Every occurrence.
Instead of storing every future payment as a separate record, BillTrackr stores the recurrence rule itself including the frequency, start date, and when the recurrence should end. When the app needs bill dates for a given stretch of time, it expands that rule to generate them.
This keeps the data model simple. Updating a recurring bill means changing one rule rather than updating a collection of future payments.
- Sep 12$22.99
- Oct 12$22.99
- Nov 12$22.99
- Dec 12$22.99
- WeeklyEvery 7 days
- BiweeklyEvery 2 weeks
- MonthlySame day each month
- One-timeA single due date
Budget around the paycheck, not just the month.
BillTrackr organizes bills around individual paychecks. Each pay period starts on a payday and runs until the day before the next, allowing the app to determine which bills need to be covered by each paycheck
This was the number I wanted from the beginning: not just how much I spend in a month, but how much I'll have left from my next paycheck after the bills are covered.
- September 1 — September 14Paycheck$2,000.00
- Rent$800.00
- Internet$90.00
- Phone$75.00
- Netflix$22.99
Total bills$987.99Remaining$1,012.01 - September 15 — September 30Paycheck$2,000.00
- Insurance$160.00
- Car payment$450.00
- Gym$35.00
Total bills$645.00Remaining$1,355.00
Everything needed to plan around payday.
BillTrackr keeps things focused: add your income, schedule your bills, and let the app work out how everything lines up with your paydays.
- Calendar view
Bills and paydays together, across the whole month.
- Pay periods
Which bills fall between one paycheck and the next.
- Recurring bills
Weekly, biweekly or monthly; finite or ongoing.
- Monthly overview
Income, bills, and what’s left, side by side.
- Salary scheduling
Set your pay cadence and your first payday.
- Account management
Securely access your own bills, salary, and financial data
Tools behind BillTrackr.
A small, focused full-stack setup.
Frontend
- React 19
- TypeScript
- Vite
- Tailwind CSS
- React Router
Backend
- Django
- Django REST Framework
- SimpleJWT
Database
- PostgreSQL
- Neon
Dates & UI
- FullCalendar
- rrule
- date-fns
- shadcn/ui
- Zod
Deployment
- Vercel
- Railway
Dates are harder than they look.
BillTrackr taught me that features that sound simple a recurring bill, an upcoming payday, and a monthly calendar become much more interesting once real dates and recurrence rules are involved.
- Recurrence expansion
Turning a single recurrence rule into the actual dates needed for a given calendar period.
- Pay-period modelling
Building pay periods dynamically from the salary schedule a user chooses.
- Derived data
Keeping stored data simple and calculating occurrences, pay periods, and totals when they’re needed.
- Authentication
Using JWTs with httpOnly cookies so authentication tokens aren't directly accessible to client-side JavaScript.
- Date correctness
Learning how UTC conversion and local dates can create subtle off by one day bugs and why date handling needs a consistent strategy.
Making the foundation stronger.
BillTrackr's first version focused on getting the core experience working. The next step in strengthening the architecture behind it as the application grows.
- Centralised server state
Move server data behind React Query so bills and salary stay synchronized across views after updates.
- Stronger date handling
Standardize date parsing and serialization across the application to prevent timezone-related inconsistencies.
- Automated testing
Add automated tests around recurrence expansion, pay-period calculations, and other date-sensitive business logic.
- Fewer duplicated sums
Move shared bill, recurrence, and pay-period calculations into a single source of truth instead of maintaining similar logic across multiple views.