HW2: “Project Proposals”

CS 359B Spring 2018


Part 1 and 2:         April 16, 2018 11:00 am

Part 3:          April 19, 2018 11:00 am


“Feedback is food for thought. Take it with a grain of salt.”

Thanks for giving feedback, asking questions and providing information and ideas to your fellow students during the last studio. Now, spend time carefully reading and reflecting on the feedback you received. Use it to polish your idea. Don’t get overly excited by the positive comments and thumbs-ups, and don’t get upset over the negative ones. It’s true that good ideas are usually getting good reviews and feedback, and the other way around. But the BEST ideas are often the ones that are non-consensus, which means that most people will criticize them because they do not understand them or can’t envision their greatness. Thus oftentimes the most brilliant inventions in human history were initially heavily criticized. If in the year 2000 a student would propose to build Airbnb as a class project, this idea would probably be dismissed as unrealistic. Many people maintained the view that  “nobody would let strangers live in their house”. Finally don’t forget that others spent only 2 mins on your idea and they don’t know all the details. Think big.

“Think big and be realistic at the same time.”

The blockchain is removing the need of trusting a mediator, so use it for services that truly benefit from decentralizing trust. Ethereum smart contracts interoperate seamlessly with each other, so use it for services that benefit from interoperability. Fungible and non-fungible crypto-assets can be easily resold. Using blockchain you can potentially avoid censorship / discrimination or achieve immutability, so use it for apps that inherently needs those properties. Blockchain could potentially achieve "commission-free" markets, but don’t forget to take into account other aspects of those markets, such as the critical mass trumping over costs and whether diminished costs is enough. How would a d-airbnb that just removes airbnb's 10% commission and provides no dispute resolution do? Take all these into consideration and propose projects that make use of the blockchain for justified reasons.

“Use the blockchain for justified reasons.”

One important aspect to consider is your passion to the project idea. So ask yourselves what makes you interested in the project you are proposing. If you are really emotional about the problem you are solving, you will have a much more fun quarter, a better outcome, and consequently a better grade.

By the end of the quarter you want to have a usable, useful dapp that could attract users around the campus and beyond. Even though customer traction is not the goal of this  class, I am sure such an experience will make you feel better off.

Certain ideas (such as services and marketplaces) may be more difficult to get adopted as they require a considerable non-computer science effort (consider partnering with external team members). Other ideas (such as airplane tickets on blockchain) may be impossible to get any traction by the end of the quarter because they critically depend on external agents (like airlines permitting ticket resale).  You can still work on such ideas if you are partial about them, but prepare to brace yourself for a long journey.

Ask yourself: “Why do I care about this idea?”

It is OK if your idea has changed from the  last presentation. You now have more experience.

See here a case study written by the TA as a debate and food for thought.


Notice we have added you to a private slack channel  to facilitate private discussions. We also recommend you to upload a photo as well so that we start getting to know each other. Here  are the deliverable for HW2. The first two are for the Monday 4/16 class, the third is for Thursday, 4/19:

  1. Submit your project idea on step #10 from the task list on dapps.stanford.edu. Only one person from each team needs to submit. (due Monday 11am)
  2. Prepare a short presentation to present your idea in detail. (due Monday 11am)
  1. Use a widescreen deck format like this
  2. Place your presentation in this google drive folder
  3. Click “File > Publish to the web > Publish”, copy the resulting link, and paste back in step 10 of dapps.stanford.edu
  4. Test that your slide plays well by visiting step 11. Use this step to practice your slides and make sure you stay on time.
  1. Project proposal write up. (due Thursday 11am)   ← This was moved to HW4, part 3.
  1. Read the feedback you received on Monday and reflect on it to improve or change your idea. Give kudos to students who gave you valuable feedback. You must give at least one kudos to get full credit.
  2. Submit a mini white paper to technically and operationally describe your project (2 pages limit). It should be a google doc in the same google drive folder, answering the questions below. It is not ok to look at other people’s submissions before the deadline. But it is perfectly fine to look at them after the deadline to learn from others’ answers.
  3. White paper format: (2 pages limit. It is important for you to think through and have solid the answers to these questions. In terms of write up, be brief: give as short answers as possible to hint your answers.)
  1. Project title
  2. Team names
  3. Description
  1. Problem / pain point
  2. Target - For who does it solve this problem for
  3. Are you personally experiencing this problem? How? (While it is better to work on a problem you care about, it is ok to answer no to this question. We are not asking you to make up reasons.) Include reasons why  is your team passionate about this project
  4. Proposed solution
  5. Impact to the world (if this works how does the world change?)
  1. Implementation
  1. How can you build this in terms of technological challenges
  2. How can you build this in terms of operational/business challenges
  3. Architecture
  4. Feasibility analysis (e.g. would this service make sense, in terms of storage and Gas costs)
  5. Plan for the following 8 weeks, and allocation of time
  1. Other essential considerations (privacy, scalability)
  2. Explain clearly why blockchain is needed for your project.
    I.e., why dapp instead of
    a centralized app 
  3. Allocation of responsibilities among the team

Class procedure

During class, each team will have 4 minutes. The first two minutes will be presentation and the remaining two minutes will be feedback and discussion. Sit next to your project partner.

Reminder: Class participation credit

Remember that 30% of your grade is based on class participation. By that we mean:

* We will NOT base your grade on peer-reviews and feedback you receive from other students. These are there to help you, not to evaluate you. But we do evaluate the feedback you give.