Seven Tips for Building an Awesome Capstone Project

Editor’s Note: The following post was written by G Scott Stukey. An earlier version of this article appeared on his personal website. It has been republished here with permission.

Students—Welcome To Thunderdome

I jest… Capstone project time is not really Thunderdome. It’s an awesome time where you get to showcase the data science chops that you’ve accumulated over eight weeks of learning at Galvanize. Everyone around you is doing the same. I’ll have many fond memories of the days (and nights) hashing out my app.

I’ll assume at this point that you have an amazing project idea and some concept of how it provides value. Below are seven tips for the execution of your project that I can share based on my experience.

1. Scope Your Project Properly

Make sure you know that you can complete a project in two weeks, not two months. A lot of students during project-time cut non-essential features to help get their project up and running in time.

It’s best to make a list of project features and classify them as need to have, like to have, and nice to have—so you know where to focus your time. If you have to cut something, you know to cut the features that don’t add value to the core idea.

2. Get Your MVP Up in the First Week

This means get all of the ‘need to haves’ out of the way. If nothing else, you can feel good that you have something read.

For example: my project, Localebnb, was up and running live at the end of week one with a basic TF-IDF/Naive Bayes Classification model on text. The first model had nearly zero parameters tuned. In week two, there were three different model types tested across a robust gridsearch across parameters, with a completely different model type (SVC) performing the best on cross-validation.

3. Don’t Skimp On Comments and Commits

Do not wait until the end to add your comments. I repeat. Do Not Wait Until The End To Add Comments!

You shouldn’t eat up a lot of time focusing on comments early on, but they definitely help you recall what’s happening. It’s also nice not having to comment in bulk at the end. Same thing with Git commits—commit often, with each commit doing a discrete set of actions. This is not trivial. Employers may look at your commits as a sign of your organizational skills and ability to work in a team setting. If there was one thing I wish I could do over again, it’s this. Here‘s a great resource.

4. Presentation Aesthetics Matter (but Focus On Content First)

First and foremost, deck content is more important than deck design. After all, you can’t polish a turd. However, having a polished deck design—something more than a standard template—will help you tremendously in communicating your idea.

How can you improve your deck? Use color, change fonts, don’t rely on default orientation. If you think a slide has too much text, it probably does. A great resource is this Slide Design for Developers by Zach Holmann.

(You can check out the slides for my project, Localebnb, on Github and Slideshare.)

For content, I focused on:

  • Explaining the problem I was attempting to solve, and why I wanted to solve it.
  • An overview of the app.
  • Methodologies, Learnings, and Future Steps.

For aesthetics, I used Airbnb’s font (Circular), added a stripe on the left, used minimal text on slides—allowing me to control the room—and added a few animations and highlights to help guide viewers’ eyes to where I wanted them to look.

5. Practice, Practice, Practice Your Presentation

This is a given. Beyond the in-class practice, practice with partners. You’ll get the jitters out. I kid you not, we were practicing the morning of our presentations. (And I messed up both of my dry runs!) Practice, practice, practice. And when it comes time for the actual presentation, you’ll know your content by heart and kill it!

6. You Get What You Put In

There’s a question nearly everyone asked during project time: “I only have ____ time—should I focus on putting time in on [X] or [Y]?” My answer is: “yes.”

Projects reflect the amount of work put in. You can see the quality in the people who spent those late nights and weekends on their projects. I’m not saying go overboard, but definitely care about your output. In the above example, if X and Y are both important, then you should consider putting additional time in on both.

7. Push Yourself (and Each Other!)

I think this was my favorite part—where people were helping and encouraging each other to better their projects. I’d like to say that almost everyone in the class received an amazing tip, trick, or idea for their project from a classmate. This doesn’t ‘just happen’. So make sure to talk to your classmates about their projects and be receptive to feedback from others about yours.

Bonus Tip: Enjoy the Experience!

Try not to overly stress out and make sure to enjoy the experience. At the end of it all, you’ll have something awesome that you can show to your friends and family, and of course, potential employers!

I wish you all the best of luck!

Want more web developer tutorials and content? Subscribe to our web development newsletter.