Skip to content

Final Demo: Video Milestone

Due Date

Monday, April 22
Grading: Individual


Every team member must take part in the final presentation/demo video. You can take turns, or alternate, as you see fit. Make sure every one of you says his or her name before speaking (for the first time) so I know who is who.

The complete video presentation must be no longer than 15 minutes, shoot for somewhere between 10 and 15 minutes.

The points you have to cover:

  • Introduce your team
  • Explain the problem/use-case your app is meant to solve (second most important part)
    • Explain the problem they have, or the problem your team decided to address. Use examples. Remember that we know nothing about your app. It is common to assume that because you have spent 9 months on this that the rest of the world knows everything about it too.
    • Describe how they do things now, without your app.
    • Specify the goals of your app. Which user pain points are you addressing?
  • Mention the technologies you used in building and deploying your app.
    • Give some details into how they fit together
    • Any technologies that did not work out? or worked out very well? give a quick explanation
  • Demo (most important part)
    • Show the major features.
    • If possible, have an ongoing story for the user(s): why is he using your app?
    • Make sure you explain what you are doing as you tap on buttons
    • Make sure we can see what you are doing, and the results

Optional: If there is a particular technology or technique you can spend some time discussing it: how to use it, how it saved you time, etc. This would be like a very short tech talk. Alternatively, maybe it is a technology you would not recommend. Do this only if you find that there is not enough to talk about given the above points.

Tips for Improving your Presentation

Note, some of the tips below are for a live presentation.

  1. Populate your app with real data
    Blank screens are boring, as are screens full of lorem ipsum. Populate your app with realistic data. Make the app look like you, and the whole world, has been using it for a year. The data will help the audience understand what your app is meant to do much better than any words you might say. 2.
  2. Tell a Story. Act it out.
    Don't say "You can send a message by...". Instead, say "Alice (point to Alice, who is one of your team members) wants to send money to Bob (another one). She simply clicks..." The team members can then actually do the thing the narrator is saying they will do. Or, they can themselves narrate what they are doing. The point is that humans love stories and hate user manuals. Tell a story.
  3. Enthusiasm
    If you are excited about your app the audience will believe it is a good app.
  4. Take your time
    You have spent 9 months working on this app so you know it by heart, but this is the first time the audience is seeing it.
  5. Write a script. Practice it.
    All the stuff above means you cannot wing it. You will fail. Ad-libbing is fine, but 99% of your demo needs to be written down (but do not read while presenting).
  6. Use multiple devices or browsers
    You do not want to be login into your app multiple times to show interaction between users, for example: chat, sharing data, etc. The audience falls asleep each time you enter your password. Instead, use multiple browsers, or browser profiles, or bring many phones.
  7. End with a Thank You Know when your talk ends and tell the audience it is over with a loud "Thank You" or similar phrase. Do not just drift off, or start improvising new things to say. End it on a high note.

Video Tips

  • Camtasia and Screenflow are the most popular apps for capturing and editing, but they cost money. Some free alternatives include OBS Studio, screencast-o-matic. More options on this list.
  • When editing, make sure you select the audio track and click on the "remove background noise" option and the "normalize audio levels". This will get rid of the annoying buzz and make your voice much more easier to understand. If you can, use a good microphone.
  • Make sure you crop the video so we only see your app, not your desktop background.
  • If you have a phone app, use the emulator and screencasting software. It will look much better.
  • To capture screenshots and make animated gifs I recommend monosnap. Free for macs and windows.
  • To capture video from an Android phone on a mac use Android tool for Mac.
  • To view and control your Android phone from your laptop use Vysor chrome extension or adb for chrome,
  • To capture video from an iPhone/iPad on a mac use Quicktime.
  • Do not use music, just talk.
  • If possible, first set your app to one of the standard resolutions: 480p = 854x480; 720p = 1280x720; 1080p = 1920x1080. Then crop to exactly this window. There are free apps out there that will let you open a window to a specific size.

You can always just point your camera at the screen. This works especially well for mobile apps where you need to show how the user interacts with the app (tilting, swiping, yelling, etc).


  1. Create an Issue in your repo titled "Final Demo" and either upload your video into the Issue or add a link to the video hosted at youtube (or similar).
  2. Assign the Issue to @josemvidal

Grading Rubric

Area Excellent (90-100) Good (80-89) Bad (65-79) Failed (< 65)
  • Holds attention of entire audience with the use of direct eye contact (look into camera), seldom looking at notes
  • Speaks with fluctuation in volume and inflection to maintain audience interest and emphasize key points
  • Consistent use of direct eye contact with audience/camera, but still returns to notes
  • Speaks with satisfactory variation of volume and inflection
  • Displays minimal eye contact with audience/camera, while reading mostly from the notes
  • Speaks in uneven volume with little or no inflection
  • Holds no eye contact with audience/camera, as entire report is read from notes
  • Speaks in low volume and/ or monotonous tone, which causes audience to disengage
  • Content / Organization
  • Provides clear motivation for the app and its design, clearly explains features so anyone can understand, covers all important aspects of the app
  • Provides some motivation for the app and its design, explains features somewhat well, covers some important aspects of the app
  • Attempts to provide some motivation for the app and its design, explains features poorly, covers some aspects of the app
  • Does not provide good motivation for the app and its design, does not explain how features work, poorly overs aspects of the app
  • Enthusiasm / Audience Awareness
  • Demonstrates strong enthusiasm about project during entire presentation
  • Significantly increases audience understanding and knowledge of app and problem domain; convinces an audience that this is a useful and easy to use app
  • Shows some enthusiasm about project during the presentation
  • Gives the audience some understanding and knowledge of app and problem domain
  • Shows little enthusiasm or mixed feelings about project during the presentation
  • Gives the audience little understanding and knowledge of app and problem domain
  • Shows no interest in project during the presentation
  • Gives the audience no knowledge of the app or problem domain
  • Based on rubric from

    Last update: January 3, 2024