Nexus - Networking with Data-Driven Surveys | Appwrite  Hashnode Hackathon

Nexus - Networking with Data-Driven Surveys | Appwrite Hashnode Hackathon

ยท

4 min read

Introduction

Hey readers ๐Ÿ‘‹,

Here is my entry for the Appwrite Hashnode hackathon; I hope you like what I was able to create over these two weeks.

Github - https://github.com/manavendrasen/nexus

Team Members

Project Description

The Problem

What are we trying to solve?

Seeking like-minded individuals in conferences and communities can often resemble searching for a needle in a haystack. The vast number of participants makes it impossible to engage with everyone and identify the right connections.

Let's be real, It is not possible to talk to everyone and build your network. If only there was a way which would give me information about people who are similar or dissimilar to me and give me a starting point to build the connection.

The Solution

Introducing Nexus, a solution that empowers networking in conferences and communities. Leveraging data from a simple survey, Nexus generates an interactive social graph, visually depicting all attendees. Within this graph, individuals with similar interests and characteristics are positioned closer together, facilitating effortless identification of potential connections.

Sounds interesting right? Nexus is just that!! ๐Ÿค—

Demo Video

A short 3 min video to showcase the product.

How to use Nexus? (It's easy!)

Organizers/Community leads' POV

In 3 easy steps, communities and conferences can be superpowered!

  1. The organizers create an account on Nexus and create a new survey.

  1. They add questions to the survey

    • Three fundamental questions that act as an introduction are included in each survey.

    • The survey can have objective questions added by the organisers; the visualisation needs at least three objective questions, but the more the better.

    • If necessary, they can alter the questions.

    • Finally, they hit the Publish button to make the survey live!
      The generated link can be copied and shared.

  1. Once the survey has been filled by the attendees/members the organizer can hit the "Complete" button to mark the survey as complete and generate the visualization.


Participants' POV

  1. Visit the survey link/code shared by the organizers

  2. Fill out their email and complete the simple form, the progress bar at the top shows the progress.

When the survey is finished, the participants can view the results on the survey link; the logged-in participant is indicated by a green dot.

From here, Participants can see other participants who are similar to them and get the link to connect with them and network.

Key Features

  • Organizers can create surveys to understand and interact with the community/conference attendees.

  • Participants can network with like-minded people to collaborate and discuss.

  • The app is light mode and dark mode compatible and mobile responsive :)

Nexus empowers communities by enhancing the networking and collaboration potential by using data visualization-driven surveys.

Tech Stack

  • NextJS 13 (Typescript)

  • Zustand

  • Tailwind CSS

  • react-hook-form

  • Chart.js

  • Upstash

  • AWS Lambda and API Gateway (Python)

  • SkLearn T-SNE - Dimensionality Reduction while keeping similarities

  • Appwrite - Auth, Database

    How Appwrite helped us?

    Appwrite Cloud serverless Auth (Email and Password) and Database made it easy and fast to build the application. Used the client-side SDK to connect to Appwrite directly from NextJS.

Challenges

  1. How do I visualize the data?

    I had no idea how to convert the survey responses into a graph. Research led me to Dimensionality Reduction - PCA and T-SNE. Other algorithms can be used as well, such as Cosine similarity etc.

  2. Deploying the Python script.

    Initially, I planned on using Appwrite Functions to deploy the Python script as a simple serverless function. But, my script uses Numpy and Sklearn which are not supported by the runtime Appwrite uses. I would request the Appwrite team to allow custom container images to run the serverless functions. (known issue)

    I went with AWS Lambda with a custom image on ECR.

Future Plans

  1. Improve the visualisation algorithm and incorporate text responses into the analysis.

  2. Add more charts like - Most common responses from participants to improve analysis.

Contributing

PRs are always welcome. If you would like to add some components that you think would be useful while writing docs, you can add/contribute here.

References

Github - https://github.com/manavendrasen/nexus

Demo - Nexus - Networking with Data-Driven Surveys | Demo

T-SNE - https://towardsdatascience.com

Inspired by - Anson Yu on Twitter

Thank you! ๐Ÿค

ย