Thursday, November 9, 2023
-
5
min
Morrow AI Hackathon 2.0 Summary
Thanks to the success of our previous AI Hackathon, we decided to give our developers a day off client work to get creative with OpenAI's API once again!
We offered a $150 Amazon Gift Card for the winner and invited Sole Retriever's CTO, Cole Townsend, to judge the projects. As always, our developers did not disappoint and came up with some exciting ideas.
Let's dive into the summary of Morrow's AI Hackathon 2.0
The Brief
The developers were given a brief by Morrow's Managing Director Oliver Edis:
- You can explore new ideas or pick up your project from the last AI hackathon.
- Take advantage of the GPT-4 APIs, which have come out since the last Hackathon.
- Did you team up for the last Hackathon? You can either team back up with the same people, find a new group or venture out independently.
- You will have the day off of client work to work on your project.
- Present your project to the team and the guest judge in a 5-minute presentation.
The team had a day off client work and could focus solely on their Hackathon projects. The next day, they presented the projects at a team social online.
Without further ado, let's see what the team came up with!
Costas' AI Project - "Roomy"
Morrow's senior developer, Costas, worked on a game called "Roomy".
The user instructs the app using natural language with what they'd like the people in the game to do. The AI translates the commands into machine-code actions that move people and items around the rooms.
Costas' target was to experiment on how AI can understand an APP state and generate commands to "use" the app.
Primary languages, frameworks and tools used: React Native and Expo
Specific libraries, APIs or data sources that played a crucial role in the project: Microsoft-Bing (Dall-E) for creating game graphics.
Langchain package to help organise the requests.
What were the obstacles, and how did you overcome them? "Langchain was not sending the data correctly, so I reverted for this part to using 'fetch' directly to the API.
Sometimes, the AI will not respond with JSON code (as explicitly requested) but also insert some text in its response, which causes the APP not to be able to process the response. Also, if you ask it to do something that involves an extensive list of actions to accomplish its purpose, it mixes things."
What would you do differently next time?
- "Experiment more on how I train the model once, and just send the current state and the human prompt for the process.
- Experiment with how I can train the model to construct a more extended array of actions.
- Make response parsing better to 'clean out' non-wanted text in response.
- Make chat more complex so AI can evaluate and possibly self-correct its answers."
Key takeaways or insights from this project that you would like to share? "The original idea was to test whether you could use 'chat/speech' to navigate around an app instead of tapping, etc. But this demands better response times on processing. That's a challenge.
Also, better training of the model so that it can handle more complex requests."
Any other feedback? "Although challenging, it was quite fun working on this project."
Brian's AI Project - "JARVIS"
Brian, a software engineer, created "JARVIS" - a conversational agent that can do general tasks like web browsing, image generation and talking to users.
Primary languages, frameworks and tools used: Typescript, React, NodeJS/NestJS, Docker
Specific libraries, APIs or data sources that played a crucial role in the project:
Langchain & OpenAI for conversational models,
SerpAPI for web search, DALL-E for image generation, OpenAI Whisper for transcribing audio, and Weaviate for storing embeddings/vectors.
What were the obstacles, and how did you overcome them? "Creating an agent which can do more complex and multi-step tasks is hard. One query might have more than a single task, so I had to call GPT API several times with the right prompt and at the right time and slowly format the prompt so that GPT could take action."
What would you do differently next time? "I tried to do text-to-speech with actual models that run on my CPU, which was a real challenge. And it took me so much time. Next time, I'll integrate ready hosting APIs that can do the job for me."
Key takeaways or insights from this project that you would like to share? "If we are going to develop projects based on the GPT models, prompt engineering is one of the primary skills that is important. You can get more efficient just by typing the suitable prompts."
Any other feedback? "Everything was great!"
Ivan's AI Project - "MultiTales"
Ivan, a senior software engineer and the winner of our previous Hackathon worked on "MultiTales" - a short story generator. "MultiTales" provides the user with multiple choices for each step of the story and allows them to create the initial story premise. The AI then continues generating the rest of the story, with user choices at each step determining the ending.
Primary languages, frameworks and tools used: SvelteKit (with node server plugin), and SkeletonUI (Tailwind) for interface creation. LangChain JS for communication with OpenAI API
Specific libraries, APIs or data sources that played a crucial role in the project: LangChain JS for communication with OpenAI API
Zod schema validator.
What were the obstacles, and how did you overcome them? "Making sure I get back consistently structured JSON responses from OpenAI API and keeping the state of the previous conversation for every user accessing the app."
What would you do differently next time? "The project was a success, so I would not do anything differently!"
Key takeaways or insights from this project that you would like to share? "OpenAPI V4 is much better than V3!"
Kelvin's project - "LogoGen"
Kelvin, a software developer, worked on a logo generator app which uses your given description to create 10 different logos.
Primary languages, frameworks and tools used: TypeScript, React Native and Tamagui
Specific libraries, APIs or data sources that played a crucial role in the project: OpenAI API
What were the obstacles, and how did you overcome them? OpenAI API does not support DALL·E 3 model, which would offer better results.
Any other feedback? "Great initiative!"
Petko's AI Project - "Lango"
Petko, Morrow's React Native developer, worked on Lango - a web app allowing users to chat with a bot in different languages.
The user selects the language to write and the language in which the bot replies.
Lango lets you train how well you know a language by giving you a sentence recommendation if it thinks what you wrote isn't grammatically correct. You can switch the input and output languages without starting a new conversation.
Primary languages, frameworks and tools used: Expo, React Native Web and React Native Paper
Specific libraries, APIs or data sources that played a crucial role in the project: OpenAI API
What were the obstacles, and how did you overcome them? The biggest obstacle was recording voice for a speech-to-text functionality. I was using expo-av, which didn't work, and I ran out of time to fix this issue.
What would you do differently next time? "Plan my time better so I could try other ways of voice recording."
Key takeaways or insights from this project that you would like to share? "Recording voice didn't work at all on the web, while on mobile, I could save a file."
The Winner of Morrow's AI Hackathon 2.0
Cole Townsend, the CTO of SoleRetriever, a sneakerhead mainstay, and Morrow's client, kindly agreed to be our AI Hackathon 2.0 guest judge. After some deliberation, Cole announced the winner: "On the combination of the technicality, completeness of the project, creativity and overall presentation, I am awarding the win to our reigning champion Ivan for making a great storyteller! There were some pretty ambitious projects there. Great job all of you!"
"On the combination of the technicality, completeness of the project, creativity and overall presentation, I am awarding the win to our reigning champion Ivan for making a great storyteller! There were some pretty ambitious projects there. Great job to all of you!" - Cole Townsend, CTO of SoleRetriever
Congratulations to Ivan once again! Will someone finally take the crown from our reigning champion in the next Hackathon?