Inspiration

Relocating to a new city is overwhelming. While current search platforms are great for filtering by quantitative criteria like rent prices and bedroom counts, they fail to capture the qualitative essence of what makes a neighborhood feel like home - like tree-lined streets, quiet morning coffee shops, or vibrant transit hubs.

We built Polaris to bridge the gap between finding a house and finding a community. We wanted a relocation tool driven by qualitative lifestyle preferences and natural language, matching users with environments where they will actually thrive.

How we built it

We built Polaris using a serverless Next.js architecture integrated with AWS database resources.

The frontend is powered by Next.js App Router, TypeScript, and Tailwind CSS, leveraging Vercel v0 to design and prototype our UI.

For the backend infrastructure, we used:

  • AWS Aurora PostgreSQL with PostGIS enabled for querying spatial boundaries and mapping neighborhood amenities.
  • AWS RDS Data API combined with Drizzle ORM to run database queries from serverless routes.
  • Llama models to parse inputs into structured preference vectors and power the AI chat assistant.
  • MapLibre GL for rendering interactive maps and custom public amenity markers.

What it does

Polaris matches relocating users with neighborhoods that fit their lifestyle through a structured onboarding flow. After selecting a destination city (New York City, Toronto, or Mumbai), users describe a previous place they loved living in plain English. The platform takes this input, alongside selected lifestyle priorities like parks, transit access, and quiet streets, and cross-references it with their rent budget.

Once onboarding is complete, the application presents an interactive dashboard. Users can explore ranked neighborhood matches on a map, view rent ranges, analyze match evidence, and chat directly with a grounded AI agent to ask specific follow-up questions about local life.

Challenges we ran into

Our first major challenge was mapping qualitative user input into quantitative matching vectors. Users describe their preferences in unstructured English (e.g., "tree-lined Atlanta streets"), which we had to parse into deterministic, normalized preference vectors while minimizing LLM hallucinations.

We also faced the challenge of designing the onboarding flow. We had to balance open-ended text input with structured options, ultimately choosing a hybrid approach with a single free-text field to keep preference data clean while keeping the experience simple.

Accomplishments that we're proud of

We are proud of our hybrid matching engine, which successfully balances hard financial constraints with soft qualitative similarity scores and spatial distance metrics, returning highly accurate recommendations in real time.

We also succeeded in building:

  • A zero-hallucination AI chat agent grounded entirely in database records retrieved via the RDS Data API.
  • An integrated response cache layer in Aurora that drastically reduces API overhead and improves load times.
  • A high-fidelity, frictionless user interface with responsive transitions.

What we learned

During this hackathon, we learned the value of AI-driven prototyping tools like Vercel v0, which dramatically shortened our UI development cycle. We also gained experience with the AWS RDS Data API, discovering how clean and efficient it is to query Aurora PostgreSQL over HTTP within serverless environments.

Finally, we learned how leveraging PostGIS simplifies local amenity discovery compared to relying on expensive external geospatial APIs.

What's next for Polaris

Moving forward, we want to connect Polaris with real-time apartment listing APIs so users can view active rentals in their matched neighborhoods. We also plan to introduce a co-relocation mode that allows partners or roommates to take the onboarding quiz together and generate joint recommendations.

Finally, we would like to expand our database to support more global metropolitan hubs and optimize our matching logic to minimize cold starts.

Built With

  • aws-aurora-postgresql
  • drizzle-orm
  • llama
  • maplibre
  • next.js
  • postgis
  • tailwind-css
  • typescript
Share this project:

Updates