
The "Ford Connect Simulator" contest entry was the project that I've spent the most time on, however it didn't win. š±āš» I'm still really proud of the project and the code. It needs some refactoring, which I'll probably give it over the next month, since it's not just RED/GREEN/REFACTOR but also LEARN/REFACTOR that needs to be applied. I learned a ton about the FordConnect API by writing a simulator with Mocha/Chai tests that verified I matched all of the subtle behaviors (like casing, status codes, url parameters, etc.) My learning kept evolving as I wrote the simulator, so it would be fun to go back and rewrite (or at least refactor) the simulator knowing what I know now. I worked on the project alone, although I asked a few times in the Slack forums for people to help out, because we can learn so much by that peer review. It was a fun project, because it reminded me of the kind of project Brian Geihsler and I would have worked on.

I can imagine the pain Adam Granzer, Brigette Lundeen and others would have had as they saw the HTML code my express server was spitting out...

It was awesome that at the end of the project you had to hover over the {{domain}} variable in Postman to be able to tell if you were going against my simulator or the real service!

For the contest, I needed to make sure the web portion was up and running. Pingdom to the rescue...

In the What's next for Ford Connect Simulator section of my entry I wrote: "I've never created an NPM package before, so I'd like to learn how to do that. Moving my FordConnect helper library into an NPM package would be helpful for code reuse. I ended up copying the files into my other projects for now."
The team that won first place in the Ford Smart Vehicle Connectivity Challenge leveraged my code (with my permission and the judges.) Had I written an NPM package they could have easily picked up the future updates. I've reached out to them to see if they are interested in working together on an NPM package & hopefully we can integrate their watcher code into the library as well.
Working on the FordConnect Simulator gave me a great understanding of the API, which enabled me to support all of the participants in the Slack channels. It was super fun working developer support for a few weeks and jumping on a few late night calls with people to help troubleshoot their problems. I'm really thankful for the experience & the friendships I gained through the event.
Comentarios