Hey 👋! Congratulations on getting to coding challenge stage.
The purpose is to allow you to get hands-on and write some actual code, which we will review and discuss during your technical interview.
The goal is build a small React application where a user can chat with an AI through a simple UI.
-
A user should be able to type messages into a text box and see their messages appear in a conversation view.
-
When a user sends a message, the application should call the OpenAI API, which will respond as if it were a chatbot. The responses should be displayed in the conversation view.
-
The conversation view should clearly differentiate between messages from the user and responses from the chatbot, perhaps by differentiating the color or side of the screen for each.
-
Implement a backend API to sit between the frontend and the calls to OpenAI.
Feel free to add other relevant functionalities if you want and have time.
-
You must use React for the user interface and TypeScript. You are free to use any other libraries you are comfortable with.
-
The application must call the OpenAI API, with the API key provided on email.
-
You should handle errors gracefully and inform the user when something goes wrong.
-
Your code should be clean, well-organized, and easy to understand.
-
Implement tests that you see fit.
-
We're not expecting a masterpiece of design, but the app should look acceptable to a non-technical user. There should be some attempt at styling, feel free to use whatever framework/tools you’re familiar with.
-
Please don't spend more than 90 minutes on this exercise. This is meant to be a starting point for our technical discussion and does not need to be a fully polished, production-ready application. You can note the things you would have done if you had more time and we can discuss it during the interview if you like.
-
Share with us your git repo link, at the latest 24 hours before your interview (Github usernames: @simonwh @pax-k @Volland)
Have fun!