ScoreRent
Rental decision-support web app that helps renters evaluate listings before paying non-refundable application fees.
Inspiration
I built ScoreRent after seeing people around me transitioning from university residence to real rentals. Many of them were paying expensive application fees repeatedly, only to get rejected due to affordability, missing documents, or high demand.
I wanted a tool that could reduce that risk by making the decision clearer upfront, and by showing renters exactly what is weakening their application and what they can do to improve it.
What it does
ScoreRent evaluates listing requirements against a renter profile and outputs a 0 to 100 confidence score and a verdict. The score is deterministic and explainable. It is intentionally designed as a confidence score, not acceptance probability.
Core features shown in the live app
These are the product flows implemented in the deployed version.
Guest evaluation
A renter can enter listing details and renter information without signing up and receive a score, verdict, reasons, and actions.
Authentication
Users can sign up, log in, and log out. Logged-in flows unlock saved profiles and evaluation history.
Saved renter profile
Logged-in users can save profile data such as renter type, income or support, documents available, and student fields.
Dashboard + history
Logged-in users can view their last evaluation from the dashboard and browse saved evaluations from their history.
Explainable scoring
The scoring engine starts at 100 and applies rule-based adjustments. Results include reasons, recommended actions, and a full breakdown showing score changes (before to after deltas per rule).
Scoring rules implemented
Deterministic rules designed to reflect real renter scenarios.
Affordability thresholds
Rent-to-income affordability checks using 25%, 30%, and 35% bands, with penalties applied when a listing is financially risky.
Document-fit matching
Required documents are matched against what the renter has. Missing required documents result in score deductions and clear guidance.
Demand weighting
LOW, MEDIUM, and HIGH demand levels adjust evaluation strictness to reflect competition and reduce false confidence.
Student logic
Rules for student scenarios including bursary support and guarantor support, modelling realistic renter situations.
Engineering quality
I wrote pytest unit tests for the evaluator logic to protect scoring behaviour. I also set up GitHub Actions CI to run tests on push and pull request. The app is deployed on Render with PostgreSQL persistence.
What I learned
Building ScoreRent taught me how to design system boundaries and keep behaviour predictable while iterating. It also strengthened how I think about trust and clarity in decision-support systems, where users need to understand the output, not just receive it.
From an engineering perspective, I improved my testing discipline and learned how to maintain a live deployed project while continuing to build features safely.
What’s next
Next improvements focus on stronger user safety, clearer decision support, and better reliability tooling as usage grows.