Inspiration

The tesla sitting outside the back of the hackathon.

What it does

This app lets you control a tesla remotely, from your phone! Useful for tons of stuff, including...

  • Retrieving small children, objects, or animals from a locked car when you forget your keys
  • Opening the door ahead of time as you sprint towards your car in the pouring rain
  • Showing up your friends' garbage teslas which don't have the neoOBD2 pro -- can they roll up and down their windows on command? DIdn't think so.

How I built it

  • I wrote an intrepid API in node! This is available on npm here, with the source on github as well. This module made it super easy to make requests to the intrepid car.
  • Next, I wrote a webserver to handle queries for the car. this is also available on github, where the tesla module is under modules/api/tesla/index.js
  • Finally, I wrote an app in Flutter (a multiplatform dart app platform -- it's really neat) to control the tesla with user-friendly UI. This is also available on github

Challenges I ran into

  • Dart has complicated handling for post requests, so in the interest of time I decided to write a separate webserver which handles all the requests from the app, so I could use a get request. I know this is technically against REST standards, but that's ok. This turns out to be cleaner anyways because it doesn't require the flutter app to store the API key.

What I learned

  • Always use environment variables for your API keys!

What's next for Tesla Conduit

  • It'll be better, faster, stronger, and smarter. In all actuality it'll probably get rewritten next year if the tesla returns, and hopefully it will have more functions. Like automatically turning on the windshield wipers if it's raining, or something.

Built With

Share this project:

Updates