Springboard Projects
Springboard projects are an Unhackathon alternative to the traditional hackathon project. If you're interested in learning a new skill or technology, choose from one of our projects designed to get you learning by building a real project. These aren't tutorials like you've seen them online. Instead, you'll work on a project for 3-4 hours that teaches you the basics of Arduino programming, natural language processing, or design, just to name a few, and then spring off in your own direction for the rest of the hacking. If you were stuck on a project idea before, you'll be full of ideas by the time you're ready to expand. You'll be supported by mentors who are experts on your project, and encouraged by those around you working from the same springboard. This is a perfect opportunity if you're new to coding or hackathons, or if you're interested in working alone or in a pair.
For each project we've added tags of the skills you will learn and how you will apply them. We encourage you to pick projects based on what you want to learn, not what you already know.
Chameleon Chip: Light up your clothes
Microcontroller Basic electronics wiring C/C++ Wearables
Wearables are all the rage now, and in this project you will be using the Adafruit Flora along with Adafruit Neopixels to create an accessory that changes color however you want it to. We also have color sensing chips so you'll be able to set your pixel's color based on the surrounding area, or a sample of your clothing. In this project, we will start with running basic code to blink the lights built-in to the Flora board. After that, we will stitch in LED sequins and display various color patterns. Finally, we'll wire up a color sensor so that we can set the value of the sequins based on the surrounding color. Once you're done, you can change this project to display any color pattern or sequence you want.
Billboard Hat: Your head as a gallery
Microcontrollers Basic electronics wiring C/C++ Wearables
Sometimes you want your face to be a little more expressive. In this project, we will be adding an LCD to the front of a hat, so you can display text, images, or anything else right where everyone can see it. This project also includes a bluetooth chip, so you will be able to set what is being displayed right from your phone. We will start with running basic code to blink the lights built-in to the Flora board. After that, we'll add the LCD display and run a basic graphics test routine written by Adafruit. Then, we'll set up bluetooth to talk to your phone. The next step will be linking the bluetooth from your phone and the display, so that you'll be able to control the display from you phone. Finally, we'll sew the pices together onto a hat so that you can wear it and display anything you want on your head. Once you're done, you can use any of the sensors in your phone, or direct input to the phone, to control what is displayed on your hat.
Write you a Web Crawler: Grab all the bytes
Web crawling HTML Python
Crawling the web is something that no one really sees, but without which, the internet would not function. Companies like Google make it their whole business to crawl and then index every public facing site on the web. In this project, you won't be quite so ambitious, but you will learn the basic principles behind crawling websites and downloading the information in them. You'll be using python for this one, and you'll start by setting up basic website fetching in python, then move on to processing the HTML of each page and recursively visiting all the links. Along the way you'll learn a lot about the python programming language as well. Using this work, you can gather info from any of your favorite websites that doesn't have an API.
The Magic of Websockets: Synchronize the web
JavaScript HTML Go Websockets Drawing App
Most of us have used instant messaging built-in to various web interfaces, or we've interacted with feeds that change in real time. Without websockets, this real-time change is possible, but very difficult. Websockets make it very easy to synchronize two users on the web by connecting to a server with all your shared state. In this project, we will start by making a simple drawing app in javascript, and then move on to synchronizing the app with other users who are drawing by using a websocket server written in Go, a language designed to handle concurrency. This project can then be expanded to allow any form of synchronization between two web browsers on a web page, whether it be To Do lists, music playlists, or something else.
DOM devil: A chrome extension for awesomeness
JavaScript Browser extension writing DOM manipulation
If browsers are missing that one bit of functionality you depend on, this one's for you. This project will walk you through creating a browser extension, including manipulating html web pages you visit to say literally whatever you want. We'll start with a basic extension template written in javascript. Then, we'll learn about the basic structure of the Document Object Model, the data structure used by web browsers to represent all the kitten picture websites on the web. Finally, you'll move onto actualy walking and manipulating the DOM. Expansions for this project include literally anything that needs to modify things in the browser.
ClickZilla: the App
Android Development Java
These days, native phone apps are all the rage. From laundry pickup to restaurant lookup, apps change the way we run our lives. Learn the basics of creating an Android app, including demystifying all those scary menus and files in Android Studio. You'll start with just getting Android Studio setup, including setting up an empty android phone project. Next you'll move on to basic UI functionality, primarily involving clicking buttons. Finally you will add user login using a mobile framework called Parse that makes writing mobile apps much easier. After this, you'll be able to make the next Uber, or at least a useful utility or fun game on your phone.
Roll-a-Ball 3D: 3D Games in no time with Unity 3D
Unity C# Game Development
Unity is a tool and engine for the development of games. It provides most of the functionality you need to rapidly and easily prototype game ideas. Unity allows scripting using C#, Javascript (called UnityScript), and the Python-esque language, Boo. For scripting our game objects, we will use C#.
In this tutorial, we will create a simple game where you roll a ball around to collect items. We'll start with placing the items in the Unity 3D editor, and then move on to scripting the behavior of the ball to make its movement controllable by the user. From there, feel free to explore the possibilities! Once you have the game mechanics down you may want to recreate a popular game to to get a deeper understanding of how to utilize unity. You may even feel creative enough to make a game of your own! Unity has a very large and open community, and most questions can be answered with a quick web search. If not, there are plenty of mentors on the floor to help you out at any time. Happy Hacking!