Final Project

Final Project

This assignment will ask you to explore the concepts introduced in class and build out a zero-ui web application.

Brief: Prototype a web-delivered product or service that does some good and uses a zero-ui or chat-based approach.

Due Date: Monday Dec 12, midnight

Submission: Add completed code to a folder called ‘final project’ in the Student section of the course’s GitHub Repo. Document your bot in a README.md file in the root of this folder.

To help support your learning and the development of this project, you’ll scaffold up the project over a series of 4 deliverables.

Learning Objectives

As part of the exercise, students will:

  • build familiarity with rapidly prototyping a web-service and deploying it on the web;
  • apply skills from the course to design a zero-ui interaction with either SMS, Slack, Alexa and/or Twitter.
  • work through a design framework for translating ideas into code-based applications;
  • becomes familiar with concepts in chat-based interactions by applying them;
  • develop your skills with APIs, databases, storage and writing Sinatra applications;
  • apply what you’ve learned so far to create your own personal web service that works in the wild.

Deliverables

You’ll deliver the following

  • A deployed (live) web application that anyone can interact with through the web
  • Code for the application submitted to a folder called final-project on Github
  • Documentation of the project (contributed to the Gallery).

You’ll also participate in a showcase of the outcomes. You’ll prepare a 1-minute overview, a illustrative poster, and a demonstration.

Process

We’ll build up to the project over a few week. Each week you’ll deliver a small component of it that will help you progress to a full implementation.

Each week you’ll add to the documentation for your project and include these elements.

Week 1: Planning and Conceptualization

  • Proposal: Develop a basic description of the application you want to build
  • Matrix: Create a priority matrix of features you would like to implement
  • Workflow: Develop an annotated workflow diagram that explains how the application you want to build will work

Week 2: Technical Needs

Week 3: Experience Prototype

  • Develop an experience prototype of your application.
    • Based on the worflow, script your interactions with the interface.
    • Translate your workflow into pseudocode and a basic cut of the application
    • Set up your web application (use a template, setup heroku, build out your basics)
    • Test your proof of concept

Week 4: Implementation

  • Implement your data models for the project
  • Connect it to any third party services you might want to work with
  • Add personality and alternatives
  • Refine, test, deploy and add additional features if time allows.

Resources

Inspiration

Guides and Reflections