NOTE: There are three base example accounts generated on the live gohive.io demo. Demo in the video starts at 1:42
| username | password |
|---|---|
| alice@example.com | password123 |
| bob@example.com | password123 |
| carol@example.com | password123 |
Inspiration
Our inspiration mainly lies in the issues we notice in our every day lives, and how we can see these issues being much more significant as we expand our scope to include students and individuals who are underprivileged. During our time at school, we had many ambitious project ideas that we wanted to create, most of them being technology related but we came across a roadblock– there was a significant lack of collaborators that were motivated to help us make our visions come to life.
Despite this setback, this wasn't the even the biggest issue we noticed in terms of student networking. Alan, for example, wanted to pursue competitive programming in USACO but very soon realised how difficult it was to work alone. He tried to find some people to learn and progress together with him but found that there weren't any like minded individuals. In addition, Philip also experienced something similar. While perhaps not first hand, Philip had also seen his ambitious cousin working alone with no community to support her. We very quickly came to realise that aside from the limiting factor of resources and motivation, the community and social support an individual has while pursuing a goal can significantly effect their experience of chasing the goal as well as the quality of the outcome.
With this background in mind, we decided to create a networking platform for students to form study groups, where they can support and motivate each other to reach a common goal.
What it does
The app itself has one core feature, which is to recommend and allow users to join study groups that are similar to what their interest are, and to allow them to search for specific study groups.
Inside of these study groups, users can communicate with each other through the chat features, as well as schedule meetings and create milestones and goals with references for due dates.
To ensure the user is proactive in progressing with the rest of the group, we created a check-in system for the milestones, where each user has to submit text, as well as files to the particular milestone they've been working on to show proof of effort. These submissions will be then graded by a Large Language Model, who will provide feedback and decide whether the user has met the milestones requirements to a satisfactory standard.
Moreover, there is also the implementation of agentic AI through the inclusion of a chatbot that can infer based on conversation whether a user wants to schedule things (such as milestones or meetings). This is especially useful for repetitive events, like Monday night meetings every week for five weeks.
Finally, while we were building the app we realised that since we were targeting underprivileged students, there may be a wide variety of language used on the platform. As a result, we moved to having user generated content translated and cached (for the time being) to the users preferred language for seamless communication between language barriers.
How we built it
Due to the fact that we are a two person team, we had to incorporate a bit of AI-drive developement in our process as well as use a lot of boilerplate. For the frontend, we started with a heavily modified version of the initial Loveable concept that we had generated and migrated it from React.js + Vite to Next.js. We built the entire project on Shadcn/ui for the simplicity and boilerplate capabilities that it gave us, while still allowing us to have flexibility.
For chat and live communications, due to difficulties in creating two servers in such a short time, we used a socket service called Pusher.js to help us manage realtime events. We also made this consideration because we realised that scaling up horizontally would also most likely be easier with Pusher.js compared to writing a custom socket.io backend.
Next, for our API and server side processing, we used Next.js API routes due to the time constraint (although we plan to change this to Express.js + tPPC for prod) with the Prisma ORM and Postgres SQL. We made REST APIs that allowed the frontend to perform CRUD operations through different request methods and used URL slugs for cleaner code organization as well as implementation.
Finally for our third-party integrations, we used Google Cloud Storage for the storage system in our application, mainly for simplicity reasons as we already had a Google Cloud account running. Thus, it was also reasonable for us to choose to use the Google Translate API, as it is fast, cheap, and comes with a clean API. AI wise, since we may want to migrate eventually to an OpenAPI model, we decided to use the OpenAI SDK alongside a Cohere model, as it had a very generous free plan and through testing showed itself to be effective for demos.
Throughout our process, we went from Loveable boiler plate, to a modified Next.js frontend, then to a full-blown full stack Next.js app, which we are pretty proud of.
Challenges we ran into
Throughout the process we ran into various challenges, especially with the caching of translated content as well as the prompt engineering for the best outputs. Despite these challenges, as well as the very limited time frame and the fact that we are a two person team, we managed to pull through eventually with a demo and video that we are both proud of, which we think is great.
To resolve some of these challenges, we turned to searching for further documentation, planning, drawing flowcharts as well as using Cursor AI agents to help us develop the boiler plate for some of the features in our app. With some tuning, testing, and bug fixing we think this turned out great.
Accomplishments that we're proud of
We are really proud of our live translating features, as well as the agentic chatbot that can help you schedule milestones and meetings. I think another notable element of our app that we are really proud of is the design, and we thought that using Shadcn/ui really helped enhance our UI and take it to the next level.
Finally, we are also really proud of the fact that we managed to create a finished demo in less than a week!
What we learned
Through this experience, we learnt how to do a one-week sprint, and rapidly develop a MVP with various different tools. We also learnt about how to formulate ideas and how we can tune and enhance our ideas to make the solve a problem in a way we haven't thought about.
Finally, we also learnt how to collaborate better, as our team is not based in the same continent currently, and I think it is really great that we managed to work as a team effectively and produce a product.
What's next for Hive
For the future of Hive, there will be various enhancements to the current features planned. First and foremost, we will add site wide translating and more flexibility in the translations as well as meeting transcriptions with different language. We think this will really enhance the interconnectivity and cross language barrier aspect of our application.
In addition, in accordance with supporting underprivileged students, we also plan on adding a data bank of different compiled free course materials as well as the capability for fine-tuned LLM generated course materials to assist the students further in their learning.
Moreover, we also hope on creating a mobile application, which will make milestone submissions a lot easier as the user can take photos of their work directly from their phone. Also, we realise that perhaps not all students around the world have access to a desktop and thus to increase inclusivity, creating a mobile access point to our app should be within our priorities.
Finally, before we add any more fancy stuff, we want to first polish up the existing features in our applications such as adding Push notifications to remind a user when their milestone is overdue or when a meeting they have scheduled is about the occur. We are excited to continue our journey in making Hive, and hope that with Hive we can help like-minded students across the globe connect without borders or language barriers, as well believe chasing a goal solo is one of the hardest things to do.
Built With
- cohere-ai
- google-gcp
- google-translate
- javascript
- nextjs
- node.js
- openai-sdk
- postgresql
- prisma
- pusher
- react
- shadcn/ui
- tailwindcss
- typescript
Log in or sign up for Devpost to join the conversation.