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.
Built With
- css
- express.js
- html
- javascript
- node.js
- openapi
- postgresql
- puppeteer
- react
- typescript
- vite

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