Register
Submit a solution
The challenge is finished.

Challenge Overview

ATTENTION: We will be using the Subjective scorecard for this contest

 

Challenge Objectives

  • Create an Amazon Alexa Chatbot

  • The bot will create a project in Topcoder based on the description provided by the client / end user

 

Project Background

  • This is a Proof of Concept project. We are only interested in the demonstration of a bot using Amazon Alexa to create projects in Topcoder

  • This is the first contest in the project

 

Technology Stack

  • Nodejs version 8 (for AWS Lambda). Use only Nodejs for your AWS Lambda function

  • Amazon Alexa

 

Code access

You are writing the bot from scratch. There is no code to share.

 

Individual requirements

Create a bot in Amazon Alexa using AWS Lambda as the endpoint

  • There are two entities at play here. One is the Amazon Alexa bot and the other is the AWS Lambda function that not only acts as the processor for the bot but also creates a project in Topcoder

  • First, let’s understand the responsibilities of the Amazon Alexa bot.

  • The user will invoke the corresponding skill in Alexa and describe to it the bug that they have come across. This is expected to be a natural conversation. Capturing the bug description is the main task of Alexa.

  • The conversation could occur as follows:

User: “Alexa, I want to talk with Topcoder”

Topcoder App: “Hi Adam, you’ve got Topcoder here, are you looking to report and fix a bug OR get a task done?”

User: “I want to fix a bug.”

Topcoder App: “Great, we’re good at that. Please tell us about the bug now and we’ll create a Topcoder project automatically for you. Please go ahead…”

User: “OK, for our customer portal application, we have a gnarly bug when a new user joins a new group they ___________________________ .”

Topcoder App: “OK, I’ve got that”

  • Thus, Alexa captures the description of the bug or task that the user would like to see carried out.

  • Now, coming to the Lambda function that will be the endpoint for the Alexa bot.

  • While the lambda function will control the flow of the conversation, once it has the details of the bug or task, it needs to proceed to create a project in Topcoder. Details of the API will be shared in the contest forum.

  • Once the project is created, Alexa needs to let the user know about it and end the conversation.

 

Deployment guide and validation document

Submit a README.md file or a Word document describing how to deploy both your Alexa bot and the Lambda function.

Additionally, also submit a Verification.md file or a Word document describing how to verify that your solution works. Alternatively, you can also submit an unlisted Youtube video url.

 

Important Notes

  • You are not expected to have the same conversation as described above. You do have the liberty to come up with a different conversation flow, as long as it is natural and is able to correctly capture the description of the bug or task.

  • You need to correctly model your Intent to be able to capture bug description across domains (front end, back end, database, design etc)

  • We understand that Alexa does not record forever and is only able to capture 6 to 8 seconds of the conversation at a time. You can assume that the describing the bug or task will not exceed this time. You could also prompt the user if they wish to provide additional description to increase the length of the details captured, before creating the project, though this is optional.

  • The primary intent of Alexa is to capture the bug or task description. Anything else is secondary. Also, you cannot expect the end user to ask or respond only in a certain manner. In other words, make sure that you define your Intents well and not expect only a certain category of responses.

  • Hint: Since Alexa works with Slots and you need to provide sample Slot values for correctly capturing bug or task descriptions, you might have to prepare a large sample of Slot values. Please make sure that these slot values are related to descriptions of bugs or tasks and not just random gibberish that is unrelated to the type of service that Topcoder provides.

  • You need to gracefully handle incorrect replies, help Intents, as well as scenarios where the user did not respond properly to the bot’s questions. Prompt the user again or guide the user on what is expected are some of the acceptable approaches.

  • Alexa needs to let the user know that their project was created.



Final Submission Guidelines

Submit both the Alexa bot and the Lambda function, along with the deployment and verification guides.

 

ELIGIBLE EVENTS:

Topcoder Open 2019

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30079176