Inspiration

Life gets busy. Making time and decisions to recreate is not a trivial task for a variety of reasons. Most of us have busy schedules and exhausting occupations. Who has time or energy to plan and organize events -- and do so without creating conflicts?

What it does

Gather is a full stack web application that is designed to make connecting with friends, family, coworkers as stress-free and simple as possible. The goal of our application is to motivate users to connect with each other and live their best lives, without the hassle of hashing out all of the details.

Gather has a simple user interface that makes it approachable and easy to use. After registering an account, users can create and join groups that facilitate streamlined event management. Gather supports two main classes of event suggestions: custom suggestions, created by users, and interest-driven system generated suggestions. Users can suggest custom events to be pushed to one or more of their group members' feed. Similarly, user- and group-tailored events are suggested by our internal algorithms based on prior event selection and calendar analysis. Potential generative suggestions are updated on a biweekly basis based on event data that is scraped from the web. After an event is suggested, an event enters the suggestion stage. At this point, an event component displays the extent to which their group mates have indicated interest in the event. After a unanimous vote, the event enters the scheduling phase (if there is not a predetermined time). Then, users indicate a generic block (morning, afternoon, evening) in which they'd like the event to take place. Our system will process this data and repoll users to reconcile any potential conflicts. If conflicts are unable to be resolved or group interest is not unanimous, the event will revert back to the suggestion stage in a deprioritized state.

How we built it

The tech stack is comprehensive and cutting edge. We built our full-stack web application using Nuxt, Hono, SQLLite.

Challenges we ran into

Our chosen architecture created difficulties implementing our web scraper, which needs a fairly robust runtime environment (to support popular libraries like puppeteer, etc). Additionally, most of our team was learning how to use some of the technologies during development.

Accomplishments that we're proud of

Our idea is original and fills a specific niche with high demand. We have a modern application that is extensible and usable. The abstraction of our project allows us build directly on top of what we already have.

What we learned

We learned about next-gen technologies that prioritize performance and develop-ability. We learned how to manage and prioritize task completion.

What's next for Gather

  1. Extend Gather to allow users to pick events that only work for a subset of a particular group, including one on one encounters.
  2. Extend our architecture to support workers hitting an external crawling endpoint to get more personalized event suggestions.
  3. Incorporate calendar integration to automatically detect scheduling conflicts.
  4. Allow user-specified "breaks" that would preclude event scheduling despite lack of calendar conflicts.

Built With

Share this project:

Updates