Inspiration

We realized that as college students, landing an internship is always exciting, but one stressful aspect that comes with this is the process of moving, whether it is during the school year or the summer. That is why we created What's the Move. This application together provides a fast, “snapshot” of what relocating for a given job might look like, costs, distance, housing, and potential red flags, all in one place. We wanted this to be an easy-to-use tool where we would be the blueprint for a person's move, and show them roughly what the move will cost, and possibly look like.

What we learned

With this application, one thing we learned more about is how to properly receive data. We also learned how to work with git commands, so everyone was using the right and common practices throughout our workflow.

Code-wise, we definitely learned more about LLM usage and how we could utilize it to get information from a specific link. We figured that because LLMs are fundamentally good at taking words and predicting meanings, we could use them for subjective, non-programmable tasks. Another thing we learned about in the backend is how to use custom Google search engines to go through a CSV file and populate rows that we wanted to append for apartment searching, which gave us valid links for each apartment. Front-end-wise, we all learned how to create a custom bit string in the backend URL, where the front-end would fetch this URL to gather its information to output using a Rest API and fly.io. This process was unique and something we didn't know about before the hackathon, so it was worth the time to learn and utilize.

How we Built "Whats the Move"

We built What’s The Move as a React/Vite single-page app talking to a FastAPI backend over simple HTTP endpoints. The backend’s main file, backend/main_service.py, exposes /whatsthemove/... to build a full move plan and /job-search to analyze a job posting URL. The move endpoint parses origin, destination, dates, transport/housing flags, and budget into a MoveRequest, then calls submodules: a job inspector (fetches the job page, cleans it with BeautifulSoup, sends it to the OpenAI API, and returns structured JSON), a housing selector (reads an apartments CSV and returns up to 10 options under budget), and transportation estimators. For transportation, we use a flight distance helper (with airports.csv + geopy to compute great-circle distance between airports) plus Fly.io-friendly static estimators for U-Haul, moving help, bus, rental car, and own car. The backend returns a single JSON with job_summary, request, transportation, and housing, and the frontend encodes user inputs into URLs/flags, calls these endpoints, and renders the response into cards for job info, transport options, and apartments.

Our Biggest Challenges

Our main challenge throughout the entire hackathon was organization. Although we did a great job assigning roles/tasks to each other and getting them done, we tend to see that we would always trip up on each other, which led to longer and longer time spent on deployment. We were not very organized with each other and lacked communication in the aspect of code. We felt as if sometimes we didn't know what someone else was doing.

The other main issue was deployment, as there was a little knowledge gap. We did a great job connecting all the backend logic and all the frontend logic together. The place we struggled with the most was connecting the backend and frontend. This was a clear knowledge gap on our part, but we showed true dedication as we have our project up and running.

Built With

Share this project:

Updates