solderq35 / Nexus

CalHacks 10.0 Project

Home Page:https://nexus-app.tech/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nexus, Empowering Voices, Creating Connections.

Inspiration

The inspiration for our project, Nexus, comes from our experience as individuals with unique interests and challenges. Often, it isn't easy to meet others with these interests or who can relate to our challenges through traditional social media platforms.

With Nexus, people can effortlessly meet and converse with others who share these common interests and challenges, creating a vibrant community of like-minded individuals.

Our aim is to foster meaningful connections and empower our users to explore, engage, and grow together in a space that truly understands and values their uniqueness.

What it Does

In Nexus, we empower our users to tailor their conversational experience. You have the flexibility to choose how you want to connect with others. Whether you prefer one-on-one interactions for more intimate conversations or want to participate in group discussions, our application Nexus has got you covered.

We allow users to either get matched with a single person, fostering deeper connections, or join one of the many voice chats to speak in a group setting, promoting diverse discussions and the opportunity to engage with a broader community. With Nexus, the power to connect is in your hands, and the choice is yours to make.

How we built it

We built our application using a multitude of services/frameworks/tool:

  • React.js for the core client frontend
  • TypeScript for robust typing and abstraction support
  • Tailwind for a utility-first CSS framework
  • DaisyUI for animations and UI components
  • 100ms live for real-time audio communication
  • Clerk for a seamless and drop-in OAuth provider
  • React-icons for drop-in pixel perfect icons
  • Vite for simplified building and fast dev server
  • Convex for vector search over our database
  • React-router for client-side navigation
  • Convex for real-time server and end-to-end type safety
  • 100ms for real-time audio infrastructure and client SDK
  • MLH for our free .tech domain

Challenges We Ran Into

  • Navigating new services and needing to read a lot of documentation -- since this was the first time any of us had used Convex and 100ms, it took a lot of research and heads-down coding to get Nexus working.
  • Being awake to work as a team -- since this hackathon is both in-person and through the weekend, we had many sleepless nights to ensure we can successfully produce Nexus.
  • Deprecated/incompatible packages for our authentication manager Clerk in the back end.

Accomplishments that we're proud of

  • Finishing our project and getting it working! We were honestly surprised at our progress this weekend and are super proud of our end product Nexus.
  • Learning a ton of new technologies we would have never come across without Cal Hacks.
  • Being able to code for at times 12-16 hours straight and still be having fun!
  • Integrating 100ms well enough to experience bullet-proof audio communication.

What we learned

  • Tools are tools for a reason! Embrace them, learn from them, and utilize them to make your applications better.
  • Sometimes, more sleep is better -- as humans, sleep can sometimes be the basis for our mental ability!
  • How to work together on a team project with many commits and iterate fast on our moving parts.

What's next for Nexus

  • Make Nexus rooms only open at a cadence, ideally twice each day, formalizing the "meeting" aspect for users.
  • Allow users to favorite or persist their favorite matches to possibly re-connect in the future.
  • Create more options for users within rooms to interact with not just their own audio and voice but other users as well.
  • Establishing a more sophisticated and bullet-proof matchmaking service and algorithm.

About

CalHacks 10.0 Project

https://nexus-app.tech/


Languages

Language:TypeScript 80.9%Language:JavaScript 14.2%Language:CSS 3.9%Language:HTML 1.0%