Inspiration

As incessantly busy college students, our days are packed with Google Calendar slots, where work, study, and even social interactions must be scheduled and planned at any moment. Too often, friends and family can go unseen due to busy schedules and a lack of ability to plan, and opportunities to explore your interests get left behind.

With move, we wanted to build a platform that constantly drives the creation of meet-ups and activities to promote social connection and the exploration of new events together. Whether it be an old friend or a classmate that hasn’t had an opportunity to get closer, all it takes is for two people’s availabilities and the press of a button for unlimited social interaction.

What it does

move is a social connection platform hyper focused on spontaneity, friendship, and discovery.

Built-in AI Chat At the center of move is MoveAI, our custom LLM model that scrapes the internet in real-time for fun events and locations, and utilizes a vector database retrieval augmented memory system to completely personalize results to the user, remembering all every interaction with the user and the user’s preferences, and using all of it to tailor the recommendations.

User-Authentication Keep your moves your moves. You can log in with an email and password, and sign up by making an account and inputting your birthday (need those birthday freebies!) and the location you’re based in to get the most relevant moves.

Get-to-know-you In addition to the basic sign-up, there’s a little get-to-know-you activity! It’s like speed dating, but with an AI LLM. When you first sign up for an account, MoveAI wants to get to know you: your passions, your hobbies, your bucket list. To make it quick and easy for the user, we abstracted these into general categories for the MoveAI to use initially until it gets to know you further as you make some moves.

A move Once the proposal suggested by MoveAI is accepted, a move is created. A move is a plan created by MoveAI of a spontaneous or timely event you wanted to go to, all researched for you, with the location, date, time, description, and even helpful links, such as the event page or ticket purchasing.

Explore moves Your created move will now show on the explore page for your friends to be able to join if they’re free! They can quickly read the details on the move card and join if they’re free. moves are also timely, where once the time expires, the move is gone, constantly keeping the explore page fresh with the most up-to-date plans.

Profile And don’t worry! Once a move is created, it will stay in your profile page for you to revisit at any time. Scroll through all your past moves and see who you went with and relive the memories, or even remember a great event you’d want to go to again! But don’t worry if you don’t remember, because MoveAI got you. They’ll remember the moves you choose to go on and try to continue recommending similar plans to get you and your friends together!

Add your friends to allow them to see your moves! Your unique settings and friends list are tied to the account that you signed up and log in with.

How we built it

move was built with accessibility in mind. At the cross-section of time-courteous-design and on-the-fly planning with minimal interaction, move was intuitively born. For the frontend, we used Javascript in React Native paired with TailwindCSS for enhanced styling and Expo Go for all things testing. This interface stays acutely in touch with our backend consisting of CockroachDB, ideal for durable scaling and migrations, and Prisma as a robust querying API and relations mapping system. move seamlessly integrates GraphQL for an atomic endpoint as well as client-friendly formatting, and Firebase is used for authentication and user validation. The LLM layer, the digital brain and heart of our app, is powered by a Together.AI LLM using advanced prompt engineering integrated with Zilliz as a vector database. Through Zilliz, near infinite capacity memory for both user-specific personalization and intelligent representation of data outputs is enabled. And of course, if we take a brief tour of the drawing board, there exists an arrow-packed flowchart of our data in LucidChart and vibrant design in Figma.

Challenges we ran into

Where to start? All physical hardship (caffeine addictions and sleepless nights) aside, building move felt like kindergarten all over again: being in a new place with new people, using new tools, we were challenged with making a home for ourselves (our cozy corner of the table) and learning the ins-and-outs of our tech stack. move involves many complex working parts. Throughout the development process, there was much debate about how to structure and archetype: not only would the hierarchy of data change according to a simple variable or two, but the amount of work each person had ahead of them was also heavily dependent and fluctuant respectively. We also had to make many changes to the scope of our app along the way, focusing on strengthening core features and (with tears in our eyes) choosing when to axe others. Choosing to use GraphQL to structure our API interface for the front end without also using TypeScript was ultimately a source of many headaches due to type inconsistencies and debugging difficulties. The LLM layer was difficult to optimize as prompt engineering is an inherently fickle, inconsistent, and inexact science. Finally, at every step we chose to employ industry standard best practices and tried to avoid cutting corners to finish on time. Though it led to more obstacles, it also helped us to learn immensely, which we learned was a reward in itself (of course, only after we finished).

Accomplishments that we're proud of

We went headstrong into what we thought was a very ambitious project, and it would be an understatement to say that we’re proud of what we were able to get done. With half of the team experiencing their first ever hackathon and the team working to build a real-time social networking app that relies on product-led-growth and robust feature offerings, we adopted many ad-hoc processes to get to where we did. Our team worked around the clock (shameless to say, with close to 0 hours of sleep per member and a cumulative 1800 milligrams of caffeine) and strived to ensure that everyone always had something to do. We’re proud of our teammates, especially our newbies, for the architecting and designing that they did prior to the development process. Everyone raised great concerns about code quality, information flow, security, and edge cases which simplified the specs of our build process immensely. Having a predetermined workflow like such also allowed us to work synchronously with each other, trusting each others’ contributions to accomplish the goals we had set and click like pieces of a puzzle (though of course, many adjustments had to be made :D ).

What we learned

We learned a great deal about working with ReactNative and architecting full stack systems that combine with backend ML inference layers to produce an immense level of complexity. Introducing abstractions, following SOLID design principles, avoiding tight coupling, and many other lessons helped us to minimize grief and find our way slowly to success. We also learned to ALWAYS be on the same page when it comes to the architecture of our software, and to treat good documentation as the motherly love to our brainchild. We taught ourselves to use industry-standard frameworks like Prisma and GraphQL, and also how we can streamline the integration process for frontend and backend apps. Furthermore, with two among us having never attended a Hackathon before, the pressure and unique environment of the deadline presented its own challenges and learnings, from time management to constraints and sacrifice decisions. It was so much fun to learn and work together as a team.

What's next for move

We are always on the move, so we have big plans!

The biggest is definitely deployment: we want to be able to have move in use and share it with our friends, so the most immediate next step for move is polishing the rough edges and getting it in App Stores. To get move production ready, we'd have to reinforce the backend, as well as clean up the frontend to ensure it is intuitive and polished, ready to get you on the move. And of course, we’ll need to add the hand-drawn bunny logos to liven our moves from our Figma :)

And some new features! There are some more ideas we have for move. Let us know if there are any more you’d like to see!

  • In-app bucket list
  • Invite friends to your moves
  • Filter explore (by time, cost, distance, etc.)
  • Map routes and Calendar events for users to download for each move
  • Option to upload Google Calendars to one’s profile to ask MoveAI for events around someone’s schedule
  • AI assisted group chats for each move, consisting of all the users that choose to pull up to a move
  • Private and public moves, to extend to making new friends
  • Dark mode! For different times of the day, there are different moves. Same should be for our look
  • More bunnies!

Built With

Share this project:

Updates