Inspiration

Finding apartments in Blacksburg, VA can be overwhelming for students and renters. We wanted to create a tool that makes browsing listings easier and more informative, providing both essential details and AI-generated insights.

What it does

Blacksburg Apartment Finder lets users:

  • Browse apartment listings with photos, prices, beds, and amenities.
  • Generate AI-powered summaries for each listing with pros and cons.
  • Ask the AI chatbot questions about apartments, neighborhoods, and availability in Blacksburg.
  • Get interactive suggestions in real-time without losing context during a session.

How we built it

  • Frontend: React + TypeScript, with components for listing cards and a chatbot widget.
  • Backend: Node.js + Express API serving apartment data and handling AI requests.
  • Database: PostgreSQL to store listings and AI-generated summaries.
  • Scraper: Puppeteer script to pull apartment listings from Apartments.com.
  • AI Integration: OpenAI GPT-3.5-turbo for both summaries and chatbot conversations.

Challenges we ran into

  • Handling API rate limits and errors from OpenAI.
  • Maintaining session-based memory for the chatbot while clearing it on page reload.
  • Creating a responsive, clean, and modern UI for the listing cards and chatbot.

Accomplishments that we're proud of

  • Full-stack project integrating scraping, AI, database, and frontend.
  • Interactive AI chatbot that provides context-aware suggestions.
  • Dynamic “Get AI Overview” feature for apartment listings.

What we learned

  • Working with Puppeteer for web scraping.
  • Managing PostgreSQL databases with Node.js.
  • Integrating AI APIs into a web application.
  • State management and UX design for chat interfaces in React.

What's next for Blacksburg Apartment Finder

  • Improve AI responses with more contextual awareness of user queries.
  • Add filters for price, pets allowed, and other amenities.
  • Deploy the project with a modern cloud hosting setup.
  • Implement user accounts for saving favorite listings and chat history.
Share this project:

Updates