0% found this document useful (0 votes)
20 views2 pages

SimpleNight Coding Assessment

This document outlines instructions for enhancing a chatbot app with a course outline versioning feature. Developers are asked to fork a demo repo, add an API key, develop a feature to cycle between previous outline versions using undo and redo buttons, and submit a pull request summarizing their work.

Uploaded by

Ashoka Samrat
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views2 pages

SimpleNight Coding Assessment

This document outlines instructions for enhancing a chatbot app with a course outline versioning feature. Developers are asked to fork a demo repo, add an API key, develop a feature to cycle between previous outline versions using undo and redo buttons, and submit a pull request summarizing their work.

Uploaded by

Ashoka Samrat
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Coding Assessment

Objective: Enhance this chatbot with a feature

App Details: This app is a sample React NextJS chatbot app that creates an outline for a
course. The course can be updated by the API or manually modified.

Instructions

● You will be given direct access to coursebuilder demo repo:


○ https://github.com/senseilyapp/coursebuilderdemo
● IMPORTANT: Make a private fork in your own account
○ This is to ensure that the test is fair and your work is private to you and us
○ When viewing the repository click “Fork” on the top right side which will copy it
into your github account
● Create your own .env file and add the following .env variables
○ OPENAI_API_KEY=sk-
liRJJuxYkuKOhAjb5bDET3BlbkFJvTOf95XGX7mRG4dzUhMX
● Develop an “Course Outline Versioning” feature
○ As a user, I want the ability to switch to previous versions of my outline, so that I
can restore a previous version if I thought it was better.
○ It should have an undo and redo button for cycling through previous versions of
the outline.
○ The outline can be updated either automatically by the AI or manually by the
user.
■ For manual updates, it is not necessary to track each keystroke in the
history feature. However, your pull request should effectively manage and
incorporate these manual edits into the outline history. You must choose
the change detection algorithm.
● Example use cases:
○ AI Edits: User generates an outline on teaching python to beginners. Once it's
generated they ask the AI to add an extra module. The user should be able to
cycle back and forth between the 2 outline versions.
○ Manual edits: User generates an outline on teaching python to beginners. Once
it's generated they make manual changes. The user should be able to cycle back
and forth between the some number of outline versions.
● Create a feature branch for all of your work, do not merge directly to main.
● Use atomic commits so we can see the natural progression of your enhancements.
● Summarize your work in a pull request when it is completed and add “DamDam98” and
“jacquesfu” as reviewers
○ Explain your reasoning for key product decisions you made like how to break up
the manual edits into outline versions.
● Time: Please avoid spending more than 3 hours on this coding challenge.

Assessment Rubric

● User friendly UI
● Performant functionality that runs without hiccups
● Readable, structured, developer-friendly code
● Adherence to instructions
● Ability to execute pull request workflow and explain your work

You might also like