Startup Weeks at devCodeCamp: staff, instructors, and recent grads partner with a Milwaukee Startup to build out their Minimum Viable Product (MVP) for free! Startup Weeks is an important initiative to support and improve the tech scene in Southeast Wisconsin, and Milwaukee startup Drive Assured is our second project.
I met Jessica Chapin, CEO, PhD Neuropsychology and Ryan Croke CTO, PhD Applied Mathematics, both of Drive Assured, after a gBeta event and learned about their product. Drive Assured provides objective assessments of seniors' driving when there is a concern about their safety on the road. Driving risk is estimated based on proprietary machine learning models from on-board diagnostic data and the individual's personal profile. The only thing they were missing was the database and web application to move their idea forward. It fit the devCodeCamp Startup Weeks profile perfectly. They have a great idea, but they just needed some additional talent to move their startup to the next level.
Now was the time to find some students that recently started the deployment period of their devCodeCamp experience. Deployment is the time dedicated to helping graduates to secure their first job in Software Development. They are able to work on a real-world project while presenting their projects to hiring partners and slipping out for interviews. We selected recent graduates Robert Moon, Jim Boston, and TJ Grist.
"These guys showed dedication, good technical ability, and a great work ethic while in the program. Not to mention, Robert brings leadership and experience that he obtained from the Seiva project he worked on. Their individual strengths complement each other in a way in which failure on a project, such as Drive Assured, is not an option." - Team Lead & devCodeCamp Instructor Michael Terrill
We will give you a day-by-day account of the teams progress to shed some light on why coding is such an invaluable skill. If you have an entrepreneurial spirit, you should learn to code. Check back often to get an understanding of what you could be capable of after an Immersive Coding Bootcamp like devCodeCamp.
The first day of the “Drive Assured” project was a wild success. The productive kickoff meeting allowed Drive Assured CEO Jessica Chapin and CTO Ryan Croke to layout their idea of what a minimum viable product (MVP) would look like. At the same time, it gave team leads and the development team (Robert, Jim, and TJ) an opportunity to break down the project into needs and desires while also maintaining a list of features with designated priorities. The brainstorming session allowed Jessica and Ryan to leave with a clearer idea of what their product is, and it gave the development team a great jumping off point.
Here’s what the development team accomplished on the first day of the “Drive Assured” project:
- Kickoff meeting
- Technical meeting – agreed on various technologies that will be used in the project. These technologies include Python (backend), Flask (Python web framework), AngularJS (frontend), PostgreSQL (database).
- Researched the technologies to ensure better understanding
- Created user stories, which will give the development team a good idea of a software feature from the end-user perspective
- Got acquainted with the systems Drive Assured has already been using in their product. More specifically, got a better understanding of the OBD-II (On Board Diagnostic System) that is used in every vehicle.
Robert, Jim, and TJ are off to an amazing start. On Day 2, they hope to accomplish setting up the environment, setting up a local server for testing purposes, setting up their database, and laying out the framework with an API.
The Drive Assured developer team followed up their first successful day with another successful one on Day 2. Robert, Jim, and TJ managed to accomplish their goals of setting up an environment, setting up a local server for testing, and getting the framework with an API outlined. With that said, there is still plenty left to do, despite those goals being met. The following is a more in-depth look at their Day 2 accomplishments:
- Made contact with Ian and his staff at Stack 41 to get credentials for the server
- Managed to get all Create, Read, Update, and Delete (CRUD) operations squared away for the Flask API. CRUD is the four basic functions that are used for persistent data storage.
- Made it so it is possible to call CRUD operations outside of the main controller. The controller is the part of a project that accepts input from a user or elsewhere and converts it to commands that can be sent to a different part of the project.
- Proved the ability to write to the PostgreSQL database by implementing the necessary drivers. This will lead to password authentication.
- Got the standards for all the vehicle data and GPS coordinates from the On Board Diagnostics System (OBD-II).
The developer team has already put in back-to-back long days, which directly resulted in meeting goals and possibly even surpassing expectations. Their goals for Day 3 include setting up a database for testing purposes, have controller logic that can add and query data from the test database, have a remote server to work with, implement drivers on their end to write data coming in from the JSON file, integrate with API for the existing hardware, and get password authentication for users.
With so many goals set for Day 3, it seemed nearly improbable that the Drive Assured developer team would meet them. But, as Robert, Jim, and TJ have proven in the early going of the project, they are prepared to stay on task so they can show a great end product.
Check out what they accomplished on Day 3:
- Completed the ability to query for data. As of right now, there are only users in the database.
- Got API calls to go in and out, which led to writing users
- Implemented the drivers to write data coming in from a JSON file
- Completed password authentication for users
- The models for the database are done. However, still in the process of writing queries to write to the database
With many areas coming to fruition, the developer team agreed it was a good time to begin testing their code. Their goals for Day 4 are to finish logic to write to the database, create and use tests for the code that already exists, and write tests for upcoming code. More specifically, write tests for writing to the database. They also want to make the password authentication for users even better so users can make accounts and log in without any issues. If time permits, cleaning up the HTML for the webpages and flushing out webpage templates is a good place to start on preparing the front-end of the application.
With four days down, the Drive Assured developer team has made a significant amount of progress on the project. That does not come as much of a surprise when considering what Jessica and Ryan were exposed to in the kickoff meeting nearly one week ago.
"The meeting was well organized and had a great collaborative feeling," Ryan said. "We were impressed by how much we got done in such a short time and the enthusiasm [the] team displayed. As a start-up we value the so-called "agile" design process and [the] team is built to handle our own ineptitude and ignorance. The website architecture can be an overwhelming part of the business and we couldn't be happier with how [the team] guided us through the development process. It is very reassuring having a professional and driven team backing our passion. We are excited to see how things turn out!"
The following is what Robert, Jim, and TJ accomplished this past Friday:
- Completed the logic to save data from the incoming JSON file to the database
- Implemented even better user and password authentication
- Web pages have been created, with logged in users only being able to see their web page.
- Continued to work on building tests for the project
- Began working on user data that can be displayed on the dashboard
As far as the team’s goals for Monday, Robert, Jim, and TJ are looking forward to implementing forms on the web page, improving the look of the web page, continuing to work on drive data imports, return the drive data to be processed by Drive Assured, and continuing to implement user roles even further.
Halfway through the allocated time for the project, the Drive Assured developer team is right on schedule for a MVP. In fact, they are even impressing themselves to a certain degree on how smoothly they are moving along. Typically, that is a sign for the worse is yet to come, but the team is very confident in their ability to bring the project full circle at the end of the week.
Check out what Robert, Jim, and TJ accomplished on Day 5:
- Wrote out the functionality to save vehicle data to the database
- Worked on improving the look of the web pages. More specifically, made the user dashboard look better.
- Built the models for the questionnaire forms. The questionnaire is a pivotal part of the application to collect specific user data.
- Began to implement the forms on the web page
The team’s goals for Day 6 are to allow users to make API calls to pull data from the database to analyze it, finish implementing forms on the web page, and implement user roles even further. The user roles consist of an administrator, a driver, and a viewer. If time will allow it, the team will also begin research on how to implement AngularJS on the dashboard.
The Drive Assured developer team continues to make great progress on the project. Despite no major hiccups, Robert, Jim, and TJ’s ambitious goals for Day 6 have become a part of their goals for Day 7. With broad goals come intricate details at times, which make tasks that seem easy on the surface more difficult under the hood. The good news is the team remains hard at work to ensure they nail their deadline.
Here’s a look at the progress the guys made on Day 6:
- Set up correctly to test the API calls
- On the verge of finishing the logic to allow users to pull data from the database
- Finished one of the forms, but still need to do the others
- Began using AngularJS on the dashboard to make the front end of the project look more appealing
The developer team’s goals for Day 7 are to complete the forms, finish allowing users to pull data from the database, and dive deeper into AngularJS. If there is enough time, the team will begin the initial deployment of the project.
It is crazy to think how much progress the Drive Assured developer team has made on the project in just seven days. With Robert, Jim, and TJ inching closer to MVP, it is time for some of the focus to be turned towards setting up a server to deploy the project.
Before we turn the focus on Day 8, let’s take a look at what the team accomplished on Day 7:
- Completed all the forms
- Made it possible to update and edit the forms
- Close to completing the logic to allow users to pull data from the database. The extra time spent on this involves plenty of testing.
- In the process of overhauling the front end code with AngularJS to make the pages look better.
As far as their goals for Day 8, the team plans to get the server up, get the server SSL secure, make it so the project is facing the internet, finish being able to write to the database with the API, test all of the API calls, set up another API to pull data from the database through the API to display on the web pages using AngularJS.
While two members of the Drive Assured developer team continue to work hard on knocking out features, the other is working tirelessly on getting the server up in order to deploy the project when it is ready. On another note, the front end continues to look more impressive each passing day, which is a testament to relentless research and implementation.
The following are tasks Robert, Jim, and TJ accomplished on Day 8 of the project:
- Continuous work on getting a secure sever up
- Completed the functionality to write to a database with an API
- Tested the API calls with the database
- Able to pull data from the database with AngularJS. More specifically, set up a database table to take in data from Drive Assured OBD and then display the correct data to the web pages with AngularJS
There is plenty the team wants to accomplish on Day 9, especially when considering they are closing in on a MVP. Robert, Jim, and TJ’s goals are to get a secure server up in order to deploy the project, work on the GET requests so Drive Assured can read in the necessary data and use their algorithms to get the appropriate data, and allow the charts on the web page to display accurate data from Drive Assured. A stretch goal is to make it possible for a Viewer to add multiple drivers to his or her profile. The reason is to allow a Viewer to toggle between the different drivers and see data related to the viewed driver.
Check Out The Coverage From The Milwaukee Business Journal
With two days left on the project, the Drive Assured developer team can see MVP in their sights. The secure server is up and running and the project is deployed, which was a huge win for the team. Getting that done was not only necessary for the web application to come to life, but also, it was a massive morale boost for the team. It is evidence that their strong effort is most certainly paying off towards the tail end of the project.
The following is what Robert, Jim, and TJ accomplished on Day 9:
- Completed getting server up and ensuring it is secure
- Deployed web application on secure server
- Web pages have ability to display accurate data provided by Drive Assured OBD
- Nearly complete with the GET requests to allow Drive Assured to read in correct data
The goal has always been to reach MVP at the end of Day 10, which is something the Drive Assured developer team is on course to do. Before MVP is official, the guys want to run tests and make sure the web application works as they expect it to.
Day 10, 11, 12:
As any developer knows, running into bugs and having a plan not execute as it was planned to do so is always a possibility on any project. As the Drive Assured developer team was putting on the finishing touches to the application, they ran into a database issue. Robert, Jim, and TJ’s resourcefulness and persistence allowed them to solve the problem they encountered and emerge victorious.
Check out what else the developer team accomplished in their final days working on the Drive Assured web application:
- The guys cleaned up the code to make it as efficient as possible
- Through testing the project thoroughly, they were able to find bugs and fix them to ensure Drive Assured would get a working product
- Other loose ends were tidied up, such as finishing the forms and making sure the API calls work properly.
- Made the ability to manage the retrieving and sending of data to the database so that Drive Assured could run calculations on the data with their software.
- Cleaned up the front end of the project. More specifically, made it so a new registered user will see default data, opposed to nothing. Once a user does have his or her own data, the data will automatically populate the graphs.
- The team reached their goal MVP
Developers Robert, Jim, and TJ put their skills together and came out on top, delivering an excellent MVP that any startup company would be thrilled to have after only two weeks of development.