Try it out yourself!
Navigate to https://griffin.events, and log in with the following credentials.
username: test@griffin.events
password: griffinevents
If you have trouble signing in, try returning to griffin.events in your web browser. We are running this on a cheap VPS, so when we get a lot of users, our server can get overloaded.
Inspiration
William & Mary has so many events carefully planned by student organizations, faculty members, and the campus administration, but oftentimes, they don't get the love they deserve! This is because discovering events is a tedious task that depends more on word of mouth than any form of digital communication. Finding events at William & Mary is tedious, because there are so many platforms students have to access to look for events.
These William & Mary event platforms include:
- TribeLink
- Official W&M Events Site
- TribeCareers
- Department Mailing Lists
- Student Organization Mailing Lists
- Hundreds of GroupMe chats
- IMLeagues
- Facebook Messenger, Telegram, and Signal chat groups
- Every one-off page on wm.edu for research labs
- Every one-off page on pages.wm.edu or sites.wm.edu for research labs
- Professors' personal sites hosted on other domains than wm.edu
- Some random Weebly site that hasn't been updated since 2013 but is still linked to
... AND MORE! This is ridiculous.
Students don't have the time to sift through confusing websites and information online for hours just to stay current on what's going on on campus.
What it does
Students can ask the Griffin Events AI assistant to inform them about ongoing campus events. We aggregated data from a multitude of sources, and encoded geographical and date information, so that users can easily define the parameters of the kinds of events they are searching for. Our Retrieval Augmented Generation vector model gives our self-hosted LLM access to a complete database of event information embedded for high efficiency, high rate access, and accurate data.
How we built it
We used PropelAuth for user authorization. For the Griffin Event AI assistant, we used an LLM + RAG model. We use a fine-tuned LLM augmented that information with a RAG database. The RAG database was populated with data collected from William & Mary event platforms. RAG works by getting the collected data and then converts into vector embeddings using LangChain. We stored the vector embeddings in Facebook's vector database.
Event Metadata Collection
We gathered and organized events data from both authenticated and public William and Mary sources, detailing fields like Zoom URLs, registration links, dates, and locations.
Challenges we ran into
Setting up PropelAuth for user authentication in a production environment was a big challenge. We spent a lot of time modifying our server configuration with two reverse proxies required to have our authentication subdomain for optimal security. We wanted to do this because hackathon projects don't typically set security as a goal, but a platform like Griffin Events.
We also wanted to implement Mixtral 7B, which is notable for outperforming Meta's Llama 1 and Llama 2 on many benchmarks. Due to the limitations of our VPS (Virtual Private Server), we had to use a smaller model. We also initially struggled to find the right balance between maximizing the data available to our model and the amount of time we had. An event might match a user's criteria, but there could be other critical information on, say, a random chat group, that our scraped dataset wouldn't account for. We ultimately settled on writing a custom web scraping apparatus to aggregate results from many different event sources to create a more accurate consensus. We worried that we did not have time to implement such a complex mechanism, but we were able to finish it just in time before the hackathon ended.
Accomplishments that we're proud of
Implemented a complex Machine Learning system, Large Language Model, Retrieval-Augmented Generation, Live Document Embedding, and Vector Database within the span of a weekend. Created a beautiful website, with the help of PropelAuth on the user authentication interface, and otherwise with a lot of time spent on making the design as intuitive as we could imagine. Developed teamwork through shared development environments. Our team used developer tools such as tmux to collaboratively diagnose and debug technical issues while looking at the same screen from different computers. We started doing this accidentally, but it ended up being a creative way to work together that we had a lot of fun with!
What we learned
Artificial Intelligence / Machine Learning Web backends in Python & Node.js User Interfaces / User Experience Server Administration, Writing secure firewall rules, Writing DNS Records
What's next for Griffin Events
We are massive proponents of the Free and Open Source movement, so we plan on open sourcing our software and building in the open, where others can leverage our code and contribute to the quality and security of our codebase.
We are so proud of what we accomplished in 36 hours, and we also hope to continue working on Griffin Events to see the impact that Generative AI could have on college campuses. We see many potential advancements helping students discover events and enter communities that they fall in love with. Some ideas we want to continue to explore are:
Implement even more powerful AI models. Trials for new students, such as freshman and transfers. Build a relationship with William & Mary Administration to potentially build a partnership and make AI technology accessible to students.
Thank you so so much!
We had a great time this weekend! We really enjoyed meeting other hackers, talking to the event sponsors, and attending workshops. We look forward to signing up again next year!
Built With
- ai
- almalinux
- artificial-intelligence
- bash
- caddy
- gai
- genai
- generative-ai
- javascript
- large-language-model
- llama
- llm
- llms
- machine-learning
- mistral
- node.js
- propelauth
- python
- rag
- streamlit
- tmux
- ubuntu
- vim
- wsl

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