-
-
The landing screen of our app.
-
The first stage of getting preliminary information from the user to make a personalized recommendation from them.
-
Second stage of getting preliminary information from the user to make a personalized recommendation from them.
-
Third stage of getting preliminary information from the user to make a personalized recommendation from them.
-
Fourth step of getting preliminary information from the user to make a personalized recommendation from them.
-
Page where user can verify their responses and edit their responses if necessary.
-
Loading screen while backend runs calculations, connects with Gemini API and makes the best possible prediction.
-
Showing user the calculation for the most affordable neighbourhood, considering cost of living, commute time, and more.
-
Interactive map where users can see all the different locations and small summaries of the cost of living for each neighbourhood.
-
Ranking of all the neighbourhoods ranked from most suggested to least suggested.
-
A detailed breakdown of the ranking of the 10 neighbourhoods currently offered.
-
A table format to view the above information.
-
Graph breakdown of how the cost-of-living and suggestion rate was calculated and visual representation of difference between the areas.
Inspiration
Finding a place to live is about more than just rent. A cheaper apartment might be far from work or have limited access to groceries, parks, and public transit, making the overall cost of living higher.
We know that many family friends that are struggling with the rising cost of living and the uncertainty of hidden or overlooked expenses, especially transportation costs that can add up quickly. We wanted to help people see the bigger picture when deciding where to live, rather than focusing on rent alone.
We created TrueRent Toronto to help people compare the total cost of living across different Toronto neighbourhoods based on their budget, workplace, commute, and lifestyle, so they can make more informed decisions about where to live.
What it does
- Compares Total Living Costs: Estimates monthly housing, transportation, and utility costs across 10 Toronto neighbourhoods.
- Personalized Analysis: Users enter their workplace, preferred transportation mode, and housing needs to tailor results to their circumstances.
- Cost and Commute Estimates: Combines neighbourhood rent benchmarks, commuting expenses, and travel times to identify cost-effective options.
- Easy Comparisons: Lets users compare estimated living costs across neighbourhoods and explore trade-offs between affordability, commute, and lifestyle.
- Informed Decisions: Helps users evaluate their options based on their individual needs, budget, and priorities.
How we built it
- Frontend: React, TypeScript, and Vite for an interactive user experience.
- Backend: Express to support application functionality.
- Cost Calculator: Custom TypeScript logic combines housing, transportation, and utility costs for personalized comparisons.
- AI Integration: Gemini API generates plain-language explanations to help users understand their results.
- Mapping and Routing: OpenStreetMap and Overpass provide neighbourhood and amenity data, while OpenRouteService supports optional road-distance and travel-time estimates.
Challenges We Faced
- Data Accuracy: Combining neighbourhood rent benchmarks, transportation estimates, and utility costs while accounting for differences in data availability.
- Calculation Complexity: Building a consistent cost-calculation engine that adapts to each user's workplace, travel preferences, and housing needs.
- API Integration: Integrating Gemini and mapping services while ensuring the app remains functional when external APIs are unavailable.
- Transparency: Presenting estimates and AI-generated explanations in a way that helps users understand the results without overstating their accuracy.
Accomplishments We're Proud Of
- Personalized Comparisons: Built a tool that compares estimated living costs across 10 Toronto neighbourhoods based on individual circumstances.
- Meaningful AI Integration: Used the Gemini API to make complex cost comparisons easier to understand through plain-language explanations.
- Multiple Ways to Explore: Created interactive rankings, charts, maps, and side-by-side comparisons to help users evaluate their options.
- Transparency and Trust: Incorporated methodology notes and tenant resources to help users understand estimates and make informed decisions.
- Full-Stack Development: Connected a React and TypeScript frontend with an Express backend and integrated external APIs into one application.
What we learned
- Problem-Solving: We learned to break down a complex, real-world problem into smaller challenges and find practical solutions.
- Coding: We strengthened our coding skills by building a full-stack application, integrating APIs, and debugging issues along the way.
- Making a Difference: We learned how technology can address real problems in our community and help people make more informed decisions.
- Learning Through Building: We discovered that creating something meaningful takes creativity, collaboration, and a willingness to learn from mistakes.
What's next for TrueRent Toronto
- Improve Data Accuracy: Incorporate up-to-date rental data and improve commute estimates.
- Expand Coverage: Add more neighbourhoods and housing options across the GTA.
- Enhance Personalization: Give users more control over their budgets, travel preferences, and household needs.
- Explore Monetization: Introduce premium features, detailed reports, and partnerships with housing organizations while keeping essential tools accessible.
- Gather User Feedback: Test TrueRent with renters and use their feedback to improve the experience.
- Make an Impact: Continue developing TrueRent into a practical tool that helps people make more informed housing decisions.
Built With
- city-of-toronto-open-data
- express.js
- gemini-api
- leaflet.js
- openrouteservice
- openstreetmap
- react
- typescript
- vite
Log in or sign up for Devpost to join the conversation.