Mini Creative Project

Mini Creative Project

This assignment will ask you to explore the concepts introduced in class and build your first zero-ui interface, an SMS service or bot.

Brief: Build a simple but useful bot that you can talk through through SMS

Due Date: Tuesday Nov 15, 12pm ET

Submission: Add completed code to a folder called ‘creative-project-1’ in the Student section of the course’s GitHub Repo. Document your bot on the Gallery.

Learning Objectives

As part of the exercise, students will:

  • build familiarity with deploying an web services to Heroku and creating a live online application;
  • learn how to use Twillio to create SMS-based interactions within your application;
  • 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.

Requirements

For this project you’ll:

  • createa project that’s deployed to a live Heroku server and that anyone can access
  • use SMS as your interactive interface
  • you’ll develop our your own concept for a simple chat interface

Deliverables

  • Code for your application: To be added to GitHub Repo
  • A link / number to your application where it can be interacted with live!
  • A short bit of documentation on your project to include: an overview of the concept, screenshots of the interaction, description of how it works and a diagram of the chat workflow, etc.

Suggested Course

Option 1: Design a personal mebot like SandiBot or BotWick

From the project

SandiMacBot is a simple scripted bot, which means most of the responses were actually typed with my fingers into a spreadsheet. It was inspired by a chat with betaworks’ Matt Hartman and based off of John Borthwick’s Botwick. It sorta sounds and feels like me. There are a couple other feeds and APIs hooked in to pull content that’s being created on the various platforms that I use, each piece of content bringing with it the context of being chosen by me. There’s a fair amount of information to be pulled and accessed via SandiMacBot, but I think there’s potential for a lot more to be surfaced. Today’s social platforms are missing out on a massive piece of how people want to engage with other people online. People lurk, browsing other people’s lives silently while asking and answering internal questions they hold. What would people want to know if they didn’t have to ask? How many people would love to ask their significant other what their shoe size is, without actually admitting that they forget? How often do you want to check in on where your bestie is, without pestering them to send you a pin or going through Find My Friends? How often would you ask your friend with great taste in music what they listened to this morning, if you didn’t have to remember where they keep that information and go through the app to find it? The slight amount of friction that exists across these and many other user journeys is just that — friction. It can be lower, and bots are a path to lower it. Currently, bots are going through the early stages of adoption. People think it’s a toy. People think it’s strange to talk to a bot. People think it’s overly self-centered to create a bot that just talks about you. But that’s what new social behaviours look like — many new social products feel like a cheap, tactless version of the ‘real thing’, and mebots are no different.

Design your MeBot and make an SMS interface for your friends to interact with ‘you’

For this option:

  • MVP (required): You should design an interface that a friend can look up information from you by typing to you (hardcoded)
  • Dynamic: Add a mini API that stores nuggets of information in a database that your bot can relay e.g. what you’re reading right now, where you are; Log requests and responses into a table
  • Services: Connect to an API or third party service to hook in information from one of your social media or other platforms.
  • Report: Send a daily report of the interactions with your bot to you. Get a sense of what people are doing and why.

Option 2: Design a Microservice

Create a simple SMS utility that other people could get value from It could be something like the Stock Tracking app we encountered in class, it could be a marketing notification app, a news alert tool, a voting machine, a game, a music/netflix recommendation, a experience diary to log food or mood, or anything along those lines. Make it something that you’re interested in and care about!

For this option:

  • MVP (required): Create a basic tool that performs a service (you can assume the users have been created and you can use seed to set them up )
  • Onboarding: Add onboarding and store registered users in a database table.
  • Scheduled task: Set up a scheduled task to deliver/request information to a user without their interaction

Resources

Inspiration

Guides and Reflections

Grading

Each component above is graded equally. Full grade (100%) is awarded for

  • all required endpoints and paramters correctly defined;
  • returing the correct information in response to a request; and
  • a valid implementation of the functionality to deliver that response;