I took many points from modern design, modern development, and cross platform application support. This also takes cues from legendary designers and applications to create a seamless, easy to use, and understandable application.
What it does
This app is an all in one package, find your vehicles location, lock the vehicle, start, wake, or turn off the vehicle, find your fuel level at a glance, get notifications on your tire pressure, and view the total miles you have put in.
How I built it
I built this application using a hybrid app development mindset, I wanted something that would load quickly, and develop new features for instantly. Not only this, but I wanted to develop an application that could run on Apple or Android, and potentially the web, from one codebase.
Challenges we ran into
Many challenges were discovered, whether that be from the Ford API, or through my own functions, I believe I have solved nearly all of them.
Some challenges that kept us (me) up: Retrieving and storing vehicle information, working out the proper method of storing the vehicle image, figuring out how to retrieve the 'localhost' api key for a seamless login experience, figuring out the right process of receiving the access token, and the subsequent refresh tokens, and various other storage related issues.
Accomplishments that we're proud of
That the app is mostly functional and ready to use, I am especially proud of the seamless app login experience, the status checks, and the module nature of the application allowing myself to quickly iterate and test things.
The entire application was developed from scratch, using my experience with Svelte and Capacitor, I was able to build a fairly formidable application platform that could run across several different platforms and handle storage, web views, and more - the best part is that the entire app feels and looks quite native.
The app has built in development modes with on-device hot reloading, build commands, compression, and more.
What we learned
Storage protocols, handling async/await errors, and developing a multifaceted application handling quite a few different types of commands.
What's next for t. Macleod Sawyer's (@drannex42) FordConnect/FordPass app.
I would have loved additional time to work on this, some of my ideas were to implement a server side automation suite, that would have allowed users to set automation schedules, recurring vehicle updates, alarms, and more. There were a few more features such a voice assistant, message center, and more that were not able to be implemented due to lacking time and/or an API access point. I would have also worked on more robust error handling and user edge cases.