blog article

Final Project Spotlight: vHab with Dev Bootcamp

By Imogen Crispe
Last Updated February 16, 2017

After Jessie Yang witnessed her friend losing movement in her hand in an accident, she wanted to build an app to help people with hand rehabilitation. So she and her team at Dev Bootcamp came up with the idea for vHab, an app which uses 3D imaging to help people strengthen their hands through a variety of games. Jessie, Jenna Van Conett, Natalie Liles, and Albert Farhi explain how Dev Bootcamp prepared them to quickly learn new technologies to build their app in just one week, plus they gave us a live demo to show us how vHab works!

Can you each tell me what your backgrounds were before Dev Bootcamp and why you wanted to learn to code?

Jessie: Before Dev Bootcamp I worked as an accountant for about three years. I figured out that accounting really wasn’t my thing so I made a change and started a company with my friend which lasted for 18 months. We designed a product, and through that process I developed an interest in technology. I tried to teach myself how to code and found it really interesting. But when you learn all by yourself it’s really hard to get the whole picture. I realized I needed some guidance and that’s when I found Dev Bootcamp and started my journey here.

Jenna: I was an optician and worked in eyecare for seven years, and never really liked it. Everyone in my family is in that field so that’s how I ended up there. I knew people who worked in tech and I knew a bit about what tech looks like as a career, so I tried to teach myself how to code. After talking to a lot of different people who had gone to different bootcamps, I ended up coming to Dev Bootcamp. Part of what drew me was the nine-week remote period that Dev Bootcamp has, but also the Engineering Empathy program where they teach you how to navigate that work landscape with your coworkers and how to address difficult conversations. I’m from Michigan and moved out here for the program.

Natalie: I travelled a little bit after school and when I came back I was working in quality assurance in food manufacturing. I was never very happy with the career I was in and was thinking about a career change. I’d always been interested in web development, coding and design, so I was starting to think about web development. I looked at a number of bootcamps and online tutorials, and I chose Dev Bootcamp because I really needed a structured environment to help me achieve my goals. I never would have been able to learn what I’d learned if I didn’t have that structure and motivation at Dev Bootcamp.

Albert: Before Dev Bootcamp, I was only one year out of high school. I spent half of that year studying abroad, and the other half working as an IT Manager for a wholesale company. So although I had no coding experience coming in to Dev Bootcamp, I did have experience solving technical problems as they arose, which was definitely helpful. My original plan was to pursue a degree in computer engineering, and wait at least four years until I could produce something meaningful. I chose this alternative because the program delivers results in three months instead of four years. I was also intrigued by the level of intensity and immersion of this program.

What was the application and interview process like?

Jessie: Dev Bootcamp sends you a tutorial so you can teach yourself about Ruby and how to write a method, then you take a short test. In the interview, you get four or five questions and you talk through how you are solving each problem. After that, we had a logic question from the interviewer to see if you can think logically to solve a problem that you’ve never seen before.

Jenna: Then within 24 hours of the interview they let you know whether or not you would be a good fit for the program. You can get a soft yes which means they want you to interview again, or a hard yes where you can choose when you want to start the program. I had never coded before, so I spent a little bit more time with the material before I felt confident enough to tackle that interview. On site at Dev Bootcamp, you do have the option to repeat phases, and the interview process for repeating is very similar.

Natalie: The interview really reflected the material in the prep work. It was my first time coding in my life, so it was a little nerve wracking.

How many people were in your cohort? Was your class diverse in terms of gender, race, life and career backgrounds?

Jenna: We had 12 people in the cohort. There were four women, but previous cohorts had been 50% or 60% women. We also had a number of races and ethnicities represented; it was nice that it wasn’t all white and Asian men. Everyone has a different background. Most people are career changers and don’t have a technical background coming into Dev Bootcamp. As we got closer to the end of the program, we found that diversity in everyone’s past career, and everybody’s different skills can really benefit different projects.

What was the learning experience like at Dev Bootcamp— can you share a typical day?

Jessie: The days are different depending on which phase you are in. In Phase 1, we always had lectures at 9am, then after that we did pair coding from Monday to Wednesday. Then on Thursdays we did solo work and on Friday we worked on a group project. The day ended at 6pm, and some people would stay later to finish their work. I tried not to stay too late because my brain works better that way. From Phase 2 onwards, I got up at 4:30am in the morning to do some learning, then I went to bed early. For each phase there were different kinds of challenges because we learned different stuff in different phases.

How do you get assigned final projects and how long do you get to work on them?

Natalie: A week before our final project week, every person has an opportunity to pitch ideas that they would like to do a project on, then the class votes together for the top ideas. The teachers approve them and then we vote for the projects we want to work on. We rank them in order, and the instructors try to assign people based on their preferences. Once we were assigned to a project, we were put in a group of four people and we could start working on the project that same day and over the weekend. We worked on the project for one week.

What is your final project and how did you come up with the idea for it?

Jessie: Our project’s name is vHab and it’s a VR game for hand rehabilitation. I came up with this idea because of a personal experience. A year ago, a friend had a car accident and she lost all her hand functions. I saw her going through all the physical therapies to try to regain those functions. The whole process was very long and repetitive, really boring, plus it’s really expensive and you have to do it in the clinic. I was wondering if there was a better solution for this kind of physical therapy to make it a more affordable and engaging experience for people of all ages, either in the clinic or at their home. So that is the reason we built this app.

What sort of functionality does vHab have?

Natalie: We created 5 exercises modelled after traditional physical therapy exercises for hands. The first three are basic repetitive hand movements such as pinching, finger connect, and grabbing strength. The user can do these a number of ways, and receive encouraging messages on the screen. The last two games are a little more complicated and require more coordination. One is called Whack a Mole and the purpose of it is to select an object on the screen five times without selecting the other objects. This is great for coordination and fine motor skills, and it’s also a little bit more fun. The last game is the pinching and grabbing motion and the purpose is to drag all the objects on the left hand side of the screen to the right hand side. This is also good for fine motor skills, coordination, and muscle strength.

How do you pick up the hand motions?

Jenna: We have the Leap motion controller, which is about the size of a twinkie. It uses infrared technology to sense when your hand hovers over it and transmits those movements as data points to the computer and then we can choose to manipulate those data points however we want.

How did you create the images and graphics in the game?

Jenna: We used a JavaScript library called Three.js, it’s a 3D library that allows us to render 3D objects to the screen so that the user can interact with them. The interactive buttons and items you can pinch and grab and move are created using Three.js. The Leap motion controller comes with its own library, which we were able to take advantage of to display the hand image and give us a bit more manipulation with the objects. We were able to get those two technologies to mesh together pretty well.

What other technologies did you consider using to build it?

Natalie: We were thinking about many different libraries that we could use, for example, the Unity library works very well with the motion sensor and has a lot of built-in technology available. Unity uses the language C# and because we only had a week, we didn't want to tackle something like that. So we chose Three.js because we did know JavaScript, and we thought that was the most manageable language for us.

How many of those technologies were new to you and how did you learn them in such a short time?

Jenna: All of the libraries were new to us. Javascript itself wasn’t, but libraries can change the way that a language looks quite a bit, so we had to get over that hurdle. None of us had worked with the Leap motion controller before, none of us had tried to build a game before, so this project was a pretty big deviation from the typical skills you learn at Dev Bootcamp. It’s not your basic web application, but as a team we were definitely able to come together and figure it out - and that is a skill we learned at Dev Bootcamp. Everybody has their area in what they are good at, so when I might not know something, someone else could fill in that gap and vice versa. It really was a great experience.

Natalie: Most of the instructors weren't familiar with the technologies we were using, and they told us in advance they would try to help us as much as they could but there would be some limitations. So we were mostly just learning on our own - with the support of our instructors. We researched for the first few days, what technologies to use, we made those decisions on our own, based on our own skillsets. We worked pretty well together. We were able to successfully research on our own, Google the right answers, talk amongst ourselves, bounce ideas off our instructors, and it worked out.

How did you divide up the tasks for the project?

Jessie: At the beginning of the project, we talked about what we wanted the game to look like, what kind of content we could have in this game, and figured out what the end product would look like. We worked out what we could accomplish in this short period of time, based on the different people in our team, and their different strengths in different areas. We researched which technologies we could use, and which we could not use, then divided into two groups of two to do pair coding. We had two people working on the JavaScript part, and the other two people working on the front end– how the page would look. If we had problems, we would talk to each other and figure out how to tackle them together.

Albert: My role in building vHab was mainly the fourth exercise, known as 'Whack a Mole,' Building it presented challenges in learning the Leapjs and Three.js libraries. I had no previous experience with these libraries, and I was still new to JavaScript.

What was the biggest challenge you had while building this and how did you overcome that?

Jenna: The biggest challenge is we originally pictured this app looking quite different. We wanted to include a level that had block stacking, because when you look at existing physical therapy exercises, they talk about picking objects up and putting them down, and stacking things. We knew we would have to include a physics engine if we were going to do that so that if you drop a block it behaves the way the user anticipates. But with the way that the Three.js library works, and the way the Leap controller works, there wasn’t a way to get those technologies to work together with the physics engine. That was our biggest rabbit hole because we spent quite a bit of time trying to see if that was feasible. In the end, we decided it wasn’t something we could accomplish in the time that we had, so we had to change tactics and redefine what we wanted this final project to look like.

Before Dev Bootcamp, did any of you ever think you would have been able to build something like this?

Jenna: No, not at all, especially with Natalie and I having no technical experience. If you had told me six months ago that I would be part of a team where we would build something like this, I would have told you you were crazy. The nice thing is, aside from teaching you Ruby and JavaScript, one of the more valuable things that Dev Bootcamp gives you is the confidence to tackle those unknown tasks, to push through, and to know that you have support. You can really do just about anything that you set your mind to. It was a huge team effort. I'm really proud of the team and what we were able to accomplish.

Albert: Coming in to DBC, I thought I would only learn to build traditional web applications, like ones that use Ruby on Rails and contain databases. Even at the beginning of our final project, I did not think I was capable of building something like this. I believe this project is a demonstration of an overlooked skill that we acquired at Dev Bootcamp. Besides the concrete skills like Ruby on Rails, SQL, Javascript, and React, which make their way to a resume, we acquired the ability to teach ourselves new technologies. This is a combination of mental and emotional strength. It's not something that the instructors told us how to do, but a side-effect of the days spent figuring things out in pairs or independently with their support. I believe this skill to be essential to the success of any programmer.

Jessie: It was an amazing experience for me, I never thought I would do something like this when I started Dev Bootcamp. We learned a lot of new stuff besides the Dev Bootcamp curriculum of Rails, Ruby, and JavaScript. I feel so proud of my team, we figured it out because Dev Bootcamp taught us how to learn stuff, and that’s the foundation for everything.

Do you think it’s possible for someone to teach themselves how to build something like this rather than do a coding bootcamp?

Natalie: It depends on the person, but I personally would’ve never been able to have the research skills and the ability to learn things if I hadn’t done Dev Bootcamp. The shared learning environment and all the help you get on site was incredibly helpful. It was a really good decision for me. I didn’t have any prior experience before Dev Bootcamp, so it was a great learning experience all around.

What are your plans for the vHab app in the future?

Jessie: After graduation I plan to continue working on vHab. I think I will add more content to the game, more practice for your hands. And I also plan to learn Unity so we can use the Unity engine in this game, make it more like a real game. It will look better and interact with your hands better, when you use the game magic. I want to keep making beautiful and meaningful things.

What are your individual plans now? What sort of jobs are you looking for?

Jenna: The job hunt started the week after graduation. The neat thing about graduating from Dev Bootcamp is even though everybody is actively looking for a job, until you have that job you are pretty free to explore whatever you want, and dig into whatever you want to learn. I really want to learn Python, so I now have the time to do that. Until I get that job I’ll continue to push myself, learn whatever I can, and figure out what else I could build in an app.

Albert: My plan for the future is quite simple. I want to leverage my technical skills to build beautiful and meaningful products. I'm not tied to any specific sector in technology, but I am looking for a job that offers growth and productivity.

Natalie: I’m really excited to have the time to brush up on everything I’ve learned at Dev Bootcamp and also explore new areas. I have started getting my resume together with the guidance of my dedicated Dev Bootcamp career developer, and I’ll start applying as soon as I feel comfortable with everything. Since I was introduced to new technologies, I don’t really have a specific job in mind right now. I really enjoyed everything, so I’m very open to everything.

Jessie: I have a great interest in the VR industry. So, I’m trying to find opportunities by going to events, talking to people who work in VR to find out more about this industry, what I can do, and how I can break in. Also, I think there are many new things I need to learn to get into this area. I’m really interested in front end work, so I will focus on that as well.

What advice do you have for other people who are considering a bootcamp?

Jenna: My biggest piece of advice is to ask questions. Find someone who has gone to the bootcamp you are considering, reach out to them, and ask them about their experience. For me, that’s what helped the most. It’s also a good skill to have because once you do get to the bootcamp, you need to ask a lot of questions in order to progress.

Albert: My advice is similar to Jenna’s – ask people who have done it already about their experiences. This should give you assurance that bootcamp graduates really are regular people with no previous coding experience, and we also were skeptical of our own abilities.

Natalie: I would say, do as much research as possible. I was on the forums a lot, I read a review about every bootcamp. I chose Dev Bootcamp for the environment, I felt like it was the most supportive environment for beginners, and that was the biggest selling point for me. I would say read all the reviews, maybe attend an open house, get familiar with the campus and see if it’s a good fit for you.

Jessie: You should trust yourself, don’t limit yourself. Sometimes you can do more than you think. Just go and learn as much as you can.

Find out more and read another Dev Bootcamp review on Course Report. Check out the Dev Bootcamp website.

About The Author

Imogen crispe headshot

Imogen is a writer and content producer who loves writing about technology and education. Her background is in journalism, writing for newspapers and news websites. She grew up in England, Dubai and New Zealand, and now lives in Brooklyn, NY.

Not sure what you're looking for?

We'll match you!