Inspiration
What it does
How we built it
Challenges we ran into
Accomplishments that we're proud of
What we learned
What's next for PGLIFE
My PG Living Platform Journey What Inspired Us Moving to a new city as a student is difficult, and finding a PG that is safe, affordable, and genuinely matches what is shown online makes it even harder. Many students face fake listings, misleading photos, unclear pricing, and last‑minute surprises. Living with incompatible roommates only adds to the stress.
This project started from our own experiences and conversations with friends who went through similar issues. As a team, we wanted to build a platform that reduces uncertainty in student housing and makes the process more transparent and reliable.
What We Learned Working together on this project helped us understand how real applications are built beyond tutorials.
We strengthened our understanding of React and TypeScript, especially component structure, state management, and writing cleaner, type‑safe code. We learned how Supabase works as a backend service, including database integration, authentication, and how frontend applications interact with live data.
We also explored AI integration using Google Gemini to generate natural‑language insights for roommate matching, which taught us about prompt design, API limitations, and proper error handling. On the frontend side, we focused on building a responsive and consistent UI using Tailwind CSS.
Collaborating as a team helped us learn how to divide responsibilities, review each other’s code, resolve merge conflicts, and maintain a clean project structure using Git.
How We Built the Project We began by identifying the core problems and intentionally limited the scope to build a working and meaningful MVP as a team.
We planned the main flows together, such as PG discovery, roommate matching, and owner listings. The UI was built using reusable components like cards, buttons, and input fields to keep the design consistent.
To move faster during development, we initially used realistic mock data. Later, we connected the application to a live Supabase database for verified PG listings while keeping mock data as a fallback for incomplete features.
AI‑powered roommate matching was implemented using the Gemini API, with fallback logic to handle cases where AI responses were unavailable. Where scoring logic was involved, LaTeX was used to keep the logic clear and structured.
Throughout development, we tested features incrementally, fixed TypeScript issues, improved error handling, and ensured the project built and ran reliably.
Challenges We Faced One of the biggest challenges was understanding authentication and permissions, especially the difference between Supabase Auth users and database tables, and how Row Level Security affects data access.
TypeScript strictness caused several build issues due to unused variables or type mismatches, which required careful cleanup. Managing API keys securely was another challenge. For demo purposes, exposing the Gemini API key on the frontend was unavoidable, but it helped us understand why backend proxying is necessary in production.
Balancing mock data with live data while keeping the user experience smooth also required careful coordination as a team.
Final Thoughts This project helped us think more like product builders rather than just developers. Working together taught us the importance of communication, planning, and making practical decisions under time constraints. While the platform can be improved further, it successfully demonstrates how verified data, clean UI, and modern tools can address real problems in student housing.
We plan to continue improving this project and expanding it into something students can genuinely rely on.
Built With
- google-gemini-api-(@google/genai)
- javascript
- react-18
- rest-api)
- supabase-(postgresql
- tailwind-css
- typescript
- vite

Log in or sign up for Devpost to join the conversation.