Inspiration
net4tec is an existing network providing learning hours, networking events, mentorship matching, social media campaigns and more, all with the goal of boosting gender diversity in tech. Unfortunately, the bigger it grows, the more complex its offerings. So how does any one individual quickly and easily find what is relevant for them? From the net4tec perspective: how do we ensure that users stay engaged in the website?
What it does
We've built an ChatGPT-style AI conversation bot which offers visitors to the net4tec website a clear, 5-point plan for improving their career. After a short conversation about their job, goals, and location, the bot provides the individualised plan, along with a few ideas for how net4tec can help them get there. If requested, the bot can also give links to relevant URLs.
How we built it
This prototype was built using ReactTS via Vite. All logic is executed in the frontend and connects to the Open AI API. The prompt is long and includes two JSONs:
1. net4tec offerings: This JSON represents what would eventually be pulled from a database dynamically. For now, we have hard-coded what net4tec has to offer in terms of events, social media campaigns, and other. Each of these has been assigned its own TypeScript interface to ensure type security if/when it is integrated with a backend system.
2. chat history: In order to execute a continuous conversation with the AI chatbot, we need to send the chat history through with each request. This is very clumsy but for now unavoidable as a casual user of the API. Without this, the Open AI API will treat each message from the user as brand new, and will never get to their 5-point plan.
Challenges we ran into
1. Branding: Whether or not the bot should include an icon or brand logo was a topic of much debate. In the end, we decided to use a little robot to represent the conversational partner. It was decided that this would help in terms of accessibility and ensuring that (e.g.) older users would still immediately recognise what was happening, and not mistake the conversation bot for a search bar, or something along those lines.
2. OpenAI API: As discussed, there are some severe limitations to the API which make it hard to carry on a continuous conversation. To get around it, the chat history JSON has to be sent with every request. Along with the other JSON and the long prompt, this can result in high request loads and longer waiting time.
3. Time: As would be expected, we would have loved more time to create a working homepage to lead into the bot, as well as to develop our expanded ideas (how to leverage user engagement, potential POAP gamification for attending events, etc.). Instead, we had to stay tuned in to just the chatbot.
Accomplishments that we're proud of
1. Team communication: We are all strong personalities but we also all have vastly different skills and abilities. As such, there were moments of strong disagreement but in every case we all treated each other with respect, heard the other side, and negotiated to find a solid path forward. In no case did anybody feel 'under attack' and psychological safety was maintained. It was a highly productive, collaborative environment.
2. Working prototype: Although we ran out of time to deploy this online, the prototype we have running locally works and can already do what we wanted it to do.
What we learned
1. Goals are different for different audiences: From a net4tec perspective, this is an exercise in business: driving engagement, improving rates of subscriptions, capturing email addresses, etc. For a social/women in tech perspective, this is an exercise in improving careers: getting personalised feedback on steps you can take to work towards your career goals, while also connecting you to other people and networks where you can find guidance both professionally and personally. We had to learn to focus on the latter goal in the context of the hackathon, with the understanding that business goals would of course have to drive future development if it's taken forward.
2. Respectful communication: As mentioned above, we all learned how best to communicate with each other. Our team members are from three different continents, and as such there was also a (small) language barrier. We are really proud of how we learned to communicate and work together.
What's next for net4tec AI Engage
Ideally, we would like to continue moving this project forward into a real-world implementation with a proper backend and request gating for premium members. Naturally this would require more time and commitment, and probably would be best implemented via an open-source repository.
Built With
- copilot
- openai
- react
- typescript
- visual-studio
Log in or sign up for Devpost to join the conversation.