Inspiration
Rent to own contracts and consumer leases often target Australians who cannot access mainstream credit. These deals hide massive total costs behind small weekly payments. We wanted to build a tool that intercepts this exact moment of decision. By revealing the true cost, we can show users a fairer alternative: the No Interest Loan Scheme (NILS), which offers loans for essential purchases at zero percent interest but is rarely advertised. Track : Financial Inclusion
What it does
Second Door reads a consumer lease offer, calculates the true total cost, and puts that real number right next to what the same purchase would cost at zero percent through NILS.
It computes the effective annual interest rate and automatically checks if the total cost exceeds the legal cap set by the National Credit Code. It also features a private calculator to help users see if the payments are actually affordable based on their leftover income. Finally, it acts as a directory to help users check their NILS eligibility and find local providers.
How we built it
We built the application using React, TypeScript, and Vite. The core financial math runs entirely on pure functions in the browser, meaning the calculations need no network calls and have zero randomness.
To read the actual offers, we use a single serverless function that passes the offer text or image to the Gemini 3.5 Flash Lite vision model. We strictly constrain the model's output using Zod schemas. This means one definition guides the AI, validates the response on the server, and provides type safety in the browser. The app has no database and stores absolutely zero user data.
Challenges we ran into
Calculating the true interest rate meant solving the ordinary annuity present value formula. We chose a bisection algorithm over Newton-Raphson because it fails predictably and cannot diverge. We had to handle edge cases carefully, like buy now pay later schemes that sit perfectly at zero percent, or rates just inside the ceiling that compound to completely absurd percentages.
Another big challenge was building a reliable check against the statutory cost cap. The law counts whole months, but offers are quoted in weeks. We had to ensure our math rounded correctly and always resolved ambiguities in the provider's favor so the app never makes a false accusation.
Accomplishments that we're proud of
We are incredibly proud of our strict privacy and safety model. Second Door originates no credit, brokers no loans, and holds no balances. Nothing typed into the app ever leaves the device.
We are also proud of the legal cap feature. When an offer breaks the law, the app flags it and provides clear paths to complain to regulators. Finally, we made sure the app is highly accessible. Every piece of financial jargon is explained in plain language using standard HTML details elements, ensuring it works perfectly with screen readers.
What we learned
We learned exactly how complex consumer credit law is, especially when translating legal text into strict code. We also learned how to effectively lock down a language model using JSON schemas so it can reliably extract financial data from images without needing a separate optical character recognition dependency.
What's next for Second Door
Currently, our cash price estimates rely on the language model's training data, which can sometimes be out of date. We want to improve this by integrating live, accurate retail price checks so the "extra paid" calculation is always flawless. We also hope to get the tool into the hands of financial counsellors so they can help their clients spot bad deals instantly.
AI disclosure
Claude (Anthropic) was used as a development assistant throughout this project, including code implementation, debugging, and documentation.
Built With
- gemini-api
- html5
- javascript
- json
- next.js
- react
- typescript
- vercel
- vite
- zod
Log in or sign up for Devpost to join the conversation.