Page 3

Why auto insurance providers use the Smartcar VIN API

Charlotte Kosche

3 min read

January 2, 2020
Auto insurance
Live SiteStaging Site

Auto insurance products are becoming increasingly digital and software-driven. For example, insurance providers offer dynamic premiums that vary based on a policy holder's monthly mileage and their driving behavior. Those products are incredibly successful, because they allow insurance companies to accurately assess risk, while policy holders pay a fairer price.

But all of these new insurance products need a reliable technology behind it. Without the perfect technology solution, insurance providers work with erroneous information and set their pricing either too low (resulting in losses for their business) or too high (resulting in customers leaving to the competition).

Products like the Smartcar API help auto insurance companies solve all their technology needs with a simple and powerful solution. Our platform allows policy holders to connect their vehicles with just a few clicks from any car insurance app. It then lets the insurance company access important information such as the vehicle's mileage, location, and tire pressure. Smartcar even handles less obvious tasks, such as knowing a vehicle's VIN.

The challenge of finding and entering a VIN

A vehicle's VIN is both crucial for every car insurance policy and at the same time challenging. In fact, it scares away many potential customers before they even sign a contract.

Every car owner who wants to take out insurance needs to provide their vehicle identification number to get a quote, let alone sign a policy. Unfortunately, the VIN can be located in different parts of the car, depending on its make, model, and year. Most vehicle owners don't know where to find their VIN. Even with detailed instructions, some car owners don't bother making the extra effort and prefer to look for a different product instead of finding their VIN.

Our solution: the Smartcar VIN API

Many insurance companies use the Smartcar API to solve the challenge of knowing a vehicle's VIN. Instead of facing customers with complicated instructions on how to find and enter a 17-character identification number, insurance providers use the Smartcar VIN API to automatically read and save a vehicle's VIN within seconds.

By eliminating the need for customers to find and enter their VIN, insurance providers are able to reduce friction in their onboarding process, increase the number of signed insurance contracts, and maximize customer satisfaction.

How to use the Smartcar VIN API

The Smartcar VIN API is compatible with more than a dozen vehicle makes and many more models in the United States. Our product is a pure software platform. It doesn't require you to use OBD-II dongles or other aftermarket hardware.

Here's how insurance businesses have been integrating and using the Smartcar API:

1. The insurance company integrates the Smartcar API into their mobile or web app. This takes only a few hours of engineering work.

2. The insurance app prompts the customer to connect their vehicle using Smartcar. We provide a short and friendly dialog for them to do so:

3. Among other information, the insurance company can now easily read a customer's VIN with a single API request:

By eliminating the need to look for and enter a vehicle's VIN, auto insurance providers make it easier for car owners to get a quote and to sign up for a policy.

This is not the only way in which the Smartcar API helps insurance companies build better products. Learn more about how car insurance businesses use our platform, and feel free to reach out to us for a product demo.

Add manual formatting notes here...

5 EV charging trends to watch in 2020

Charlotte Kosche

3 min read

December 31, 2019
EV charging
Live SiteStaging Site

EV charging technology is rapidly expanding and evolving in the United States and beyond. The global EV charging stations market is expected to grow by almost 50% over the next seven years. As 2019 comes to an end, we have decided to take a look at the industry and to summarize the most important trends that will shape the EV charging space next year.

1. DC fast charging

Although DC fast chargers make up only 15% of EV charging stations in the United States so far, market research reports predict them to become more and more common. Many EV charging networks already focus their efforts on DC (or level 3) chargers. Those chargers add about 60 to 80 miles of range in 20 minutes, making them 10 to 20 times faster than the more common AC (or level 2) chargers. As EV owners travel more and take longer trips, they will appreciate a larger offer of public fast charging solutions with more affordable pricing.

2. Accurate prediction of charge time

The technological progress of both, EV charging hardware and software will change the way EV owners use and benefit from EV charging apps. Thanks to technologies like the Smartcar API, charging networks are now able to determine a vehicle’s exact charge time even before the driver plugs their car into a station. The accurate prediction of a vehicle’s charge time is crucial whenever EV owners want to plan trips, building charging schedules, or make use of green EV charging features and V2G technology (see below).

3. Green EV charging

Green energy will play a big role in both, the residential and the public EV charging space. Vehicle owners are increasingly concerned about carbon emissions, while EV charging networks rapidly advance their charging technologies. Green EV charging programs allow EV owners to set a schedule for when and how far they need to drive their car each day. Using smart charging technology, the EV charging network then automatically charges the vehicle at times when electricity is 100% generated from renewable sources (e.g. solar or wind energy).

4. Vehicle-to-grid technology

Another EV charging trend that helps reduce carbon emissions is vehicle-to-grid (V2G) technology. While green EV charging focuses on picking the right energy sources, V2G technology aims to smoothen times of peak electricity demand. The average car is parked 95% of the time. V2G technology makes use of this fact. Whenever they aren’t currently driving or charging their vehicle, EV owners can leave their car plugged in at home or at work. At times of peak demand, EV owners can let the charging network draw power from the car and feed it electricity back into the grid. This way, V2G provides a huge relief for local and state electricity providers and allows EV owners to earn money for the electricity they sell.

5. Rewards programs

With a tighter net of public EV charging stations and a larger variety of affordable home chargers, charging networks need to spend more effort retaining customers and making them loyal to their brand. Rewards programs allow EV charging networks to do just that. Apart from rewarding customers for charging at stations within a certain network, rewards programs even go hand in hand with green EV charging and V2G technology. For example, EV owners receive points or credits for charging at times when electricity demand is low and the share of renewable energy sources is highest. Finally, EV charging networks can reward customers for ecologically friendly driving behavior. Based on how many miles they drive and how much they charge their EV battery, EV owners receive rewards for keeping their per-mile electricity consumption low.

Which trends do you anticipate to shape the EV charging industry next year? Feel free to reach out and let us know!

Add manual formatting notes here...

Improving EV trip planning with the Smartcar electric vehicle API

Charlotte Kosche

2 min read

December 24, 2019
EV charging
Live SiteStaging Site

All vehicle owners have to plan ahead before making a long trip, but EV owners especially so. When their destination is far away or their car has a short remaining range, electric vehicle owners need to know whether they can make the whole trip without charging, and if not, which charging stations they can stop at along the way. This is where EV trip planning apps come in handy.

More and more EV charging networks offer an EV trip planning feature as part of their web and mobile applications. These companies know how useful the feature is for their customers. The first step to building a successful EV trip planning interface is the ability to search for nearby EV charging stations. But trip planning is about more than just finding nearby chargers. Using Smartcar’s electric vehicle API, your EV charging app can build a full-fledged trip planning feature that facilitates many aspects of owning and driving electric vehicles.

1. Let vehicle owners enter their destination

In the first step of every EV trip planning interface, car owners type their destination into a search bar. An integrated map service then suggests the correct address and different possible routes.

To make your EV trip planning feature even more effective, let EV owners start the calculated route at their vehicle’s location instead of their smartphone’s location. In some cases, your customer and their car aren’t in the same place, but they want to plan ahead before fetching their vehicle and starting to drive. Use Smartcar’s location API to retrieve the exact location of your customer’s vehicle. This way, the routes that your app suggests are more accurate and your EV trip planning feature is more precise than ever.

2. Retrieve the vehicle’s SOC and range

Once your customer has selected their desired destination and route, you can now use our EV battery API to read the state of charge and the remaining range from their vehicle. Smartcar lets you retrieve this information anytime directly from the car, no matter whether or not it is currently plugged in and/or charging at one of your EV charging stations.

3. Suggest the ideal trip

Based on the selected destination and route as well as the obtained SOC and range, your application can now propose the ideal EV trip. Estimate how often and for how long the car needs to charge and match this information with EV charging stations along the driver’s route.

4. Inform EV owners about charging progress

Once your customer has started their trip, your app can help them manage their charging stops. Using Smartcar’s EV charging status API, know whether a vehicle is plugged in and whether it is charging. Notify your customer when their vehicle starts charging, even if they are using a charging station outside of your network. Monitor the vehicle’s SOC and range, and notify the driver once their car has attained the desired charging level.

This is how easily EV charging networks offer EV trip planning features using Smartcar’s electric vehicle API. To learn more about our technology, check out the Smartcar website and contact us for a product demo. We’re happy to chat!

Add manual formatting notes here...

How to remotely locate cars with the Smartcar location API

Charlotte Kosche

3 min read

December 19, 2019
Product
Live SiteStaging Site

Like all web and mobile technology, mobility and car applications are becoming more and more powerful. Fleet management software makes it easy for fleet management companies to manage and maintain their vehicles. Auto insurance apps monitor their policyholders' mileage and driving behavior. Car sharing applications let customers browse and book vehicles directly from their phones.

In an effort to make their products work successfully, all of these apps and services make use of similar skills. They all need to instantly and reliably retrieve specific information from their customers’ vehicles.

The ability to remotely locate cars, for example, plays an important role for all car and mobility applications. Fleet management software businesses want to offer real-time GPS tracking to fleet owners. Car insurance companies need to track not only a policyholder’s mileage but also their vehicle’s location and the trips they make. Car sharing apps want to allow renters to quickly find and unlock vehicles directly from their phones.

Without a fast, safe, and reliable technology to locate vehicles, your fleet management, auto insurance, or car sharing app will lag behind the competition and eventually fail. This is why we’ve put together a guide on why APIs are the best tool to remotely locate vehicles, and how your application can use Smartcar’s location API to do so.

Using APIs to remotely locate cars

There are several different ways for web and mobile applications to retrieve a vehicle’s location. Some businesses use OBD-II dongles that customers install in their vehicles. Other businesses rely on their customers’ smartphones to obtain information about the vehicle and driving behavior.

The disadvantage of both, OBD-II dongles and smartphone solutions is that they can be difficult to install, inaccurate, and expensive. Fleet management software companies like Pitstop and car sharing platforms like Turo use the Smartcar API instead because APIs offer the best way to remotely locate vehicles. Here's why:

  • Easy to use: APIs provide friendly documentation and SDKs that make those solutions easy to integrate with. In addition to saving your engineering team time and hassle with the integration, your customers are able to onboard their car with just a few clicks from their phones. They no longer have to install any hardware in their vehicles.
  • Affordable: Most API products offer simple SaaS pricing that makes it easy to test, integrate, and scale the solution at your own pace. You no longer need to worry about hardware purchasing costs, shipping costs, or replacements in case customers break or lose their devices.
  • Instant: In contrast to other solutions, which take time to ship, activate, and receive data from, APIs are instant. Your customers can authorize their cars in less than 30 seconds. From here, all API requests you make will return real-time, live information directly from the vehicle.
  • Accurate and reliable: As car APIs communicate directly with each vehicle instead of going through a third-party hardware device or even a smartphone, APIs return the most accurate information on the market. No more inaccuracies due to incorrect interpretations of the start and end of trips, and no more reliability issues due to a hardware device that gets knocked out of place or a driver that turns off their smartphone.

Locating vehicles with the Smartcar location API

As APIs are the best solution to remotely locate vehicles, let us walk you through the steps of remotely locating cars using the Smartcar API.

Smartcar allows web and mobile applications to read information and perform actions on vehicles using straightforward API requests. In order to remotely locate a vehicle, your application needs to:

  1. Launch the Smartcar Connect flow, which prompts your customer to link their vehicle to your app.
  2. Have your customer log in with their vehicle’s username and password and agree to share their car’s location with your app.
  3. Start making API requests! When your application requests a vehicle’s location, the Smartcar API will return the car's exact location in geographic coordinates:

These three simple steps are all your application needs to retrieve a vehicle’s location in real-time. To learn more about getting started with the Smartcar API, head to our documentation or reach out to our team for a product demo.

Add manual formatting notes here...

Building better EV charging schedules with electric vehicle APIs

Charlotte Kosche

2 min read

December 17, 2019
EV charging
Live SiteStaging Site

EV charging schedules are essential for almost every electric car owner. Especially those who charge their vehicle at home and whose electricity rates vary by time of day need to schedule their car to start and stop charging at certain times. Here’s how your EV charging application can improve scheduling features by using electric vehicle APIs.

Start and stop charging based on SOC or range

EV charging applications most commonly let EV owners set a certain time at which they want to start and stop charging every day. While this basic time-based scheduling feature is better than offering no charging schedules at all, there are plenty of use cases and problems that remain unsolved.

What, for example, happens when a customer doesn’t want to fully charge their vehicle? What if they prefer to stop charging as soon as the car battery has reached a certain state of charge or a certain range?

EV APIs like Smartcar allow your application to do exactly this. Our technology lets you retrieve the SOC and the remaining range from an EV battery with a single API request. Here's how it works:

  1. When scheduling their next charge, your customer selects the state of charge or range which they wish to attain directly in your app.
  2. Your application uses the Smartcar EV battery API to monitor the vehicle’s SOC and range, and stops charging once the requested number is reached:

Start and stop charging based on time constraints and electricity supply

Alternatively, your EV charging application can let vehicle owners select the latest time by which their vehicle must reach a full battery.

Based on the car owner's selection, your application monitors electricity rates and/or renewable energy supply (e.g. whether the electricity cost is low or whether solar energy supply is high enough to fully charge the vehicle). After your app checks the vehicle’s current SOC and how long it will take to charge fully, it can automatically start and stop charging at the most convenient times.

Remind vehicle owners to plug in and charge

Finally, electric vehicle APIs don't only allow your application to easily read a vehicle’s SOC and range. They also make it easy to check a car's charging status.

Using Smartcar's EV battery API, gently remind your customer to charge their vehicle anytime the SOC or range falls below a certain number. You can even use our charging status API to automatically resolve all reminders once the vehicle is plugged in and charging:

That’s how electric vehicle APIs like Smartcar help EV charging applications integrate effective residential charging schedules into their products.

Does your EV charging network power public EV chargers? Stay tuned for upcoming blog posts about EV trip planning, rewards programs, and demand response programs.

Want to learn more about Smartcar? Contact us for a product demo, we’d be happy to give you a tour!

Add manual formatting notes here...

How I found my next job after a layoff

Mathilde Patmon

4 min read

December 11, 2019
Culture
Live SiteStaging Site

Layoffs are one of the hardest things we experience in our careers. After getting let go, most people feel embarrassed and worried that this incident will reflect poorly on them during their future job search.

There’s also this overwhelming feeling of the unknown. Will I find another job? What if I can’t find a good opportunity and I just have to take the first available job to be able to keep paying rent?

I promise you that if you put in the effort and thoughtfulness, you will quickly recover from the shock and successfully embark on a new adventure.

Prior to joining Smartcar, I was working at a different company, and I was impacted by a fairly large layoff. On the day I was laid off, I was surprisingly unconcerned by the fact that I had to leave my old job. However, I was completely overwhelmed by the idea of having to start looking for new opportunities.

As soon as I got home on that Tuesday morning, I didn’t veg out like people usually do after they lose their jobs. Instead, I ended up dusting, mopping, and vacuuming my entire apartment inside and out. Once I was done obsessing over the cleanliness of my home, I found a way to overcome my feeling of mental overload and to kick off my search for new opportunities.

Make a list

First, I grabbed a notebook and wrote down exactly what I was looking for in my future job. Here’s what I came up with:

  1. Company under 50 people
  2. Challenge of being the first recruiter in the company
  3. Located in Mountain View, CA (I lived in Milpitas at the time, and Mountain View was the closest city with a lot of job opportunities.)
  4. Opportunity to host events (This was a deal-breaker for me.)
  5. Company in a non-saturated industry
  6. Company with genuinely nice people

After writing this list, I started searching for companies and open positions.

Choose a tool

From my list, it was clear that I wanted to join a startup. Therefore, I went straight to AngelList. In case you aren’t familiar with this website, it’s a great tool to look for small to medium-sized companies and filter them by location, funding amount, number of employees, and types of openings.

Tip: To learn more about different job search tools, check out this blog post.

Boil down your search

On AngelList, I filtered my search by location (Mountain View), Type (Startup) and Stage (Series A). I chose Series A as the funding stage because companies in the Seed funding stage don’t usually need a recruiting team yet, while companies in the Series B funding stage already have more than 50 employees.

AngelList generated a list of 16 companies that fit my criteria. I decided to start with a narrow search and then broaden it up if I needed, rather than having an overwhelming number of companies to sort through.

Apply to the job

At the time when I was doing this search, Smartcar was the only company on the list that had a recruiting role open. So, I applied on the website and connected with the founders on LinkedIn to show my interest!

Tip: Check out this blog post to learn more about how to stand out when applying to companies, and read this other post on how to nail the interview.

A few days after I applied, the team reached back out to me and scheduled a time for me to connect with the CTO and Co-Founder Sanketh Katta.

When I chatted with Sanketh for the very first time, my mind started going through the list I had written at the beginning of my job search. I was able to check off all six bullet points, one after the other. It felt incredible to me that I had found an ideal opportunity without even knowing about the company just a few days before.

After meeting the whole team during my onsite interview, I knew that Smartcar was my dream company. Everyone was incredibly nice and welcoming. I remember calling my family and telling them that, if Smartcar offered me the job and needed me to start on a Saturday, I would accept right away because that's how excited I was about the company!

A couple of days later, I received this email:

Of course, I accepted the job offer, and I've been working at Smartcar every since.

Two years later, I am so happy that I used my layoff as an opportunity to be thoughtful about what I wanted in my career. Sometimes, choosing your next step takes time and effort, but I promise you, it will be worth it. I found my perfect company (and second home) and I'm certain that you can, too!

I hope that this blog post will help you kick off your search in the right direction. As always, please don’t hesitate to reach out to me with any insights or questions!

broken image from the live site also, can't replace it

Introducing the Smartcar Python SDK v7

Sanketh Katta

1 min read

December 5, 2019
Product
News
Live SiteStaging Site

We're proud to make version 7 of our Python SDK available to all Smartcar developers today. 🐍

Smartcar is the car API for mobility applications. Our platform allows mobile and web apps to communicate with vehicles across makes and models without any hardware.

The Python SDK allows you to quickly and easily integrate the Smartcar API into your Python backend. Here's what the version of this SDK has to offer:

  • Support for the latest version of Python, including Python 3.8
  • Works with our latest API endpoints: batch requests, tire pressure, and engine oil life
  • Updated to support our Connect Pro features: Compatibility, Match, and Direct
  • User-friendly Overall usage section with example code snippets
  • Detailed Getting started guide that walks through the steps of building an end-to-end application
  • Provides a method to quickly and easily form authorization URLs
  • Convenient access token management allows you to effortlessly retrieve and refresh access tokens
  • Takes care of handling errors, allowing you to efficiently build and test your code

Get started with our new and revamped Python SDK today, and let us know your feedback or questions!

Add manual formatting notes here...

3 simple steps to start your job search

Mathilde Patmon

6 min read

December 4, 2019
Culture
Live SiteStaging Site

Looking for new job opportunities can be as exhausting as working a full-time job. It is stressful, takes time, and can feel incredibly intimidating. But don’t worry! This blog post will kick off your job hunt in the right direction. The following three steps will help you stand out from the crowd and maximize your chances of landing your dream job.

1. Figure out what you want

Looking for jobs is all about knowing what you’re looking for. If you just apply to every single opening out there without truly knowing what you want, you will set yourself up for failure.

1a. Make a list

Take some time to think about what makes you happy and what you enjoy doing. Write those things on a list. Once you’re done, your list might be 50 bullet points long. Read through everything and find common patterns between those points, until you’ve condensed everything down to about 5 topics.

Here’s the list I made for my job hunt before joining Smartcar:

  1. Company located near Milpitas, CA: This is where I live, and commuting in the Bay Area is a nightmare.
  2. Company under 50 employees: I want to wear multiple hats, make an impact, get insight into other departments, and avoid politics.
  3. Be the first recruiter: I want the challenge of building a whole function from scratch.
  4. Host events: I love hosting events and I want to have the opportunity to host recruiting events a few times a year.
  5. Work with genuinely nice people: Work culture is really important to me. I want to work in an inclusive environment where everyone works as a team and succeeds and fails together.

1b. Think about compensation

I did not include salary expectations in my list, because I trusted that the companies I applied to would offer fair compensation based on the current market rate. However, it’s always a good idea to calculate your expected compensation range before you start your first job interviews.

Calculate your expected minimum salary, which would permit you to keep the same (or a similar) lifestyle. Then, define your stretch goal, which is the “dream” compensation you would ideally be looking for.

With this compensation range in mind, you will go into job interviews a lot more prepared and confident. If a certain job pays a lot less than your expected minimum, you will be able to rule it out early on in the process.

2. Be organized

2a. Know where to look

Now you know exactly which kinds of positions and companies you are looking for, and it's time to start your search. Most people use Glassdoor and LinkedIn for their job hunt. Both are great tools, but their filtering functionalities are quite limited.

If you want to get more granular and find jobs by more than just the location, company, and job title, there are lots of other websites you can use. For example, Angellist, Crunchbase, and Apollo.io let you find jobs by a specific industry, company size, amount of funding, and revenue. To learn more about those tools and how to use them, check out my blog post about 3 powerful tools for your job search.

2b. Keep track of your progress

Before you start applying for the first few roles, create a spreadsheet to keep track of what you're doing. Document exactly which company you've applied to, which positions, who your point of contact is, and so on. You can also take detailed notes about the conversations you had with the team and what the next steps in the interview process are.

Being organized is the key to a successful job search. You will likely apply to 20+ companies. You will be surprised by how little detail the human brain can remember when there are a lot of things happening at the same time! You also don’t want to be that person who applies to the same role three times in a row, because they've forgotten that they have already applied.

This is what your spreadsheet might look like:

3. Apply and follow up

Now you know what you want, how to find interesting roles, and how to organize your job search. It’s time to start applying! But wait - don’t just apply to one position and move on to the next one. You aren’t going to stand out if you just send your resume out into the black hole called “the internet." Be proactive! Here’s how.

3a. Find out who is responsible

After applying to a specific company, find out who the recruiter or the hiring manager is. You can simply use LinkedIn to do this. Let’s say you are applying to Smartcar. You can just type “Smartcar recruiter” into the LinkedIn search bar, and my profile should appear:

3b. Reach out via LinkedIn and email

Send the recruiter or hiring manager an invitation to connect on LinkedIn. Add a note that says something along the lines of:

Hi Mathilde, I just applied for the Back-End Engineer role! I would love to have the opportunity to chat with you about the opening. What time works best for you on Tuesday this week?

If you don’t hear back within a couple of days, you can follow up by email and ask whether they had a chance to see your message. Your email might look similar to this:

Hi Mathilde,
I just wanted to follow up on my LinkedIn connect message. I’m sure you get a lot of messages on there every day. To recap my message, I applied for the Back-End Engineer role and I would love to have the opportunity to chat with you about the opening.
Are you free on Thursday at 3 pm to connect?
I’ve attached my resume below for you to review as well.
Thank you so much!
[Your name]

3c. Know how to find people’s emails

By now, you are probably thinking: “Mathilde! How am I supposed to find someone’s email when I know only their name and their LinkedIn profile?” Don’t worry. There is a tool for that.

Dorbell is a great website because it lets you enter a person’s name and company, and it will return all of their possible work emails and whether they are valid. You can try it with me to see how it works:

  • First Name: Mathilde
  • Last Name: Patmon
  • Domain: Smartcar
  • Suffix: com

After clicking the “Ring the bell!” button and waiting for the page to load, you should see a lot of invalid emails, as well as two valid ones: mathilde@smartcar.com and mathilde.patmon@smartcar.com.

If the Dorbell site doesn’t work for a specific person, there is something else you can do. Companies typically follow one of three formats for their emails:

  • first-name.last-name@company.com
  • first-letter-of-first-name-followed-by-last-name@company.com
  • first-name@company.com

Try emailing those addresses one after the other, until one of them sends successfully.

3d. Choose the right timing

Last but not least, you should think about the timing of your LinkedIn message and email to make sure the recruiter or hiring manager will open it and answer you.

If you email someone on a Friday night, the likelihood of getting a fast response is very low. They are probably having dinner and trying to enjoy the start of their weekend. Emailing someone on a Monday morning isn't ideal either because they just returned to work after the weekend and are probably playing catch up.

The best times to reach out to a recruiter or hiring manager are Tuesdays, Wednesdays, and Thursdays at 7:30 am. This way, your message or email will be right at the top of the person’s inbox when they get into the office.

Now that you’ve used all these tips and landed the job interview you wanted, it’s time to ace it! Feel free to check out this blog post on how to avoid the 3 most common job interview mistakes.

If you have any questions or just want to let me know your thoughts, feel free to email me or reach out to me on LinkedIn!

format on emails looks off on staging site

Announcing batch requests (production)

Adolfo Portilla

1 min read

December 3, 2019
Product
News
Live SiteStaging Site

Today, batch requests are leaving beta and are now available as a Smartcar Pro feature. 💐

Combining multiple API requests

Smartcar batch requests allow your application to bundle multiple API requests into a single request. For example, instead of sending separate requests to Smartcar's odometer and location API endpoints, you can now combine these and all other GET requests into a single request. Smartcar's response will contain data for each of the desired endpoints:

Saving time and overhead

Many of our customers have already starting using batch requests while it was available in beta. For example, Turo uses batch requests to retrieve a vehicle's location, odometer reading, and fuel tank level with a single API request.

We recommend using batch requests whenever your application wishes to retrieve multiple data points from a vehicle at the same time. For example, if your auto insurance application checks the location and odometer of a vehicle once per day, you can now combine those two consecutive requests into one single request, resulting in less overhead for your application and a faster response time from the Smartcar API.

Starting today, batch requests are available to all our Pro plan customers. If you are currently a free plan user and would like to request access, please don't hesitate to reach out to us.

Add manual formatting notes here...

Introducing the Smartcar iOS SDK v4

Allison Chen

1 min read

November 27, 2019
Product
News
Live SiteStaging Site

We're excited to announce version 4 of the Smartcar iOS SDK. 🍏

Smartcar allows mobile and web apps to locate, unlock, and retrieve information from vehicles using simple API requests. Our new and revamped iOS SDK makes it easier than ever for iOS developers to launch the Smartcar Connect flow and to authorize vehicle owners. Here's what's new:

  • Upgraded to Swift 5
  • Supports the latest version of iOS 13
  • Supports all iOS devices (mobile and tablet)
  • Launches the Smartcar Connect flow safely and securely
  • Includes a user-friendly Getting started guide
  • Uses Authentication Services framework for iOS 12 and above; continues to support Safari Services for older versions of iOS
  • Smartcar's new AuthURL builder offers easier support for Smartcar Connect Match and Direct
  • Enhanced error handling ensures maximum conversions

Create a free Smartcar account and get started with our iOS SDK today. As always, please feel free to email me your questions and feedback.

Add manual formatting notes here...

Electric vehicle highlights from AutoMobility LA 2019

Charlotte Kosche

2 min read

November 26, 2019
EV charging
Live SiteStaging Site

More than 65 vehicles debuted at AutoMobility LA this year. Roughly 35% of those were hybrid and electric vehicles. While many automakers introduced their new cars directly at the show, others held press conferences at their own offices. Here’s a breakdown of the most exciting announcements we heard about last week.

Ford launched its all-electric vehicle Mustang Mach-E at AutoMobility LA last week. The Mach-E is the first electric vehicle and the first SUV under the Mustang brand. The extended range version has a 300-mile range. The first of four models will be available for sale in 2020.

Toyota rolled out the 2021 RAV4 Prime, a plug-in hybrid version of its popular RAV4 SUV. The vehicle has a 39-mile all-electric range and will get 90 miles per gallon of gasoline. It will go on sale in mid-2020.

Lincoln announced the 2021 Corsair GT plug-in hybrid. It’s the first electric version of Lincoln’s Corsair compact luxury SUV. The GT’s all-electric range is expected to be over 25 miles. The car is expected to be available before the end of this year.

Audi introduced the all-electric 2020 e-tron Sportback, a coupé version of the 2019 e-tron with a 220-mile range. It will be available in the U.S. in fall 2020.

Volkswagen debuted its ID. Space Vizzion Concept, a fully electric concept car. It’s a low-slung station wagon with a 300-mile range. Volkswagen didn’t say when the vehicle will go on sale.

Karma Automotive introduced the electric concept car SC2 and the performance luxury gasoline-electric vehicle Revero GTS. The SC2 has 1,000 horsepower and a 350-mile range. The Revero GTS has a 360-mile range with a fully charged battery and a full gas tank.

Tesla introduced its new Cybertruck in Hawthorne, California last week. Although the announcement wasn’t made at the LA Auto Show, it might have been the most discussed EV launch of the week. The all-electric pick-up truck has a distinct retro-futuristic look. During the press conference, Tesla’s design chief smashed two of the supposedly shatterproof windows with a metal ball. The incident was widely discussed in national news outlets and on social media. The vehicle will be available with a 250, 300, and 500-mile range, and production will start in late 2021.

Overall, AutoMobility LA 2019 shows that the automotive industry is facing times of rapid change. Electric vehicles are driving the future of mobility, and more and more automakers are focusing on this emerging trend. We can't wait for next year's LA Auto Show and its 2020 EV debuts!

Add manual formatting notes here...

Why your fleet management software business should eliminate telematics devices to reduce cost

Charlotte Kosche

2 min read

November 26, 2019
Maintenance
Live SiteStaging Site

Fleet management software isn’t easy to build, and it certainly isn’t easy to sell. For big and small fleets alike, integrating with a new product means taking risks. At the prospect of outfitting their whole fleet with a new technology and educating fleet managers and drivers on how to use it, many fleet owners become hesitant and think twice before they convert into paying customers.

This is why cost is incredibly important for fleet management software products. With lower upfront costs and smaller monthly SaaS fees, fleet owners are more willing to take the risk of trying out a new fleet management software product, and they are more likely to keep using the product for a long time.

Eliminate the use of telematics devices

When looking at the cost that fleet management software companies have to account for, one factor is particularly striking: aftermarket hardware. Unlike other SaaS companies, many fleet management software businesses need to bear the cost of acquiring, shipping, installing, and maintaining telematics devices.

At Smartcar, we have built an API solution that eliminates the need for telematics devices. It instead allows mobile and web apps to retrieve location, odometer, and other information vehicles using straightforward API requests. Our technology is not only easy to use and to integrate with, but it also helps fleet management software companies reduce cost while positively impacting their pricing and profits.

Here is how our customers have benefitted from using the Smartcar API:

No upfront acquisition cost

APIs can be used without any upfront purchasing costs. Fleet management software businesses don’t have to ask their customers to pay large amounts of money upfront or to sign finance plans. Customers aren’t locked into long-term contracts to amortize aftermarket hardware costs. Instead, they benefit from flexible month-to-month contracts that are easier to negotiate and sign.

No shipping cost

For fleet management software businesses, even small fees add up to large expenses. When a business is serving large fleets all over the country, shipping aftermarket hardware to customers is a large financial and logistical pain point. By taking advantage of embedded telematics already present in vehicles, companies no longer have to worry about shipping hardware to their customers.

No installment cost

Similarly to shipping hardware, installing the devices in every new fleet vehicle is a large pain point for many fleet management software companies. Businesses have to contract out work to local installer networks in every region, or they have to educate fleet managers on how to install the devices themselves. When using APIs, it takes only a few seconds to onboard new vehicles from any mobile or web app. This saves fleet management software companies time and money while making their customers more satisfied.

No maintenance cost

After a fleet management software company has signed a contract and onboarded their customer’s fleet to an API solution, there are no maintenance costs to be taken care of. Without telematics devices, there is no need to replace batteries or to replace damaged or failing hardware. This allows fleet management software companies to keep their monthly SaaS fee low and to retain customers for longer.

By eliminating the use of telematics devices, fleet management software companies make large savings while offering more attractive pricing for their customers. Fleet management software companies that use Smartcar’s API have been able to acquire customers more easily and increase user satisfaction, thus growing their business and profits overall.

To learn more about how your fleet management software company can use Smartcar’s technology, check out our website and schedule a demo. We’re happy to chat!

Add manual formatting notes here...

Announcing the Smartcar Node.js SDK v7

Sanketh Katta

1 min read

November 21, 2019
Product
News
Live SiteStaging Site

Today, we're proud to introduce version 7 of the Smartcar Node.js SDK. 🛑

Smartcar is the car API for mobility applications. We allow app developers to locate, unlock, and read the odometer from vehicles across brands without any hardware.

The Node.js SDK is one of our four API SDKs. It lets you quickly and easily integrate Smartcar into any Node.js web app. Here's what's new in this updated version:

  • Support for the latest version of Node.js, including Node.js 12
  • Updated with our latest API endpoints, including the Smartcar tire pressure API and two beta endpoints: batch requests and engine oil life
  • Optimized for our Connect Pro features Compatibility, Match, and Direct
  • User-friendly Getting started guide that walks you through the steps of authorizing a user
  • Includes a method to construct authorization URLs fast and easily
  • Access token management lets you effortlessly and securely store and renew access tokens

Unlocking a vehicle using our Node.js SDK is as simple as this:

Get started with the SDK today, and as always, don't hesitate to reach out to me with any questions or feedback.

Add manual formatting notes here...

Employee spotlight: Teddy’s SWE internship at Smartcar

Teddy Wahle

5 min read

November 20, 2019
Culture
Live SiteStaging Site

Hi, I’m Teddy. I’ve been interning with Smartcar’s engineering team this fall, and I’ve decided to share my experience by writing a blog post about my time here. If you’re looking to intern at Smartcar or at any other tech company out there, just keep on reading!

🎉 My first day: Hello, Smartcar!

Smartcar’s engineering team is divided into two smaller teams: the Platform team, which builds out the API infrastructure and API endpoints, and the Developer Experience team, who designs and builds the customer-facing parts of our product. For the course of my three-month internship, I joined Smartcar's Platform team.

On my first day here, I got to meet everyone and to see the office. Then, I sat down with Smartcar’s CTO Sanketh, who gave me an extensive, white-boarded Engineering Overview of Smartcar’s systems. There were a lot of moving parts, but Sanketh and my manager Gurpreet assured me that I didn’t need to understand everything right from day one.

The Engineering Overview was a great way to kick off my internship and to get acquainted with Smartcar’s tech. During my first week, I also got a Smartcar Overview from our CEO Sahas, a Marketing Overview from Charlotte, and a Recruiting overview from Mathilde. All of those helped me understand what other Smartcar departments focus on and how the whole organization works together.

🤓 My first week: understanding the customer

At Smartcar, every day is about making the lives of developers easier. Of course, by “developers” we mean our customers, who are building applications and services on top of the Smartcar API.

During my first week, my assignment was to become one of these developers. I had to build an app that uses the Smartcar API. It was fun! I had the freedom to come up with my own idea and to implement it in the way that I thought was best. Frankly, it felt like I was hacking on a side-project. But along the way, this simple assignment helped me better understand our product and our customers.

The app I built was a visualization dashboard for fleet managers. It allowed fleet managers to see the location and mileage of all their vehicles. During the process, I realized that one big challenge for our customers was token management. Although the Smartcar API uses the standard OAuth2 framework, storing and managing refresh tokens was difficult for me when I built my fleet management dashboard.

A few weeks later, I remembered this pain point and was able to build a solution for it. I designed and implemented an alternative token management system that enables some of our API endpoints to function with a single permanent token.

But the assignment wasn’t the only thing I got to do during the first week of my internship. I also had the chance to get to know the team better, to learn about Smartcar’s work culture, and to get a lot of training and mentorship.

I remember being very impressed by the generosity and thoughtfulness of everyone on the team. When I got stuck trying to figure out how to store tokens for my fleet management app, my colleague Adolfo sat with me for a half-hour and helped me architect a solution. I could tell that he really cared. Gurpreet encouraged me to put myself in the shoes of our developers by only working with our public documentation, instead of referencing our internal docs.

As I was onboarding and ramping up, Smartcar’s team was always supportive and helped me out, even with obvious questions. When I told Gurpreet that I didn’t know the difference between unit tests and integration tests, he could have told me: “Google it.” But he didn’t. Instead, he pulled me into a conference room and gave me a university-quality lesson on the subject. We sat and typed out code examples until the concept clicked. After that, he sent me a curated list of articles on the topic to cement my understanding.

🚢 My first month: building & shipping things

As my learning ramped up, I continued to push code into production. A month into my internship, I had already worked with every part of the stack within our API platform. My tasks spanned everything from designing and implementing a new database architecture using Postgres to learning OAuth2 and improving our security features. I even shipped two new API endpoints from start to finish: the tire pressure API and the engine oil life API!

Honestly, there’s no better feeling than pressing Github’s bright green “Merge pull request” button. Of course, Smartcar’s team is great, the office is stylish, and the catered lunches are a treat. But nothing compares to shipping the feature that you took from design to production - the one that you’ve been puzzling over and debugging for weeks.

Every time I press that green button, my code is going out to all of our customers, affecting thousands of car owners. Being trusted with this level of purpose and responsibility during a three-month internship is pretty amazing.

But apart from the various products I built and helped improve, Smartcar interns don’t just worry about implementation work. When we prepared a new, soon-to-be-announced product release, I even had the opportunity to contribute to system design and to work on specifications for the new product.

🚀 My first month, continued: training & mentorship

Finally, my internship has been a huge win not only in terms of the new products I shipped. Smartcar’s management and mentorship has also helped me improve my skills and grow as a software engineer.

Throughout my internship, Gurpreet gave me the autonomy to choose what I wanted to work on. If I wanted to build out database models for a new system, he would let me handle that project. If I wanted to build out the CRUD endpoints for a new customer-facing dashboard, I could do that too! Regardless of what I chose, Gurpreet encouraged me to take ownership of the project and to unblock myself on my own. That said, he was always there to answer questions if I really got stuck.

In terms of mentorship, Smartcar’s bi-weekly 1:1s between managers and individual contributors were incredibly helpful. 1:1s are a great way to exchange feedback with your mentor. For example, Gurpreet once identified that my code tests weren’t formatted very well, so he gave me some advice on how to fix that. In the following 1:1, he noted that I had improved my tests. Overall, 1:1s are a great way to give and get feedback as well as to benchmark your growth.

Tip: Our CEO Sahas, has two open 1:1 spots on his calendar every week. I booked a meeting with him, and it was a great way to get to know Smartcar's leadership!

💡 My overall internship: great learnings & incredible growth

My internship is nearing its end and so is this blog post. In just three months here, I’ve learned so much that my brain feels like it’s been taking a 12-week-long chug from a fire hose that sprays knowledge. I mean this in a good way. The engineers at Smartcar really care about each other and encourage everyone - from senior-level employees to interns - to learn, grow, and be successful in their roles.

To anyone who is interested in interning at Smartcar, I’d like to give the following advice:

  1. Don’t be scared to ask for help. Everyone is incredibly supportive and wants you to succeed.
  2. Take initiative and assign tasks to yourself. If you exclusively wait for tasks to be assigned to you, you create extra work for your manager. They will worry about whether you have enough to do, and they won’t know what you enjoy and don’t enjoy working on. Approach your manager asking, "Can I work on this?" instead of, "What can I work on?" It makes your manager's job easier, and it allows you to hand-pick your projects.
  3. Apply to Smartcar! This might be obvious, but I’ve really enjoyed my internship here. I highly recommend Smartcar as a place to work if you'd like to learn and grow as an engineer. Check out our current openings, and please don’t hesitate to reach out to our People & Ops team with any questions!
Add manual formatting notes here...

Introducing the tire pressure API (production)

Teddy Wahle

1 min read

November 19, 2019
Product
News
Live SiteStaging Site

Today, the Smartcar tire pressure API is leaving beta and is now available to all developers. 🧭

Reading tire pressure with a single API request

Using the Smartcar tire pressure API, mobility apps can check the tire pressure of their customers' vehicles. Our API works without aftermarket hardware and across car brands. With a single API request, your app can obtain the air pressure of each of a vehicle's tires in kilopascals or pounds per square inch.

Building powerful auto insurance and fleet management software

Our customers in the fleet management and auto insurance industries have already used and integrated the tire pressure API while it was available for beta testing. Here's how our customers have been using the new API endpoint.

Fleet management software businesses allow fleet managers to run convenient tire pressure and engine oil checks via their dashboard. If a vehicle is unsafe to drive or due for its next service appointment, the fleet manager receives a notification.

Car insurance providers monitor the tire pressure of their policyholders' vehicles to detect sudden changes. A sudden change in a vehicle's tire pressure indicates that the policyholder might have driven recklessly or gotten into an accident.

If you are a developer, get started with the Smartcar tire pressure API today.

To learn more about using this product, to request a demo, or to let us know any questions or feedback, please don't hesitate to reach out to us.

Add manual formatting notes here...

3 powerful tools for your job search and how to use them

Mathilde Patmon

4 min read

November 14, 2019
Culture
Live SiteStaging Site

When it comes to searching for jobs, most people immediately think of LinkedIn and Glassdoor. While both of those are great tools, they make it hard to personalize your search and to filter by anything apart from a company’s location and a job title.

There are a lot of other free job search tools out there. In fact, there are so many of them that it is difficult to know in advance which tool is most useful and how to get started with it. In this blog post, I’ll share my three favorite job search tools and how I’ve used them to find my dream job at Smartcar.

1. AngelList

If you’re looking for a job at a startup, AngelList is a great start. The tool is free. Most startups use AngelList to post their job openings and to find talent.

How to use it

On the AngelList homepage, hover over the “More” tab and click on “Companies” from the drop-down menu.

You will now see a list of companies and several different filters to choose from. Here’s an example of how I found Smartcar when I was hunting for jobs.

Once you click on a company name, you will see their profile including who the founders are, what the work culture is like, what benefits they offer, and which job openings they currently have.

The good & the bad

All in all, AngelList is a great tool for job hunting. Nearly all startups have profiles on the platform, which makes it easy to browse and discover new companies. The search filters allow you to filter by your exact preferences. Finally, the fact that job openings show up directly on AngelList is a huge plus. The only negative point is that the search filters are pretty limited compared to tools like Crunchbase.

2. Crunchbase

If you are looking for anything from small to large-sized companies, Crunchbase is a great tool to use. If you use the free version, you get limited search abilities. However, Crunchbase offers a 1-week free trial of the Pro version, which includes advanced search and filters.

How to use it

On the Crunchbase homepage, click on the top search bar. Several filters will appear. Even if you are using the free version, the Crunchbase filters are more detailed than the ones that AngelList offers. For example, you can filter by location, investment stage, number of employees, and industry (i.e. category).

The good & the bad

Crunchbase is a great way to create a list of companies in a certain industry that is of interest to you. Unlike AngelList, Crunchbase includes companies of all sizes and investment stages, and it offers detailed filtering. The only negative point is that you can’t see a company’s job openings directly on Crunchbase. Instead, you have to click on the company website from their Crunchbase profile and check out their careers page.

3. Apollo.io

Apollo.io is a tool that allows sales and marketing professionals to find accounts they want to sell to. However, it’s a great tool for finding your next job as well!

How to use it

To use Apollo.io, you need to create a free account. Once logged in, click on “Companies” in the left-hand-side menu bar. Now you can filter by things like industry, keywords, number of employees, funding stage, and location.

The good & the bad

Apollo.io offers more filters than AngelList but less than Crunchbase. The negative point is that you can’t see a company’s job openings. However, just like Crunchbase, Apollo.io shows a link to every company’s website.

The big advantage of Apollo.io is that it shows you a list of everyone that works at a specific company. You can even filter those employees by their roles and find their emails. This way, Apollo.io allows you to find the recruiter or hiring manager for a job opening and to email them or message them on LinkedIn.

Hopefully, these three tools will help you jumpstart your job search. If you know any great tools that we haven’t mentioned here, I would love to hear about them. Feel free to reach out to me, and happy job hunting!

can't replace broken images

Announcing the engine oil life API (beta)

Teddy Wahle

1 min read

November 13, 2019
Product
News
Live SiteStaging Site

We're proud to introduce a brand-new API endpoint in beta today. Meet the Smartcar engine oil life API. 💧

Verify a vehicle's engine oil life with a single API request

The Smartcar engine oil life API allows web and mobile apps to retrieve the remaining life span of a vehicle's engine oil with a single API request. The endpoint returns the engine oil's remaining life span as a percentage.

Monitor vehicle health and provide preventive maintenance

Fleet management software businesses as well as vehicle maintenance and repair applications use the Smartcar engine oil life API in their products. They retrieve accurate oil life spans from the vehicles they service in order to monitor vehicle health and provide preventive maintenance scheduling to their customers.

The Smartcar API is compatible across vehicle brands. It doesn't require the use of aftermarket hardware devices. Thanks to those features, our customers have been able to onboard vehicles quickly, reduce cost, and achieve accurate and reliable results. To learn how our product caters to your use case, schedule a demo with our Sales team today.

To request beta access to the API endpoint, please reach out to us via email.

Add manual formatting notes here...

How to integrate preventive maintenance schedules into fleet management software

Charlotte Kosche

2 min read

November 12, 2019
Maintenance
Live SiteStaging Site

Preventive maintenance (PM) schedules are a popular fleet management software feature. PM schedules help fleets maximize their vehicle uptime and reduce cost, thus making them happier customers. Smartcar allows fleet management software companies to easily offer preventive maintenance features as part of their product, all without using aftermarket hardware devices or manual inspections. Here’s how.

A well-rounded telematics solution

Mileage

Beside time, which plays an important role for PM schedules, a vehicle’s mileage is another important factor. How many miles a vehicle has driven since its last check-up determines when the car is due for the next service appointment. Smartcar’s API allows fleet management software businesses to retrieve an accurate odometer reading from vehicles using a single API request.

Tire pressure

Periodically check a vehicle’s tire pressure and notify customers when a vehicle’s tire pressure rises above or falls below a certain threshold.

Engine oil life

Monitor a vehicle’s engine oil life to let fleet owners determine when the car is due for an oil change.

Fuel tank and EV battery

Monitor a vehicles’ fuel tank level or EV battery state of charge. Compare those data points to the amount of miles driven. Warn customers when the vehicle is being driven inefficiently and might be damaged.

Location

If the customer does not perform in-house vehicle repairs, recommend the closest service and repair shops based on a vehicle’s location.

A benefit to fleet management software businesses

In addition to the mentioned features that allow fleet management software businesses to easily offer preventive maintenance schedules as part of their product, the Smartcar API brings a number of overall advantages that our customers benefit from.

Smartcar is a telematics solution that works entirely without aftermarket hardware. To learn more about telematics APIs and their important for fleet management software, check out this blog post.

Our API is standardized across vehicle makes and models. It is easy to integrate into any application architecture, thanks to our friendly documentation and SDKs.

By eliminating the need for aftermarket hardware, Smartcar saves fleet management companies the cost and hassle of selling or leasing hardware to their customers and having to maintain it.

Last but not least, Smartcar allows fleet management software to retrieve accurate and reliable information directly from fleet vehicles. No third party devices, and no more inaccuracies due to inferred data (e.g. an inferred odometer reading based on location and trip information).

Preventive maintenance schedules are a useful fleet management software feature, and Smartcar’s API is a powerful and easy-to-use telematics solution that allows fleet management software companies to offer those features.

To learn more about how your fleet management software company can use Smartcar’s technology, check out our website and schedule a demo. We’re happy to chat!

Add manual formatting notes here...

Introducing Smartcar Connect 2.1

Allison Chen

1 min read

November 7, 2019
Product
News
Live SiteStaging Site

Today, we're excited to introduce Smartcar Connect 2.1. This new version of Smartcar Connect features faster user onboarding and an easier developer integration.

Smartcar Connect lets your users link their vehicles to your application. Our newly updated version includes new features and optimizations that offer a more convenient experience for your app users and your developers:

Faster onboarding with new search bar

The "Select your brand" step now features a brand-new search bar. This allows your users to quickly find their car brand instead of having to look through a list. To perfect the experience, our autosuggest function displays the names of matching car brands while the user is typing. Thanks to those features, your app users will:

  • Move through Smartcar Connect much quicker
  • Benefit from a streamlined, optimized experience
  • Be more willing complete the flow from start to finish
Smartcar Connect's new car brand selection step features a user-friendly search bar.

Easier developer integration

Smartcar Connect 2.1 also includes a number of updates and optimizations that make it easier to integrate into your application. Starting today, Smartcar Connect is:

  • Set to automatically update with new compatible brands
  • Compatible with all Smartcar Connect SDKs
  • Responsive for all screen sizes (mobile, tablet, and web)
  • Compatible with all modern browsers
  • Updated with more granular error reporting

If you have already integrated Smartcar Connect into your application, you won't need to take any action to receive the updated version. To start integrating for the first time, head to our docs and choose one of our Smartcar Connect SDKs to get started.

Add manual formatting notes here...

The benefits of APIs for GPS tracking

Charlotte Kosche

2 min read

November 6, 2019
Fleet management
Live SiteStaging Site

GPS tracking is an important feature for all fleet management software products, but finding the right solution to offer the feature can be difficult. The Smartcar API allows fleet management software companies to integrate vehicle location tracking into their product easily and without hardware.

There are a number of benefits to using a car API instead of aftermarket hardware devices for GPS tracking. Let us outline which features the Smartcar API has to offer and how fleet management software companies have benefited from this solution.

Location tracking with the Smartcar API

Smartcar allows fleet management applications to communicate directly with the embedded telematics that is built into most new vehicles. It offers a range of API endpoints that fleet management software companies can integrate into their products.

Location

Our location API endpoint allows mobile and web apps to locate vehicles by latitude and longitude.

Other information and actions

In addition to location tracking, Smartcar offers a number of API endpoints that are useful in addition to GPS tracking features. If your fleet management software product wants to be able to read the odometer, fuel tank level, and EV battery level from vehicles or even lock and unlock vehicle doors, our API is the right solution for you.

The benefits for fleet management software

Compared to alternatives like GPS tracking devices and OBD-II dongles, using APIs for GPS tracking brings a number of benefits.

Easy to integrate with

Integrating Smartcar’s API into a fleet management software product takes just a few hours of engineering work. Our detailed documentation and SDKs in seven languages make the API easy to integrate into a mobile or web app with any application architecture.

Versatile

Our standardized API works on cars across 15 vehicle brands in the United States.

Affordable

API technology helps fleet management software companies eliminate upfront costs and lower maintenance costs.

Simple onboarding

Onboarding a new customer’s fleet takes just a few minutes from any mobile or web app. Fleet management companies don’t need to hire local installers to install devices in every vehicle or teach fleet owners how to perform the installation themselves.

Accurate

The Smartcar API is the first and only solution that allows companies to retrieve information directly from a vehicle. Our API responses are the most accurate on the market, because they don’t depend on inferred data and third party devices.

Reliable

Without hardware aftermarket, there is no need to worry about empty batteries or malfitted, fallen, or lost devices. In that regard, our technology is more reliable from a software standpoint, but also easier to handle and cheaper to maintain.

Tamper-resistant

Similarly to its reliability, API technology is resistant to fraud and tampering. Fleet managers and drivers aren't able to deliberately remove devices to distort or hide information. This makes the fleet management software product more accurate and reliable overall.

Transparent

Finally, the Smartcar API offers fleet management software companies the chance to be 100% transparent about their product. When onboarding a new fleet, fleet owners see exactly which permissions the fleet management software product is requesting access to (e.g. read location, read odometer, and read fuel tank level). This builds empowerment and trust between fleet management software companies and their customers.

This is how fleet management software companies benefit from using APIs as a GPS tracking solution.

To learn more about how your fleet management software company can use Smartcar’s technology, check out our website and schedule a demo. We’re happy to chat!

Add manual formatting notes here...

3 common job interview mistakes and how to avoid them

Mathilde Patmon

5 min read

November 5, 2019
Culture
Live SiteStaging Site

One of the toughest parts about interviewing for jobs is when a company tells you that they won’t move forward with you, but they don’t tell you why. All you want is to improve your skills and do better at the next interview, but how can you do that if nobody tells you what you’ve done wrong?

With over 100 candidates applying and interviewing at Smartcar in any given week, we try our best to be as transparent as possible about our interview process. Every candidate who gets to the challenge stage or further, and who does not get accepted for the job, receives a personal phone call explaining why the team made their decision.

Out of time constraints, applicants who we don’t move forward with before the challenge stage receive less detailed feedback via email. However, we encourage every candidate to email us back with any questions.

If you are preparing to apply for a job at Smartcar or any other company, we have put together the 3 most common mistakes that candidates have made in the early stages of our interview process. Here’s what you should pay attention to, and how you can avoid making the same mistakes that many other applicants have made before you.

1. Not filling out the application

The first step of Smartcar’s interview process starts with filling out an online application. We don’t ask for a cover letter, but we do ask applicants to answer a few short questions. Our recruiting team often receives applications with blank answers to all of those questions. Missing answers show us that a candidate is mass applying to a lot of companies and that they aren’t thoughtful about where they would like to work.

Our goal is not only to see whether candidates are serious about applying to our company. We also want to get to know applicants a little better before we invite them to the next step of the interview process. Without a complete application, we are unable to do either of those things. This is why we always prioritize candidates who have completed the application form.

If you are applying to a company and you want to increase your chances of landing an interview, show them that you are serious about the job. Fill out the online application or provide any other information the company is asking for. This small extra effort can go a long way.

2. Not “selling” yourself

In all job interviews and especially on an initial phone call, it can be hard to balance being humble with emphasizing your skills and strengths. More often than not, we talk to candidates that are too humble and don’t explain their experience well enough.

When candidates describe the projects they’ve worked on in the past, they often use the pronoun “we.” For example, they might say: “We worked on building an end-to-end web app that allows people to play Scrabble with other users.” While the word “we” indicates that the candidate worked as part of a team, it is difficult for the interviewer to know exactly which part of the project the candidate was responsible for. Even when we specifically ask “What were you responsible for?” a lot of applicants resort back to saying “we.”

A job interview is your time to really show off the work you have done and the skill set you have acquired in your past work experience. Don’t be shy. Be proud of what you’ve done in your career so far. Don’t discredit that you’ve worked as part of a bigger team, but be specific about how you worked with others and which tasks you were responsible for on your own. For example, you could say something like: “I was on the front-end team and we were building and iterating on the Scrabble user experience and user interface. There were 10 people on the front-end team. What I was specifically responsible for was building an interface that lets users browse and invite other users to play together.”

3. Not asking questions

No matter which stage of the interview process you are at, it’s never too early to ask questions. There is nothing more unfortunate than an interview call that goes amazingly well, up until the last question: “Do you have any questions about our company?” The awkward silence that sometimes follows this question is unnecessary and easy to avoid.

When interviewing for a company, do your research, but don’t hesitate to ask the interviewer questions. Just because you are being interviewed, it doesn’t mean that you can’t also interview the company to make sure it is a good fit for you.

By asking questions, you show that you are interested in the company and engaged in the conversation. You also imply that you are not just mass applying and taking the first offer that lands on your desk. Asking the right questions can prove that you are passionate and genuinely thoughtful about making the career choice that’s right for you.

Tip: Your questions don’t have to be limited to the job interview itself. At Smartcar, we encourage applicants to reach out and ask the recruiting team questions before and after the interview as well. Are you wondering what to expect from the hiring manager screen? Is there a question you forgot to ask the interviewer while you two were talking on the phone? There’s nothing that the recruiting team wants more than for a candidate to get hired. Please don’t hesitate to reach out and ask all the questions that help you be a more successful job applicant.

Here are some questions that can get you started:

  1. I would love to hear some success stories on the kind of career trajectory that your employees have had in this role. (This allows you to see if people have been promoted in the past or not.)
  2. Which new product initiatives are on the roadmap for this year? (This helps you assess the longevity of the company. Is the company stagnant and not doing anything new? Or are they adding new features or iterating on existing ones?)
  3. How did the idea for this company initially start? (This question is more on the fun side, but it never hurts to know how a company started. Who knows - maybe there’s a story that you find interesting and can relate to!)
  4. What are some pain points that the team is currently facing? (All companies face different challenges. This question allows you to see if the interviewer is honest with you and whether the company is facing challenges that you feel comfortable working on.)
  5. What’s the most fun offsite you’ve been to this year? (This helps you get a sense of the company’s work culture.)

Those are the 3 most common mistakes we see candidates make during job interviews at Smartcar, and how you can avoid them. Was this blog post helpful for you? Are there other mistakes that you think are far more important? Please let us know your feedback. We’d be happy to chat!

Add manual formatting notes here...

Announcing the Smartcar Android SDK 3.0

Sanketh Katta

1 min read

October 31, 2019
Product
News
Live SiteStaging Site

Today, we’re excited to launch a new and improved Smartcar Connect SDK. Meet the Smartcar Android SDK 3.0.

The Smartcar API allows mobile applications to locate, unlock, and read the odometer from cars across brands without aftermarket hardware. Our Android SDK makes it fast and simple for developers to integrate Smartcar’s API into any Android mobile app. This revamped version...

  • Makes it even easier for your application to launch the Smartcar Connect flow and authorize users in Android
  • Launches the Smartcar Connect flow safely and securely
  • Makes it easy to launch Smartcar Connect with our Pro features Connect Match and Connect Direct, thanks to our new auth URL builder
  • Is now modernized to use Chrome Custom tabs for speed and security
  • Uses AndroidX and supports the latest versions of Android (Android 10, API level 29)

When using our Android SDK to integrate Smartcar's API into your application, you will worry less about the integration itself and spend more time on the important things: building great mobile apps and creating amazing user experiences for your customers.

Get started with the Smartcar Android SDK today. If you aren't using Android, make sure to explore our Smartcar Connect SDKs for iOS and JavaScript.

Add manual formatting notes here...

How telematics APIs are accelerating fleet management software

Charlotte Kosche

3 min read

October 30, 2019
Maintenance
Live SiteStaging Site

APIs are on the rise in every industry. Maps APIs, payments API, messaging APIs, and social media APIs are changing the way we build products and are opening up unprecedented possibilities for countless industries.

The automotive and mobility landscape is a great example of such an industry. During the past few years, it has completely been reshaped by telematics APIs and other automotive software services. Let us take a look at one part of this industry in particular, and explore how fleet management software has benefitted from the use of APIs for embedded telematics like the Smartcar API.

The age of telematics devices

Up until a few years ago, fleet management software companies depended on aftermarket hardware to retrieve crucial information from vehicles. Whether it was a vehicle’s location, its odometer reading, or vehicle health information such as the tire pressure or engine oil life, fleet management software companies needed to retrofit their customers’ vehicles with GPS or OBD devices, before they could access this information and integrate it into their product.

The rise of telematics APIs

Times have changed and many fleet management software companies now rely on telematics APIs instead of telematics devices. Here’s what’s different about those hardware-free solutions and how fleet management software businesses are taking advantage of them:

Easy integration

Unlike aftermarket hardware, APIs like the Smartar API are standardized and compatible with vehicles across makes and models. Fleet management software companies need to build one single integration, no matter how many different vehicles they serve. APIs also offer developer-friendly documentation and SDKs. This makes integrating an API into fleet management software much faster and easier than integrating with aftermarket hardware.

Instant onboarding

Retrofitting a whole fleet of cars with telematics devices takes time and effort. In the past, fleet management software companies needed to contract this work out to local installer networks in every region, so that customers didn’t need to install the devices themselves. Smartcar’s customers were able to eliminate this pain point. Onboarding a new vehicle to Smartcar’s software solution takes just seconds from any mobile or web app, saving our customers time and money for more important work.

Cost efficiency

Unlike telematics devices, API products don’t require any upfront acquisition and shipping cost to be paid for by fleet management software businesses or their customers. When fleet management software companies use APIs for embedded telematics, they are able to offer their product at low initial cost and without long-term financing plans. Our customers have seen shorter sales cycles and an increase in signed contracts after starting to use the Smartcar API.

Even after a fleet is onboarded, API technology bears a low maintenance cost. This has made it possible for our customers to keep their monthly SaaS fees small and retain their customers for longer.

Accuracy

API requests retrieve accurate information directly from vehicles. For example, making a request to read a car’s mileage returns the vehicle’s actual odometer reading, instead of calculating an estimate based on locations and trips. Fleet managers know the difference between well made and poorly designed products. They appreciate it when their fleet management dashboard works flawlessly and doesn’t return inaccurate or erroneous data.

Reliability

Hardware devices can easily run out of battery, get damaged, accidentally get unplugged, or simply get lost. With telematics APIs, no such worries exist. Once a vehicle is onboarded, fleet owners don’t have to worry about malfunctioning or misplaced hardware. Our customers have told us that their overall user satisfaction has increased since they started using Smartcar, as fleet owners don’t need to deal with broken or misplaced hardware devices anymore.

Tamper-resistance

Even though this rarely happens, drivers or fleet owners might attempt to hide or falsify specific information about their vehicles. With APIs for embedded telematics, such attempts can't happen. Drivers aren’t able to unplug devices or to leave them outside the vehicle. Instead, every API request successfully reaches the car and retrieves accurate and reliable information from the vehicle.

This is how telematics APIs have become the driving force of fleet management software, and how they have benefitted the industry with their versatile, simple, efficient, and reliable architecture.

To learn more about how your fleet management software business can use Smartcar’s technology, check out our website and schedule a demo. We’re happy to chat!

Add manual formatting notes here...

Introducing batch requests (beta)

Karthik Bhaskara

1 min read

October 29, 2019
Product
News
Live SiteStaging Site

Smartcar is launching a new API endpoint in beta today. Meet batch requests. 💐

Making multiple API requests at once

The Smartcar API allows mobile and web apps to unlock, locate, and read the odometer from vehicles across brands without aftermarket hardware.

During the past couple of months, we launched a number of new API endpoints (e.g. fuel tank level, EV battery, and tire pressure). Our customers have asked us whether they could make requests to multiple of those endpoints at the same time. We're proud to say that this is now possible.

Our brand-new batch requests endpoint allows you to combine multiple API requests into one single request (e.g. location and odometer). Smartcar's response contains an array with one response for each requested endpoint.

All GET requests to Smartcar's API are eligible to be included in a batch request. For a list of all Smartcar API endpoints, head to our API reference.

Request access to this beta product today, and please let us know your questions and feedback.

Add manual formatting notes here...

Introducing the Smartcar Go SDK

Adolfo Portilla

1 min read

October 24, 2019
Product
News
Live SiteStaging Site

Today, we’re proud to announce a brand-new Smartcar API SDK. Meet the Smartcar Go SDK. 🐻

The Smartcar API allows mobility applications to locate, unlock, and read the odometer from vehicles across brands and without aftermarket hardware. Our Go SDK makes it fast and easy for developers to integrate Smartcar’s API into any Golang backend. The SDK comes with a number of exciting features:

  • The Go SDK supports all Smartcar API endpoints. New endpoints will automatically be supported as they go live.
  • Our user friendly Getting Started Guide walks you through the steps of authorizing a user and sending a request to a vehicle.
  • The SDK provides a method that allows you to quickly and easily construct authorization URLs.
  • Our convenient access token management allows you to store and renew access tokens effortlessly and securely.
  • The SDK provides methods for all API endpoints and returns responses in easy to handle structs.
  • Straightforward error handling allows you to efficiently test and debug your code.

Here's an example of an API request to unlock a car using the Go SDK:

When you use this SDK to integrate Smartcar's API into your application, you'll worry less about your integration efforts and spend more time on what's really important: building incredible mobility products.

Get started with the Smartcar Go SDK today. If you aren't using Go, make sure to explore our existing Smartcar API SDKs for Node.js, Python, and Java.

Add manual formatting notes here...

How to build a successful P2P car sharing business using API technology

Charlotte Kosche

2 min read

October 23, 2019
Car sharing
Live SiteStaging Site

Undoubtedly, the peer-to-peer car sharing industry is thriving. In 2017, nearly 3 million people in North America used P2P car sharing services. But there are several things that make companies like Turo more successful than others.

In previous posts, we explored how peer-to-peer (P2P) car sharing businesses can improve their customer experience by using software to offer virtual car keys, instant bookings, and faster vehicle returns. This time around, we want to take a broader look at the industry and reflect on the factors that have allowed our customers to build successful car sharing businesses using our API technology.

💪 Empowering vehicle owners

The success of P2P car sharing companies depends largely on the success of vehicle owners. Peer-to-peer car sharing companies should make it easy and lucrative for car owners to put their cars to better use. If they encourage vehicle owners to list their cars and make it extremely seamless for them to do so, the next success story is just around the corner.

🚗 Large selection of vehicles

All successful products have one thing in common: they meet and adapt to different customers’ needs. Peer-to-peer car sharing companies are especially good at that, if they diversify their offers and attract vehicle owners with different types of cars. The most successful platforms encompass everything from affordable vehicles for a slim budget to luxury cars for a weekend trip to the beach, and from month-long rentals to bookings for just a few hours.

📱 Great booking experience

Most peer-to-peer car sharing companies offer a well-designed mobile app that makes listing and booking vehicles easy, fast, and convenient from anywhere. Without this user-friendly, tech-first experience, both renters and vehicle owners would quickly run into too many roadblocks, discover other solutions, and churn.

🔑 Easy pick-up and returns

When it comes to renting a car, pick-ups and drop-offs bear more friction points than the whole rest of the process. Some peer-to-peer car sharing companies have managed to abstract away many of these complexities, making vehicle pick-ups and returns incredibly fast and easy for renters and vehicle owners.

Instead of meeting up and exchanging car keys, vehicle owners can simply share a digital car key with renters. When renters return the car, the car sharing company can automatically verify information such as mileage and fuel tank level, saving owners time and hassle.

Those are four ways in which peer-to-peer car sharing companies can build a successful product using the Smartcar API. To learn more about how your peer-to-peer car sharing business can use our technology, check out our website and schedule a demo. We’re happy to chat!

Add manual formatting notes here...

Announcing the Smartcar EV API (production)

Zac Espinosa

2 min read

October 22, 2019
Product
EV charging
News
Live SiteStaging Site

Today, we're proud to launch the Smartcar EV API in production. 🔋⚡

Our EV battery and EV charging status endpoints are leaving beta and are now available to all developers. Here's how our the EV API works and how our customers have been using it.

Introducing the Smartcar EV API

🔋 EV battery

Our EV battery endpoint allows web and mobile apps to access the state of charge (SOC) of battery electric and plug-in hybrid vehicles. A request to this endpoint returns:

  • An EV battery's SOC in percent
  • The vehicle's remaining range in kilometers or miles

EV charging status

Our EV charging status endpoint allows you to know whether an EV is plugged in and whether it is charging. A request to this endpoint returns:

  • Whether the vehicle is plugged in (true or false)
  • Whether the vehicle charging, not charging, or fully charged

Building smart EV charging networks

EV charging companies like ReCharge use our API to directly communicate with electric vehicles for the first time. Let's have a look at three ways in which our customers are using the EV API today.

👀 Monitor charging progress

Let EV owners monitor their charging progress in real time. Your application no longer needs to estimate a vehicle's charging status based on how much power gets drawn from a charger. Instead, Smartcar lets you retrieve SOC, charging status, and even the remaining range directly from the vehicle.

⏱ Charging schedules

With Smartcar's EV API, your customers can do more than just plug in and charge. Send EV owners notifications to stop charging once their battery reaches a certain SOC. Let them create smart charging schedules that will remind them to start and stop charging when electricity rates are low and energy sources are carbon neutral.

📍 Plan EV trips

Based on a vehicle's location and remaining range, help your customers plan trips. Tell them whether they can make it to their desired destination, and if not, where and how long they can charge their EV along the way.

Find out more about how our EV API caters to your business, and schedule a demo to chat with our team today.

Add manual formatting notes here...

Smartcar’s company culture: Why purposeful work is important to us 🎯

Jackie Leary

3 min read

October 16, 2019
Culture
Live SiteStaging Site

On the Smartcar careers page, one of our company values reads “Purpose: Our curiosity drives us to focus on building useful things that move the world forward.” What does this mean, and how does our team make this thought a reality?

That’s exactly what we’ll discuss in this fourth and final blog post about Smartcar’s company culture. Check out our previous posts about balance, respect, and empowerment, and just keep reading to learn more about purpose at Smartcar.

At Smartcar, the purpose of our work is simple: We empower developers to build the future of mobility. Our friendly API docs and SDKs let developers build mobility apps that make the lives of car owners easier and more convenient. Our curious team of engineers and business aficionados is tirelessly dreaming up new endpoints and innovative ways to improve and build upon our product. Our sense of purpose stems from being able to explore our curiosities, act upon them, and create something amazing.

Let us explore how three of our product’s use cases drive the future of mobility. Each use case has their unique purpose and their own way of allowing developers and their customers to build and use innovative mobility apps.

Car insurance 📄

When we first launched our product for auto insurance companies, our purpose was clear. We wanted to change the industry by making car insurance fairer, more affordable, and more flexible. This is why we built an accurate mileage verification solution that allows policyholders to pay only for the amount of miles they actually drive.

With our API, there is no more mileage over- or underreporting and no more mileage fraud from tampered hardware devices or turned-off phones. By eliminating the need to install expensive hardware in a policyholder’s vehicle, companies reduce their overhead costs and pass those savings on to the customer. In turn, policyholders don’t have to worry about installing a complicated device into their vehicles.

Car sharing 🔑

Similarly to car insurance, our product goes a long way for peer-to-peer car sharing businesses and their customers. Using our API, companies like Turo and Nabobil.no have made owning and renting cars faster, more convenient, and more affordable.

Smartcar’s API allows vehicle owners to share their car’s location and keys with renters directly via the car sharing app. Instead of arranging a time and place to exchange car keys, renters can find and unlock their rental vehicles directly from their phones. No more time spent waiting at a pick-up point, and no more complicated lockboxes.

What’s beneficial for vehicle owners and renters also benefits the car sharing company. Thanks to our quick vehicle owner onboarding, instant vehicle booking features, as well as easy pickups and returns, car sharing businesses have seen a large increase in bookings on their platform since using Smartcar.

EV Charging ⚡

Finally, our newest use case is one that we are very excited about: EV charging. The mobility industry is ever evolving and so are our endpoints. Our recently launched EV endpoints allow EV charging companies to connect directly to battery electric and plug-in hybrid vehicles for the first time.

Companies like ReCharge use our API to access the state of charge and charging status from EVs. This allows car owners to better monitor their vehicle’s charging progress, plan trips, and automatically start and stop charging when electricity prices are lowest. All in all, Smartcar’s API makes EV charging smarter, more efficient, and more convenient for EV owners.

With unwavering curiosity and determination, the Smartcar team continues to explore new use cases and endpoints. Our steadfast purpose is to drive (no pun intended) the world forward with our technology.

Have any questions or feedback? Feel free to reach out to our People & Operations team. We’d love to chat!

Add manual formatting notes here...

How peer-to-peer car rental businesses can save time on vehicle returns

Charlotte Kosche

2 min read

October 15, 2019
Car sharing
Live SiteStaging Site

The success of peer-to-peer car rental companies depends in great part on the success of vehicle owners. Can vehicle owners quickly and easily list and rent out their vehicles on the car sharing platform? Is the customer experience flawless, or do car owners need to worry about inconveniences such as renters cancelling on them, waiting at a pick-up or drop-off spot, and not getting paid on time?

The inconvenience of car rental returns

A large pain point that vehicle owners have to deal with is a car's return at the end of each rental period. Owners need to meet with renters, look for dents or scratches on the vehicle's body, read the odometer, and check the fuel tank level. If renters have damaged the car, exceeded the mileage limit, or forgotten to fuel up before returning the vehicle, owners have to manually report the issue to the car sharing company and wait to get paid an inconvenience fee.

This said, car rental returns are not only a small inconvenience. They also waste every vehicle owner’s time, which adds up to large profit losses for car sharing companies.

Car rental returns made easy

P2P car sharing companies like Nabobil use Smartcar to eliminate these pain points. Our technology allows businesses to simplify vehicle returns and to save car owners a good chunk of time on each car rental return.

⛽ Automatic fuel tank check

Using Smartcar’s technology, car sharing applications automatically pull a vehicle’s gas tank level at the end of each rental period. When the tank is only half full, car sharing companies immediately reimburse the owner and charge the renter a convenience fee. Vehicle owners don’t need to worry about sitting inside their vehicle, checking the fuel gauge, manually reporting issues, or waiting for payments to get approved.

⏲ Automatic mileage check

Similarly to the fuel tank check, car sharing applications automatically pull the odometer reading from vehicles at the start and end of each car rental. When the driven mileage exceeds the tier that renters paid for, the business automatically charges them and pays the difference to the vehicle owner.

By using Smartcar to make vehicle inspections easier and car rental returns faster, peer-to-peer car sharing businesses have improved customer satisfaction and significant increased car rentals as well as profits.

To learn more about these and other features, check out our recent posts on instant car rentals and digital car key solutions. Please don’t hesitate to contact us with any questions or feedback. We’re happy to help!

Add manual formatting notes here...

Introducing the Compatibility API

Kathleen Hsu

1 min read

October 10, 2019
Product
News
Live SiteStaging Site

Today, we're excited to announce Smartcar's Compatibility API, a Pro plan feature that helps target your app's power users while reducing friction in the Smartcar Connect flow.

Smartcar Connect without Compatibility

Usually, when your customers go through Smartcar Connect, they select their car brand, sign in, and grant your application access to a list of permissions (e.g. read odometer, access location, and lock/unlock car doors). Once those steps are complete, Smartcar runs a compatibility check, making sure that the customer's vehicle is compatible with the required permissions. If the vehicle is incompatible, Smartcar lets your customer know and sends the information back to your application.

Smartcar Connect with Compatibility

The Compatibility API allows you to move the compatibility check from the very end to the very beginning of Smartcar Connect. In fact, it allows you to verify whether a vehicle is eligible before even launching Smartcar Connect in the first place.

The Compatibility API checks whether a vehicle is eligible before sending customers through Smartcar Connect.

By selectively showing Smartcar Connect to customers with compatible vehicles only, your application can target exactly those customers who are able to use your Smartcar-powered features, while reducing friction for those who can't. This will simplify the overall user experience, increase your application's usage, and improve customer satisfaction.

The Compatibility API is our Pro plan feature. If you haven't already, make sure to read our previous announcements about Brand Select and Single Select.

To learn more about these features and how they add value to your business, schedule a demo with our Sales team.

Add manual formatting notes here...

Why peer-to-peer car sharing companies should offer instant car rentals

Charlotte Kosche

3 min read

October 9, 2019
Car sharing
Live SiteStaging Site

Peer-to-peer (P2P) car sharing companies are revolutionizing the car rental industry. They let customers rent cars from private owners via an easy-to-use mobile app, while stripping away all the complexities that traditional car rental companies struggle with. Customers of peer-to-peer car sharing businesses don’t have to deal with overwhelming websites, opaque pricing, long wait times, and unpleasant surprises when the desired car brand or model is no longer available. Instead, customers simply book a vehicle online, meet the owner to exchange car keys, and return the vehicle once the rental period ends.

In recent years, technologies like Smartcar’s API have accelerated this successful business model even further. Among other features, peer-to-peer car sharing companies use our software to let renters book cars instantly, only hours or even minutes in advance. What are the advantages of instant car rentals? How has Smartcar's technology enabled P2P car sharing companies to build and offer the feature?

What are instant car rentals?

Many P2P car sharing companies offer instant car rentals. The feature allows renters to book select cars instantly for same-day pick-up, instead of having to reserve a vehicle days or even weeks in advance.

Renters search the car sharing app for vehicles that are nearby and available for instant booking. After reserving a car and selecting a pick-up time, the renter picks it up from a designated spot. Renters don’t need to meet vehicle owners to exchange car keys. Instead, vehicle owners share their car’s location along with a digital key directly in the car sharing app. Once the renter has found and unlocked the car from their phone, they retrieve the physical key from the glove compartment and start driving the vehicle.

What are the benefits?

The advantages of offering instant car rentals are striking. First, renters love the instant booking feature for its speed and flexibility. They are able to rent cars more spontaneously and more often. They also save significant time on pick-ups and drop-offs, as they no longer have to wait for vehicle owners to arrive and hand over their keys.

Vehicle owners love and benefit from the instant car rental feature just as much as renters. As they no longer need to be present for each pick-up and drop-off, vehicle owners rent out their cars more often, even when out of town for a vacation or a business trip. They also like to rent out multiple cars in different places at the same time, because it allows them to optimize their car ownership and to gain more money.

Finally, the instant booking feature is a huge benefit for car sharing businesses themselves. Companies that offer the feature have seen improved customer satisfaction, increased rental numbers, and maximized profits.

How to offer instant car rentals

Smartcar’s software technology empowers businesses to easily integrate instant car rental features into their peer-to-peer car sharing apps.

  1. Using our documentation and SDKs, developers can easily integrate Smartcar’s technology into any mobile or web app.
  2. When vehicle owners sign up for the instant car rental program, they onboard their vehicle with just a few clicks from your car sharing app.
  3. Once a vehicle is listed for instant booking, renters can immediately reserve it and select a pick-up time. With the tap of a button, owners can share their vehicle’s location and keys, allowing renters to find and unlock the car directly from their phones.

This is how Smartcar’s technology enables car sharing companies to offer instant car rentals on their platforms. Learn more about how Smartcar caters to car sharing businesses, and please don’t hesitate to contact us with any questions or feedback. We’re happy to help!

Add manual formatting notes here...

Introducing the tire pressure API (beta)

Teddy Wahle

1 min read

October 8, 2019
Product
News
Live SiteStaging Site

We're excited to announce a new API endpoint in beta today. Meet the Smartcar tire pressure API. 🧭

Retrieve a vehicle's tire pressure without hardware

The Smartcar tire pressure API allows web and mobile apps to retrieve a vehicle's tire pressure with a single API request. The endpoint returns the air pressure of each tire in kilopascals or pounds per square inch.

Build modern mobility products

The Smartcar tire pressure API quickly and easily solves business problems for various mobility companies.

Car insurance providers use the product to detect sudden changes in a vehicle's tire pressure. Maintenance and repair services utilize the API to notify customers when their tire pressure is too low or too high, and invite them to schedule a service appointment.

These are only two examples of how customers use our tire pressure API. To learn how our product caters to your use case, schedule a demo with our Sales team today.

To request beta access to the API endpoint, please reach out to us via email.

Add manual formatting notes here...

Why car sharing services shouldn’t use hardware as a digital car key solution

Charlotte Kosche

3 min read

October 3, 2019
Car sharing
Live SiteStaging Site

With the rise of the sharing economy, peer-to-peer (P2P) car sharing services have become more and more popular. The concept is easy. Customers rent cars from private owners for short periods of time. In turn, vehicle owners put their idle cars to better use while earning money on the side. This business model often goes along with a well-designed, easy-to-use app that makes listing vehicles and renting cars fast and simple.

Peer-to-peer car sharing is a great concept, but it can be difficult to make a reality. What if I rent a car, but the vehicle owner doesn’t show up at the pickup spot? Or what if I want to lend my vehicle, but I’m away on a business trip and unable to meet renters for a physical key exchange? Companies like Turo and Nabobil are using Smartcar’s technology to solve these problems. Here’s how.

The need for digital car keys

Many peer-to-peer car sharing businesses see pain points in a vehicle’s pick-up and drop-off process. Vehicle owners have to physically meet renters and hand over their car keys. This is time consuming and inconvenient not only for vehicle owners, but for renters too. That's where digital car keys come in handy.

Digital car keys allow vehicle owners to share access to their vehicle directly in the car sharing app. When picking up a vehicle, renters unlock the doors with their phone and find the physical keys inside the glove compartment. This way, vehicle owners and renters no longer need to physically meet and exchange car keys.

The downsides of using car sharing hardware

Some P2P car sharing companies have implemented virtual car key solutions by professionally installing hardware devices inside vehicles. Unfortunately, there are several disadvantages to using hardware as a digital car key solution.

1. Cost

Hardware devices are expensive to use. They often need to be purchased upfront in large bulks, before the car sharing business knows whether vehicle owners will make use of the digital car key solution. Shipping costs, firmware updates, and the replacement of lost or stolen devices quickly add up and turn into large cost factors. In the worst case, vehicle owners churn before businesses can recover the hardware cost.

2. Time

It takes several days, if not weeks to ship each device to the respective vehicle owner. Every day wasted on shipping hardware is a day of missed revenue opportunity for the car sharing business.

3. Installation

Hardware devices don’t function correctly if they aren’t installed correctly. Companies either need to educate vehicle owners on how to install the device in their vehicle, or they have to build a network of technicians in every region to manage the installation work for them. Both distract significant time and resources away from more important parts of the business.

4. Reliability

Once installed correctly, hardware devices can get knocked out of place without vehicle owners or renters realizing it. In those cases, customers find themselves unable to lock or unlock a car from their phones. They aren’t able to identify the problem and how to fix it.

That said, hardware-powered digital car keys bear a lot of problems. During the past years, software technology such as Smartcar’s API has started to largely replace those outdated hardware solutions.

The advantages of hardware-free digital car keys

Smartcar allows car sharing companies to easily integrate keyless entry into any car sharing app without the need for hardware devices. Here is how our customers are using Smartcar.

1. Cost efficient

Instead of requiring large upfront costs, our simple SaaS pricing adapts to and scales with every business’s usage and needs. Automatic software updates make our solution easy and inexpensive to maintain.

2. Easy to integrate

Thanks to our friendly documentation and SDKs, it takes car sharing companies just a few hours to integrate Smartcar’s software technology into any mobile or web app. Our software is compatible with models of 14 vehicle brands across the United States, allowing most car owners to use it.

3. Instant onboarding

Vehicle owners onboard their cars with just a few clicks in any car sharing app. From here, they start using and sharing their digital car key right away. They don’t need to wait for a device to arrive in the mail, and they don’t need to spend time installing anything.

4. Reliable

Smartcar’s technology communicates directly with the 3G or 4G modem that is directly built into each vehicle. This connection is extremely reliable and eliminates the risk of damaged or misplaced components.

This is why peer-to-peer car sharing businesses shouldn’t use hardware devices as a digital car key solution, and why many companies use software alternatives such as Smartcar’s API instead.

Learn more about how Smartcar caters to P2P car sharing companies. Please don’t hesitate to contact us with any questions or feedback. We’re happy to help!

Add manual formatting notes here...

Introducing Single Select

Allison Chen

2 min read

October 2, 2019
Product
News
Live SiteStaging Site

We're thrilled to roll out Single Select, a Pro plan feature that personalizes onboarding and ensures 100% accuracy in the Smartcar Connect flow.

Smartcar Connect without Single Select

Smartcar Connect lets your customers quickly and easily link their cars to your application. Usually, customers select their vehicle brand, sign in, and select the car(s) they wish to link to your app. If a customer owns multiple vehicles of the same brand, they can choose to link one or more cars from a list of checkboxes.

The usual Smartcar Connect flow without Single Select.

Smartcar Connect with Single Select

In some cases, your might want to limit customers to linking only one vehicle at a time. This is where Single Select comes in handy.

Single Select

The simple version of Single Select limits customers to selecting only a single checkbox on the vehicle selection screen. By ensuring that customers link only one vehicle at a time, your application can more easily process and store related information.

Single Select with VIN

If your customer's vehicle is already on file in your application, you can use Single Select with VIN. This more advanced feature personalizes the onboarding experience even further. With 100% accuracy, it ensures that customers link the right vehicle to your application.

To use Single Select with VIN, simply pass in the VIN of your customer's car when launching Smartar Connect. Your customer now automatically skips the vehicle selection step and directly reviews permissions for that specific car.

Single Select (left) and Single Select with VIN (right).

Single Select our second Pro plan feature. Don't forget to read about our first Pro feature, Brand Select.

Stay tuned for further announcements and schedule a demo with our Sales team to learn more!

Add manual formatting notes here...

Smartcar’s company culture: How we’re creating an empowering work environment 💪

Jackie Leary

3 min read

October 1, 2019
Culture
Live SiteStaging Site

Welcome to part 3 of our company value blog post series. Previously we gave you insight into how we value balance and respect in the workplace, today’s post will talk about how we create an empowering culture for everyone at Smartcar!

Communicating Smartcar’s vision 👓

A company can only be successful if each individual knows how their work contributes to the overall success of the organization. This is why for us, being empowered starts with knowing Smartcar’s vision and aligning on common goals.

Our co-founders Sahas and Sanketh openly communicate Smartcar’s vision and goals during monthly All-Hands meetings. Those meetings serve to create transparency around our company’s focus, metrics, and precisely what the team is doing to achieve our short and long-term goals. With the help of everyone’s buy-in, enthusiasm, and collaboration, we’re not only aiming in the same direction and achieving our goals as a team, but we’re also happier and more empowered employees.

Autonomy & decision making 🙋‍♀️

Sahas and Sanketh don’t only create transparency and alignment around a broader vision and goals, but they also strive to empower every team member during their day-to-day work. At Smartcar, we want everyone’s voice to be heard and different opinions, perspectives, and ideas to be sincerely considered and appreciated.

To encourage open communication and feedback, we hold bi-weekly 1 on 1’s between each team member and their manager. This helps us think critically and to speak up for what we believe in. When our voices are heard, we feel valued and know that we can truly make a difference.

Smartcar is a collaborative environment, but managers also trust every team member to work autonomously, make their own decisions, and take ownership of projects. When Mathilde wanted to experiment with a new recruiting incentive, she didn’t need to cut through a bunch of red tape to get approval. She had an idea and her manager trusted her to see it through. The new incentive yielded increased response rates and was a huge success.

But even when we try something new and aren’t successful, management doesn’t label it as a failure. Instead, it is seen as an opportunity to learn, grow, and improve. When we feel trusted with making the right decisions, we can focus our efforts on accomplishing the best results.

Career development 📈

Finally, empowerment means being able to grow in our current roles and, beyond that, to grow our careers at Smartcar. Sahas and Sanketh encourage the team to take charge of our career growth and to make our roles our own. Take a look at some Smartcar success stories:

Charlotte, Marketing

Charlotte has been with Smartcar for right about one year. She joined the team as a Marketing intern, working on blog posts and all things content. After a successful internship, she took on a full-time role. Charlotte has been our Content & Marketing guru ever since, managing everything from product copy and homepage content to SEO, blogs, and PR.

Gurpreet, Engineering

Three years ago, Gurpreet joined the Smartcar team as a Software Engineering Intern. Halfway through his internship, Gurpreet accepted a full-time role and eventually got promoted to Senior Software Engineer and acting Tech Lead. In his time here, Gurpreet has gained lots of new skills and has worn many hats, discovering everything from sales engineering to building out engineering mentorship programs.

Zeenia, Business & Sales

Zeenia joined the team as a Business Development Associate in 2017. Fast forward to today, Zeenia has been promoted three times and is now heading Sales and Business Development. She has built out everything from our sales process to market research and pricing.

Add manual formatting notes here...

Introducing Brand Select

Adolfo Portilla

1 min read

September 26, 2019
Product
News
Live SiteStaging Site

Today, we're excited to launch Brand Select, a brand-new Pro plan feature that speeds up the onboarding process and increases conversions in the Smartcar Connect flow.

What is Smartcar Connect?

For those who aren't familiar, Smartcar Connect allows your customers to link their vehicles to your application. It lets customers select their car brand, sign in with their username and password, and grant your application access to a list of permissions (e.g. access vehicle location, read odometer, and lock/unlock car doors). Once the Connect flow is complete, your application can start making API requests to your customer's vehicles.

Introducing our brand-new Pro plan features

Smartcar Connect will soon features an exclusive set of Pro features that makes linking cars to an app even faster and easier. Starting today, our Pro plan customers will have access to the first of three features, which we'll launch over the course of the next few weeks.

First up: Brand Select

The very first of our Pro features is Brand Select. It allows you to simplify the user experience, speed up onboarding, and increase conversions during Smartcar Connect. Here's how it works.

The usual Smartcar Connect flow (left) and Smartcar Connect with Brand Select (right).

Usually, Smartcar Connect starts off by letting customers select their vehicle brand. However, you might already know the brand of the vehicle(s) that your customer is linking to your app. In those cases, Brand Select lets customers skip the "Select your brand" step, taking them straight to the vehicle login screen.

With fewer clicks, fewers steps, and a shorter time to completion, Brand Select makes the Smartcar Connect flow faster and easier, while increasing conversions by up to 20%.

Schedule a demo to learn more about Brand Select, and stay tuned for updates about further Pro features!

Add manual formatting notes here...

Why auto insurance providers should monitor night-time driving

Charlotte Kosche

3 min read

September 25, 2019
Auto insurance
Live SiteStaging Site

Pay-per-mile and usage-based insurance (UBI) products are on the rise. More and more auto insurance businesses calculate premiums based on a policyholder’s driving behavior. This means tracking a driver’s mileage, location, time-of-day driving, acceleration, braking, and more. While industry professionals agree that mileage is an important risk factor that influences pricing and underwriting, there is less agreement about other factors. Let’s take a deeper look into time-of-day driving.

Night-time driving does not equal day-time driving

The difference between driving at dark and driving by daylight is literally night and day. At dark, drivers face limited visibility, making it harder to see road signs, other vehicles, and pedestrians. Construction sites are more likely to be active during the night hours. Unfortunately, there are also more drunk drivers on the road at night-time.

That said, time-of-day has a large influence on a driver’s experience. But why should insurance providers care?

Almost half of fatal accidents happen at night

Insurance providers should care, because night-time driving is significantly riskier than day-time driving. According to the NHTSA, 49 percent of fatal car accidents occur at night, although only 25 percent of total traffic occurs during those hours. Hence, the fatality rate per vehicle per mile is three times higher at night than it is during the day. This makes time-of-day driving an important risk factor for insurance companies. Knowing when policyholders drive is just as insightful as knowing how many miles they drive.

How to monitor time-of-day driving

Monitoring day-time vs. night-time driving is easier for some insurance businesses than it is for others. Some companies are already using aftermarket hardware or their policyholders’ smartphones to report all kinds of driving behavior. Others are not yet using vehicle telematics or smartphone technology, but are instead letting policyholders self-report their annual mileage.

Vehicle telematics made easy

Is your insurance business currently asking policyholders to self-report their mileage, and would you like to start monitoring time-of-day driving as well? Smartcar offers a simple solution for you. Using our API technology, your company can start automatically verifying mileage and tracking night-time driving as well. Our pure software product brings a number of benefits:

  • Ease of use: Your customers can link their cars to your insurance app with just a few clicks. No aftermarket hardware or smartphones needed.
  • Cost efficiency: Smartcar offers simple SaaS pricing. You won’t need to spend money on expensive hardware that need frequent software updates.
  • Accuracy: Our API communicates directly with the 3G or 4G telematics modem in each vehicle. There is no risk of faulty installations or dead smartphone batteries.
  • Privacy first: Smartcar lets you access mileage and time-of-day driving with user content and no invasion of privacy.

Respecting consumer privacy

Let us elaborate this last point a little further. While UBI products are becoming more and more common, transparency and privacy concerns are getting stronger and stronger as well. Policyholders are hesitant to constantly share their location with insurance companies. They don’t want to disclose their every movement, including when they accelerate and how strong they brake.

Smartcar offers the first and only solution that lets you do both - track important driving behavior such as mileage and night-time driving and protect your policyholders’ privacy. Our advanced technology lets insurance providers monitor mileage and time-of-day driving by reading a vehicle’s odometer and logging timestamps - no location services needed. Our transparent onboarding flow shows policyholders a detailed list of permissions (e.g. read odometer, read VIN, or read fuel tank level), which they can choose to accept or deny. This way, your business can gather accurate information and calculate risk without compromising consumer privacy and transparency.

No matter whether your insurance business is new to vehicle telematics, or whether it already offers UBI products, Smartcar allows you to easily monitor mileage and night-time driving, all the while minimizing privacy concerns.

If you have any questions or would like to request a product demo, please don’t hesitate to contact us. Our Sales team is happy to help!

Add manual formatting notes here...

Introducing the Smartcar EV API

Karthik Bhaskara

1 min read

September 24, 2019
Product
EV charging
News
Live SiteStaging Site

Today, we're thrilled to give you a sneak peek of our two newest API endpoints. Meet the Smartcar electric vehicle API. 🔋⚡

Our EV API endpoints allow you to retrieve an electric vehicle's current battery level and to know whether the car is currently charging. All this works on most battery electric vehicles (BEVs) and plug-in hybrid vehicles (PHEV) across brands and without aftermarket hardware.

🔋 The EV battery endpoint lets you access:

  • The state of charge (SOC) of an EV battery, in percent
  • The remaining range, in kilometers or miles

⚡ The EV charging status endpoint returns whether an electric vehicle:

  • Is or isn't plugged in
  • Is charging, isn't charging, or is fully charged

Our EV API allows you to retrieve EV data and manage charging with ease. Energy and utility providers can better manage residential EV charging to balance electric grid load. EV charging networks can provide estimated charging times, automatic charging schedules, and EV trip planning for their customers.

Visit our Electric Vehicle API page to learn more about compatible vehicles, latest API endpoints, popular use cases, and more!

Add manual formatting notes here...

Smartcar’s company culture: How we’re creating a respectful work environment 🤝

Mathilde Patmon

4 min read

September 19, 2019
Culture
Live SiteStaging Site

Welcome to part 2 of our company value blog post series. After part 1, today’s topic lies especially close to our hearts: respect. We’ve done a lot to create a respectful work culture here at Smartcar, and we’d love to share our insights with you.

Kindness

Fostering a respectful work environment can mean a lot of things. To us, it means being kind, inclusive, and collaborative.

We pride ourselves on having a truly kind team here at Smartcar. We’re genuine and down-to-earth people that work hard but don’t take themselves too seriously. The phrase “this isn’t in my job description” is not in our vocabulary. As a team, we fail and succeed together, and we stay a team even outside of work.

To mention a few examples, our founders Sahas and Sanketh helped Gurpreet (Senior Software Engineer) move to a new apartment one weekend. When we receive significantly more job applications than usual, the whole team helps Jackie and me with screening applications and hopping on interview calls. When our Content Writer, Charlotte, publishes a blog post that she really wants to go viral, the entire company shares her post and even calls up friends and family to chip in.

Inclusivity

Being respected has a lot to do with feeling welcome and feeling empowered to participate. If you have an idea - share it! If you have hesitations about something - speak up! If you see that someone needs help on a project - help them! We value a no BS environment with open communication and equal opportunities for everyone. A few examples of this include:

When giving a job offer to a potential new team member, several colleagues send out congratulations emails. We want new team members to know we’re excited to meet them, and we want them to feel welcome right from the start.

No matter which department you work in, everyone is welcome to join in on different teams’ meetings. Many of our Business team members have participated in Engineering sprint planning, and asked questions to fully understand the technical side of our product. All of our engineers have joined our Head of Sales and Business Development, Zeenia, on Sales pitches to understand the needs of potential new customers. Some of our interns have sat in on candidate interviews to learn more about our recruiting process.

When our Recruiting team proposed hosting quarterly demo events at our office, our CEO provided a budget to experiment and prove the concept. After three events and one new hire from each event, we transformed the experiment into an ongoing part of our recruiting practices.

Even outside of working hours, we sometimes go hiking, boxing, or bowling together. Other times we organize game or movie nights, or we feast together at a potluck or barbecue. Every team member brings in their own background and interests, so our outside-of-work activities never get boring.

Collaboration

Last but not least, creating a respectful work environment means to collaborate. You can’t respect someone or be respected if you’re completely alone. In fact, all our roles here at Smartcar involve working with and learning from others.

Our engineers often work on larger projects in pairs. They also do code reviews and peer programming. Finally, at least two engineers have to approve every PR before gets merged in.

Smartcar’s Recruiting team is highly collaborative as well. We work with the Marketing team on organizing events and managing our social media channels. We also value the team’s input when hiring someone new to join the Smartcar family. During the final step of our interview process, five team members participate in interviews. When we make our decision, hearing various perspectives helps us eliminate bias and ensure that we’re hiring top talent.

Finally, the Marketing function benefits from close collaboration with other departments. Charlotte wouldn’t be able to improve SEO without help from Engineering, send the right email campaign without help from Product and Sales, and publish a blog post about our company values without - well - help from someone on our Recruiting team. 😉

This is how we’re being kind, inclusive, and collaborative to create a respectful work environment at Smartcar. Of course, no company is perfect, so we’re always striving to listen to everyone’s feedback, to keep doing what we’re doing well, and to improve what we could do better.

Stay tuned for two further blog posts about our remaining company values, and feel free to reach out to our People & Operations team with any questions. We’d love to chat!

Add manual formatting notes here...

How to verify mileage without a smartphone

Charlotte Kosche

2 min read

September 17, 2019
Auto insurance
Live SiteStaging Site

As an alternative to self-reported mileage and aftermarket hardware solutions, more and more insurance companies have started using their policyholders’ smartphones as a tool for tracking and verifying mileage information. Here is why this popular solution is problematic, and which route your insurance business can take instead.

Tracking mileage with a customers’ smartphone

At first sight, using a smartphone for mileage verification sounds favorable. Policyholders download an app and set their location sharing to “always.” From here on, the phone’s accelerometer and location services are doing the magic. The phone detects the start and end of a trip. It then calculates driven mileage based on the phone’s continuous location data.

The problems

As simple and convenient as it may seem, there are numerous problems with using smartphones to track vehicle mileage:

  • Inaccuracy: No matter how advanced the technology, smartphones always report mileage data with a certain degree of inaccuracy. The reason is simple. Phones can’t access a car’s true odometer reading, and inferring mileage from location data merely leads to an estimate. Phones can also fail to capture the start or end of a trip, and they can even erroneously report a trip, while the policyholder is actually riding in an Uber or taking the bus.
  • Unintentional failure: Beside the mentioned technological failures, human error and leniency add to the problem. From time to time, policyholders forget their phones at home. Phones can also run out of power during the middle of a trip, due to the constant use of location services in the background.
  • Intentional fraud: When the failure to report mileage is not accidental, we are facing blatant mileage fraud. Before going on a long trip, some policyholders intentionally disable location services, uninstall the insurance app, or simply turn off their phones. Now, the insurance provider has no way of capturing the policyholder’s trips, until the policyholder turns their phone back on, re-enables location services, or re-downloads the deleted app.
  • Privacy concerns: Finally, with the rise of privacy concerns across many industries, some prospective customers are hesitant to commit to an insurance policy that constantly accesses their location and reports every trip they make.

Tracking mileage without a customers’ smartphone

That said, smartphones aren’t the best way to report and verify car mileage. We at Smartcar have given this topic a lot of thought, and we’ve worked hard to develop a solution that solves all of the mentioned problems in one go.

The solution

Smartcar’s mileage verification solution uses API technology to let insurance businesses do the following:

  1. With just a few clicks, Smartar lets policyholders link their cars to an insurance app.
  2. For maximum transparency, the insurance app lets policyholders accept or deny a detailed list of permissions (e.g. access a vehicle’s odometer reading, location, or VIN).
  3. The insurance provider can now automatically access the policyholder’s true odometer reading every month, every year, or however often they need to.

As our API communicates directly with each vehicle, there is no need to constantly monitor location data, or to estimate and calculate mileage based on other information. Smartcar is the first mileage verification solution that eliminates the risk of inaccuracy, failure to report, battery drainage, fraud, and privacy complaints. Our product does the heavy lifting and simplifies mileage verification, so that insurance providers can focus on what’s important: successful underwriting, a growing customer base, and increased profits.

Are you wondering how Smartcar caters to your insurance product? Would you like to learn more about our product or schedule a demo with our sales team? Feel free to reach out to us. We’ll be happy to assist!

Add manual formatting notes here...

How your insurance company can avoid underreported mileage

Charlotte Kosche

3 min read

September 11, 2019
Auto insurance
Live SiteStaging Site

Underreported mileage causes the auto insurance industry billions of dollars in losses every year. But what exactly is underreported mileage, and how can insurance businesses avoid it?

What is underreported mileage?

Underreported mileage is a form of soft fraud. It occurs when policyholder report a certain number of miles driven, while they actually drove more than the reported amount.

Unfortunately, this underreporting of mileage happens quite frequently. Most insurance companies allow policyholders to self-report their annual mileage, asking policyholders how much their car was driven that year. Those insurance providers don’t have a way of verifying whether the driver’s answer aligns with the vehicle's actual odometer reading. Of course, this common practice invites policyholders to give rough estimates rather than accurate statements, or to even lie about their mileage information.

Why is it an issue?

Underreported mileage poses a huge problem to almost all insurance businesses. People who drive more are at bigger risk of getting into accidents. When policyholders lie about how much they drive, insurance providers will work with erroneous data and inaccurately calculate risk. The result is a large amount of premium leakage for insurance companies every single year.

More than half of drivers underreport their annual mileage to insurance companies. A quarter of them understate their mileage by 6,000 miles or more, according to a study by the California Department of Insurance. Clearly, this is not a small issue. Quite the contrary, underreported mileage causes the insurance industry to lose billions of dollars every year. Finding a solution is important and long overdue.

How can I avoid it?

The path to avoiding underreported miles is simple: Use a car’s actual odometer reading instead of relying on self-reporting and other tamper-prone solutions. Smartcar provides a mileage verification solution that lets insurance companies access their policyholders’ actual odometer readings. Here’s how it works:

Using our API technology, insurance businesses can let policyholders link their cars to an insurance application. The app can then regularly read mileage information from the policyholder’s car. This pure software solution brings multiple benefits compared to self-reported mileage and hardware alternatives:

No self-reporting

With Smartcar’s solution, insurance providers can easily and automatically read a policyholder’s odometer every year, every month, or however often is necessary. Policyholders won’t have to look up how much they drove, and they won’t be able to rig their mileage information in any way. Insurance companies will never have to deal with soft fraud or tamper again.

Accuracy

Smartcar’s technology communicates directly with 3G and 4G telematics modems that are built into vehicles. It allows insurance apps to access a car’s true odometer reading, eliminating all forms of inaccuracy and all risks of failure. Using this reliable information, insurance businesses can finally achieve correct pricing and underwriting.

No dependency on aftermarket hardware or smartphones

As self-reported mileage is becoming less and less popular, alternative solutions have entered the market. Some insurance providers ask their policyholders to install OBD-II dongles or other aftermarket hardware in their vehicles in order to automatically read and report mileage. The use of a policyholder’s smartphone for the same purpose is another prominent solution.

Smartcar’s pure software product is entirely different from both of these methods. First, both OBD dongles and smartphones are inaccurate when reporting mileage, as they merely estimate the number of miles driven on the basis of location and trip data. Neither aftermarket hardware nor phones are able to access a vehicle’s true odometer reading. Second, policyholders can still commit tamper by unplugging OBD devices and turning off their phones. Third, both solutions are prone to unintentional underreporting, namely when a hardware device gets knocked out of place and when a policyholder’s phone battery dies from constantly reporting its location in the background.

This is why underreported mileage poses a big problem to auto insurance companies and how Smartcar’s mileage verification solution alleviates the problem. If you have any questions about our product or would like to request a demo, please don’t hesitate to reach out to us. We’re happy to help!

Add manual formatting notes here...

Smartcar’s company culture: How we’re creating a balanced work environment 🙏

Jackie Leary

3 min read

September 5, 2019
Culture
Live SiteStaging Site

Every workplace is different. Each company has their very own history, organizational structure, values, and culture. While a company’s leaders are responsible for ensuring certain core values, all team members contribute their own perspectives and experiences, creating a unique company culture.

Job applicants often ask us what Smartcar’s company values are and what our company culture looks like. This blog post series will provide you some insight, guided by our core values: balance, purpose, empowerment, and respect.

Are you wondering how we achieve work-life balance and how we promote a happy, healthy work environment? Then this “balance” blog post is for you - just keep on reading!

Balance at Smartcar

Work-life balance 🌴

There is a common misconception that people at startups are overworked and burnt-out. That’s just not the case at Smartcar. Having a healthy work-life balance is super important to us. Our flexible PTO policy allows everyone to take the time they need to recharge, explore the world, and see their families. We’ve gone to some pretty cool places recently. Have a look!

Health & fitness 🚴‍♀️

We want everyone at Smartcar to be and stay healthy. This is why we offer a variety of health, dental, and vision plans for team members to choose from. In our free time, you will find many of us exercising, playing sports, and enjoying the outdoors. Sometimes, we spontaneously sign up for boxing classes or go on group hikes together.

Happiness 😄

A healthy employee is a happy employee. At our office, we’ve created a space where our team can be comfortable, productive, and creative. Our flexible office furniture ranges from standing tables to couches and from quiet areas to patio seating. There’s simply no room for monotony at Smartcar! In case you get hungry, we offer a pantry full of healthy snacks, a fridge full of La Croix, plenty of coffee, and (of course) free catered lunches!

Dog-friendly office 🐶

Dogs are part of the Smartcar family. Every Thursday and Friday are take-your-dog-to-work days at our office. We encourage games of fetch and walks outside, helping dogs and team members alike to get a break from the day-to-day. Our office dogs are even invited to company offsites!

Team building 🙌

Every quarter, Smartcar organizes team bonding activities that allow everyone to get out of the office, have fun, and get to know each other better. We believe that regular company offsites foster trust and communication between colleagues. We really find that it works, and also, it’s just a lot of fun.

This is how we create a balanced company culture at Smartcar. Stay tuned for further blog posts about our three other company values, and feel free to reach out to our People & Operations team with any questions. We’d love to chat!

Add manual formatting notes here...

Why you shouldn’t use OBD-II dongles to verify mileage

Charlotte Kosche

3 min read

September 3, 2019
Auto insurance
Live SiteStaging Site

Whether we’re looking at pay-per-mile products, usage-based pricing, or traditional policies, mileage verification plays an important role in all kinds of auto insurance products. Many insurance companies use aftermarket hardware like OBD-II dongles to verify mileage. Here’s what this hardware solution lacks and how you can use a successful software-based alternative.

Why OBD-II dongles are bad at verifying mileage

While on-board diagnostics dongles (OBD) are versatile and useful for tracking and diagnostics, they are far from ideal when it comes to mileage verification.

  • Inaccuracy: It might surprise you, but on-board diagnostics dongles aren’t able to access a vehicle’s actual odometer reading. Instead, OBD dongles calculate a car’s approximate mileage information based on its location as well as the start and end of the driver’s trips. As you can imagine, inferring mileage from location and trips comes with inevitable inaccuracies. On top of that, if the dongle wrongly detects the start or end of a trip, small imprecisions can turn into significant errors.
  • Inconvenience and unintentional failure: OBD-II dongles, like all hardware devices, need to be correctly installed and used. Policyholders have to wait for a package in the mail and spend time installing the device in their vehicle. This lengthy onboarding process causes many prospects to drop off, if it doesn’t discourage them from requesting a quote in the first place. Once installed, devices can easily fail due to a loose connection or if customers accidentally knock them out of place. Finally, OBD dongles can draw too much power and cause a customer’s car battery to die.
  • Intentional tamper: Beyond the risk of incorrect installation and unintentional failure, some customers will deliberately commit mileage fraud. Policyholders might unplug their device before going on a long trip, and your product will take some time to detect the tamper. By the time your customer re-installs the dongle, they might have driven 10 miles or 500 miles. In hindsight, you won’t be able to determine this number, let alone the amount of premium leakage caused to your company.
  • Privacy concerns: As consumer privacy is becoming an increasingly pressing issue, insurance companies have a hard time gaining their customers’ trust. Policyholders are skeptical towards constant tracking, and with good cause. OBD devices are essentially black boxes that provide little transparency about the kind of information they collect, how it gets passed on to the insurance company, and how it is being used.
  • High expenses: Finally, OBD-II dongles are a significant cost factor. Your business will have to purchase OBD devices, ship them to policyholders, and replace them in case of damage or loss. If customers switch to a different insurance provider before your business has recovered the initial hardware cost, your profits will be dropping, not rising.

Why APIs are great at verifying mileage

As cars are becoming increasingly internet-connected, we don’t always have to depend on hardware to do the things that matter most. Smartcar is a pure software alternative that uses API technology to offer the perfect mileage verification solution to auto insurance companies.

  • Accurate: APIs return a car’s real odometer reading — not an estimate of how far the vehicle has travelled based on trips and location. Your business will be able to finally provide precise pricing and underwriting, while your customers will never again complain about inaccurately reported mileage.
  • Easy to use and reliable: Smartcar’s onboarding process just takes a few clicks from any mobile or web app. Customers will no longer have to wait to receive a device in the mail. They won’t have to install any hardware in their vehicle, but will simply log into their existing car account and accept a list of permissions. Once that’s done, customers won’t need to worry about incorrect installations, loose connections, or dead car batteries.
  • Tamper-resistant: With a car API, your insurance product will be able to read a car’s actual odometer regularly and automatically. Customers won’t be able to commit mileage fraud, because they won’t be able to hide or rig any information. This way, you won’t ever need to worry about lost profits from premium leakage again.
  • Privacy first: Our onboarding flow with granular permissions puts transparency and user privacy first. Customers will see exactly which information your insurance app is asking for (e.g. a vehicle’s odometer, location, or fuel tank level). With the push of a button, they can choose to accept or deny this list of permissions.
  • Cost-efficient: Smartcar offers simple SaaS pricing that scales and adjusts to your needs. You won’t spend time and money on hardware devices, shipping, replacements, and repairs. Instead, your company will be able to save up and spend more time on the important thing: building incredible insurance experiences for your customers.

📱 Building apps for cars: A beginner's guide to car APIs

What does a car API look like in action? Why should you connect to cars with an API instead of OBD dongles or smartphone telematics?

More importantly, is a car API platform the right choice for you?

👉 Learn from real examples of apps built with car APIs

Software solutions now make verifying mileage much easier for insurance companies. Interested to learn more about the Smartcar platform? Please don’t hesitate to request a demo. We’d be happy to help!

Add manual formatting notes here...

Is Smartcar an automotive data marketplace?

Sahas Katta

2 min read

August 28, 2019
Product
Live SiteStaging Site

We sometimes get asked: "Is Smartcar a data marketplace?" The answer is no.

Smartcar is an automotive developer platform. It is not an automotive data marketplace. It never has been one, nor will it ever become one.

We're used to getting asked whether Smartcar is a data marketplace. This question comes up from time to time in our meetings with customers, partners, OEMs, analysts, and VCs. It's a fair question to ask, as topics like data monetization have become a popular focus in the automotive tech world. However, it's important to understand the difference between a data marketplace and a developer platform.

What is an automotive data marketplace?

On any marketplace, there are sellers and buyers. The good being sold and bought on a data marketplace happens to be data. In the past few years, several well-funded companies have built marketplaces for car data. Those platforms, often also referred to as data exchanges, enable companies that generate automotive data sets to sell it to interested buyers.

More often than not, the automotive data that is being sold on these new types of marketplaces belongs to consumers who have unknowingly signed away their rights when using certain products and services. While some new platforms incorporate anonymization techniques before selling the data, there is still something fundamentally controversial about selling consumer data without giving consumers a choice and without being 100 percent transparent about it.

What is an automotive developer platform?

Empowering developers

A developer platform is fundamentally different from a data exchange. It is a collection of tools and resources for software engineers to easily integrate with a family of products. For example, Stripe makes it easy for developers to integrate with every credit card processor. Plaid makes it easy for developers to integrate with any bank. Smartcar makes it easy to integrate with any car.

We provide developers with friendly API documentation and SDKs to integrate mobility apps with cars of any brand. Without our platform, developers would have to spend months building dozens of custom integrations for each and every car brand.

Developer platforms do not facilitate letting companies sell their customer data to others. Neither does Smartcar.

Empowering consumers

Apart from offering resources to software engineers, developer platforms also empower consumers to choose the apps they want to use and to consent to specific permissions. At Smartcar, we let vehicle owners link their cars to the apps of their choice, and we let them review a specific set of permissions for each app (e.g. vehicle location, odometer, fuel tank level).

Smartcar is not a data marketplace

Here's what we say when companies reach out to us with the following questions:

  • "Can we buy vehicle data from Smartcar?" - No.
  • "Can you send us a car's location or odometer if we provide a VIN?" - No.
  • "Does Smartcar sell bulk vehicle data sets?" - No.
  • "How about anonymous data sets, are those for sale?" - No.
  • "Has Smartcar ever sold customer data in the past?" - No.

Smartcar's mission is to empower developers to build the future of mobility. We believe that the best products do not come at the cost of consumer privacy. This is why Smartcar is a developer platform.

Add manual formatting notes here...

Introducing the fuel tank API

Gurpreet Atwal

1 min read

August 15, 2019
Product
News
Live SiteStaging Site

Today, we're excited to launch the Smartcar fuel tank API! ⛽

This new API endpoint allows your application to retrieve the fuel tank level from your customers' vehicles instantly and without aftermarket hardware.

How does this new product work, and how can it help your business build seamless mobility experiences?

Retrieving a fuel tank level without hardware

Smartcar enables web and mobile applications to locate, unlock, and send other requests to cars across brands with a single API. Our new fuel tank endpoint lets you access:

  1. The amount of fuel in remaining in a vehicle's tank, in liters or U.S. gallons
  2. The percentage of fuel remaining in the tank
  3. The range that the vehicle can travel, in kilometers or miles

Building seamless mobility experiences

The Smartcar fuel tank API is a game changer for a number of different use cases. Let us mention just a few:

  • 🚘 Peer-to-peer car sharing: Check a vehicle's fuel tank level at the start and end of each rental period. If a renter forgets to fuel up the car before returning it, automatically charge them a convenience fee.
  • Fuel delivery: Monitor the fuel tank level of your customers' vehicles and let them know when it's time for a refill.

To learn more about our fuel tank API, schedule a demo with our sales team today. Are you a developer? Get started with a free account.

Add manual formatting notes here...

What we learned from organizing a mobility hackathon

Shrey Majmudar

3 min read

July 25, 2019
Culture
Live SiteStaging Site

This past weekend, Smartcar hosted the Bay Area's first mobility hackathon alongside Shell and HERE Technologies. Here’s an overview of the event, some key takeaways, and our best memories.

Why did we organize HackMobility 2019?

Over the past four years, Smartcar has seen an alarming trend: transportation is broken. Today, more than ever, the world is in dire need of cleaner, safer, more efficient, and more accessible mobility solutions. Transport systems are over-crowded, traffic congestion is at an all-time high, and environmental and health concerns are rising.

That’s exactly why the Smartcar team spent weeks collectively planning and organizing HackMobility 2019. We created a launchpad to bring innovative people and companies together, to build solutions that change the mobility landscape as we know it today.

On Saturday afternoon, hackers were ideating their projects (top, middle). Smartcar held a workshop about their API endpoints and the OAuth2 framework (bottom).

Our learnings

The future of mobility is here!

All the hosts and sponsors were Shell-shocked (pun intended) by the teams’ impressive ideas, which were fully fleshed out and developed both on the back end and front end. Some of the hacks stood out to us for their tremendous ingenuity:

  • Litrides: An app built to democratize mobility — opening the ride-sharing space to the Bitcoin Lightning Network.
  • RoadBuddy: A smart voice assistant that keeps drivers alert during nighttime. The assistant interacts with drivers using verbal games, jokes, riddles, and fun facts, all while monitoring drivers’ alertness via their smartwatch (Fitbit, Apple Watch, and more).
  • Effission: A B2B2C solution which enables companies to track their employees’ carbon footprint, while empowering employees to vote for the carbon emission mitigation program their company should support.
The winning teams at HackMobility 2019.

Silicon Valley is changing the automotive space

In June of 2012, the world was witness to the original “computer on wheels” with the release of the Tesla Model S. This was the first time that a lightweight passenger vehicle had (arguably) more emphasis on technology and driver experience, with the hardware side coming in a close second. Since then, the entire automotive industry has been forced to undergo a rapid paradigm shift, where software has become one of its foremost priorities.

Today, there are more software engineers and full-stack developers working within the automotive space than ever before. And similarly, many major players—including automakers, part manufacturers, and others—have spent hundreds of millions of dollars opening up offices and ‘innovation hubs’ in the Bay Area.

All of this goes to say that Silicon Valley has an important role to play in the evolving automotive realm, and that this scope of impact is only increasing as time goes on: from Apple CarPlay and Android Auto to on-demand car maintenance and usage-based insurance, and beyond – into the self-driving arena.

Opening ceremonies kicked off the hackathon on Saturday morning.

What’s next?

We were incredibly impressed by the turnout of HackMobility 2019. The event proved two important points: First, mobility matters not only to those in the industry, but to many engineers and entrepreneurs alike. Second, developers are able to build impactful solutions for the mobility landscape in a matter of hours. Undoubtedly, they should and will be shaping the future of the mobility.

As organizers, we anticipate making HackMobility an annual event. Stay tuned!

The Smartcar Business Development team striking a pose (top). The HackMobility organizing team from Smartcar, Shell, and HERE Technologies (bottom).
Add manual formatting notes here...

Introducing required permissions

Sydney Palumbo

1 min read

July 23, 2019
Product
News
Live SiteStaging Site

In anticipation of some exciting new API endpoints that will be announced in the coming weeks, we’re thrilled to launch a mighty feature today. Meet required permissions!

Required permissions will make it easier for you to:

  1. Let your users link their cars to your app
  2. Send successful API requests to those cars

But what are required permissions? Great question! To get a better understanding, let’s look at two other words first:

Permissions 📃

Whenever a user links their car(s) to your app, Smartcar Connect prompts them to accept a scope of permissions. Those permissions might include “access location,” “lock and unlock vehicle,” and more.

Optional permissions 🤞

So far, all permissions that your app would ask access to during Connect were optional. If the user’s vehicle didn’t possess the demanded functionalities (e.g. if the vehicle was incompatible with the “access location” endpoint), the user was still able to accept the scope of permissions and successfully link their vehicle to your app. This is how optional permissions look in test mode using Node.js:

As we’re launching more API endpoints, we want to give your app all the necessary information to successfully send requests to your users’ cars. Starting today, required permissions will make this possible.

Required permissions 💪

All permissions in Smartcar Connect will stay optional by default. However, if certain permissions are essential for your use case, you can now make them required, like so:

If your user’s vehicle is not compatible with one or more required permissions, the user won’t be able to link their vehicle to your application. Instead, we will redirect them to your app and send important information (such as the vehicle’s make, model, and year) back to you.

How do I get started? 🚀

Please check out our Scope guide for more information about optional and required permissions. As always, please let us know if you have any questions!

Add manual formatting notes here...

The Bay Area's first mobility hackathon

Zeenia Framroze

3 min read

July 17, 2019
Culture
Live SiteStaging Site

This weekend, Shell, HERE Technologies, and Smartcar are hosting HackMobilty 2019 - the first mobility hackathon ever organized in the Bay Area. Here’s why mobility is the perfect topic for a hackathon, and what you can expect from the event.

Why mobility matters

We’re at the brink of a massive shift in the mobility landscape. From autonomous cars to vehicle voice assistants and electric fleets, cars can do more today than we could have imagined just a few years ago. While those new developments are exciting, the mobility industry is also facing unprecedented challenges.

When cars were first invented, they were hailed as a great equalizer - a means for families to move towards better futures, a way for children to get to schools, for employees to get to new jobs, for patients to get to hospitals. Today, however, even with the advent of services like Uber and Lyft, the equalizing power of transportation hasn’t permeated society strongly enough, and environmental concerns have exacerbated the problem.

Transportation has reached a point of diminishing returns for the common (wo)man. From food deserts scattered across urban landscapes, to traffic congestion and roadblocks to the expansion of EV charging networks, we’re simply not moving fast enough.

While traditional industry incumbents are trying to rise to the challenge, a window has opened for a new set of players: developers. With software being the primary driver of progress for many industries, developers possess more and more sophisticated tools to make an impact in the mobility space. From granular location-based car sharing to concerted investments in new energies, developers are building an ecosystem of apps and services, bringing a novel approach to an industry that is undergoing tremendous change.

What to expect at HackMobility 2019

That’s why we’re so excited to co-host HackMobility 2019 with two companies that are as committed to empowering developers as we are. Together with Shell and HERE Technologies, we’re hoping to give developers the space, time, and tools to make transportation more equitable, more sustainable, and more efficient. We’re joined in that mission by Goodyear and eBay, who will sponsor prizes for the best hacks related to their respective industries.

At HackMobility, you can expect vibrant discussions around innovation in the automotive space, engaging workshops and panels, and of course, the company of some of the very best developers in the Bay Area.

Time & place

HackMobility will take place at Galvanize San Francisco on Saturday, July 20 and Sunday, July 21, 2019.

Co-hosts

With a diverse range of expertise, our companies are bringing a number of tools and perspectives to the table:

  1. Shell brings decades of experience in the energy industry, with an increased focus on new energies and EV charging.
  2. Smartcar allows developers to build innovative mobility experiences, using an API that lets apps locate, unlock, and read the odometer from vehicles.
  3. HERE Technologies offers their expertise as a location platform with more than 20 different APIs for routing, geocoding, traffic, and many more.

Hackathon tracks

HackMobility offers hackers three different prize tracks. Developers are invited to build hacks that make mobility:

  1. Greener: develop solutions that reduce the mobility industry's impact on climate change
  2. More Equitable: make transportation more accessible to everyone in society
  3. More Efficient: develop a mobility ecosystem that is as lean and well-designed as possible

Prizes

Teams can submit projects to up to two tracks. Cash prizes of $5,000 will be awarded to the best hack in each of the three tracks by our three sponsors: HERE Technlogies (green track), Goodyear (efficient track), and eBay Motors (equitable track). Additionally, Smartcar will award a prize to the team that demonstrates the best use of Smartcar’s API.

The Shell Grand Final Prize will give the winning team the opportunity to pitch their product directly to the Shell Digital Ventures team.

For further event details and a detailed agenda, feel free to check out our Eventbrite page.

Don’t forget to book your free ticket today, or reach out to us with any questions!

Add manual formatting notes here...

Designing Smartcar Connect

Kathleen Hsu

2 min read

June 25, 2019
Product
News
Live SiteStaging Site

We recently launched Smartcar Connect, a product that lets users quickly and securely link their vehicles to an application. If you checked it out, you might have noticed that it looks quite different from the authorization flow we previously offered.

Why the redesign?

Smartcar’s original authorization flow was designed more than a year ago. It was about time to revamp this beta version and make it production ready. We wanted to refresh the end-to-end flow with a clean and modern visual style that enables your users to easily connect their vehicles to your app.

What changed?

When we set off to revamp our visual language, ease of use was top of mind. We decided to introduce brighter colors, bolder call-to-action buttons, and icons for each permission in our Grant page.

Beyond a cleaner look and feel, we made improvements to the following user experience aspects:

Authorizing a single vehicle

Authorizing a single vehicle 🚗 Many users have a connected car account for only one vehicle. On our Grant page, users with a single car used to see a checkbox next to their vehicle’s make, model, and year. Rather than giving these users the ability to deselect their only car and run into an error, our redesigned flow includes the vehicle’s make, model, and year directly in the page heading.

Vehicle compatibility check

Vehicle compatibility check ✔️ To identify areas of improvement in our old authorization flow, we mapped out the optimal path for all potential users. We realized some users were uncertain whether their car was compatible with Smartcar’s API and didn't have a path forward in the flow. When building Connect, we added a way to check a vehicle’s compatibility by simply entering its VIN.

Separating already authorized vehicles

Separating already authorized vehicles ✨ When a user was connecting their vehicle in our old authorization flow, and if they had previously linked other vehicles already, all cars would appear in one big section. Smartcar Connect separates out unlinked vehicles from already authorized vehicles and puts them into two different lists for a better overview.

What’s next?

This isn’t the end of the road. In the coming weeks, we'll be making more changes to improve the developer experience of Smartcar Connect even further. These updates will happen automatically. All you need to do is lean back and enjoy! 🌞🌴

Add manual formatting notes here...

Introducing Smartcar Connect

Allison Chen

1 min read

June 19, 2019
Product
News
Live SiteStaging Site

Today, we’re proud to present our new and improved authorization flow. Meet Smartcar Connect!

Smartcar Connect lets your users quickly and securely link their vehicles to your application. In just a few steps, your users can authenticate with their connected car account and grant your application permission to interact with their vehicles.

What did we keep?

  • Security 🔐 Connect uses the OAuth 2.0 protocol, keeping the authorization flow secure for you and your users. We handle username and password validation so that sensitive information doesn’t land on your servers.
  • Automatic updates We’ll constantly update Connect with new product features and additional car brands as we roll out support for them. No need to worry about code changes on your end.

What’s new?

  • Design 🎨 Connect has a cleaner look and feel that enables an intuitive experience for every user. We overhauled the entire visual language with more sophisticated typography, brighter colors, and bolder call-to-action buttons.
  • Improved conversions 💪 Connect sends every user through a flow that best suits them. Does your user have a connected vehicle? Have they activated their connected car account? Is their vehicle compatible with the requested permissions? We’ll handle all those cases to get your users connected and return important information back to you. Tip: check out the additional errors we’ve added. They will be surfaced in the updated SDKs over the next few days.

How to get started

If you have already implemented the old authorization flow into your app, it will automatically switch to Connect. If this is your first time here, integrating Connect is fast and easy, like so:

Try it out for yourself

And as always, don’t hesitate to reach out with any feedback or questions!

Add manual formatting notes here...

Rethinking Smartcar's brand: to infinity and beyond

Sydney Palumbo

3 min read

June 4, 2019
Product
News
Live SiteStaging Site

“You decreased the blur radius on your button shadows, didn't you? No, no, that's not it — it's the fonts. Definitely the fonts. Or maybe it's the third accent color...”

Has something about us looked a little different to you lately? Good eye! 🕵️‍♀️ 👀

A few weeks ago, Smartcar's brand got a major facelift. We've always striven for clean, sleek, and simple design, but over the last few months, we felt like something was missing. We wanted our potential customers to have a better sense of our true identity as a company. We wanted them to see our landing page and immediately think: “That's Smartcar!”

Our previous homepage design was clean and simple, but we felt like something was missing.

Empowering developers 🚀

At Smartcar, our mission is to empower developers to shape the future of mobility. We want to inspire the next generation of apps that transform the way we think about transportation and everything connected to it. In a way, creating the first and only standard API for cars has made us trailblazers, but we believe that our developers will be the most important trailblazers of all. Because of this, our brand should instill a sense of empowerment and inspiration.

As Smartcar's API allows apps to interact with vehicles in an innovative and transformative way, we also want to convey a sense of trust and security. Cars are incredibly important to individuals' daily lives, and we expect them to behave in a safe and reliable manner. Thus, we identified the following key element to guide our design process: empowering developers to build a better, safer future of mobility.

Our new homepage design aims to empower developers to build the future of mobility.

Establishing a brand for the (retro)future 🔮

Once we had established a clear vision for Smartcar's new brand, it was time to translate these ideas into visual designs. We wanted to stand out from other popular tech brands that feature colorful illustrations of cartoon people, which you might have seen one too many times. We wanted to convey a sense of professional identity, while at the same time allowing our fresh, authentic personality to shine through. “What could we draw inspiration from?” we asked.

Down the street from our office in Mountain View, CA is the NASA Ames Research Center. Over the years, NASA has commissioned numerous pieces of artwork to capture “the emotions of exploration, such as excitement and uncertainty, in a way in which history could look back and fully appreciate all that the agency had achieved.” The NASA Art Program cultivated a sense of “pride and shared accomplishment” between the public and the agency — it helped shape the way Americans thought about their place in space, in the future, and in history.

To us at Smartcar, that seemed pretty cool. It got us thinking: how could we use this as a blueprint for creating our own unique, exciting, inspiring, and enduring brand? Then we found retrofuturism — the style of many NASA illustrations. It's defined as follows:

Retrofuturism is a movement in the creative arts showing the influence of depictions of the future produced in an earlier era. If futurism is sometimes called a 'science' bent on anticipating what will come, retrofuturism is the remembering of that anticipation. Characterized by a blend of old-fashioned "retro styles" with futuristic technology, retrofuturism explores the themes of tension between past and future, and… empowering effects of technology.

“This is perfect,” we thought. A few years ago, people may have seen technologies like Smartcar's API as a distant vision of the future. But now, it actually exists. Our design could help people see Smartcar as part of the future — an exciting, revolutionary technology that would power innovative changes in the mobility landscape. So, we decided to take cars to space! 👩‍🚀 🌖

Our new homepage design is taking cars to space! Our illustrations are inspired by retrofuturism.

What's to come 🔭

We hope that you'll enjoy looking at our new brand as much as we enjoyed building it. Over the next few weeks, keep an eye out as we're applying the new design to every part of the Smartcar experience — from the doc center to the dashboard to the blog and beyond. Look closely, and you might even find an alien or two! 👽

the text "Retrofuturism is a movement..." doesn't have the right format

Building on-demand car wash apps with Smartcar's API

Zeenia Framroze

1 min read

May 23, 2019
Product
Live SiteStaging Site

Today, we're proud to introduce the latest use case for Smartcar's API: seamless on-demand car wash experiences. 🧽💦

On-demand car wash challenges

  • Time ⏲ On-demand car wash apps are revolutionizing the industry. Instead of driving to the nearest car wash, vehicle owners can book appointments via app. A technician will then come to wash and detail the car on the spot. But still, customers need to make time to meet with technicians and hand over their keys for interior detailing.
  • Inconvenience 📝 Apart from exchanging keys, customers might have to manually enter their vehicle's location in the app, letting the technician know where to find the car. While saving their customers a good chunk of time and hassle, on-demand car wash apps are not yet perfect.

Our solution

This is where Smartcar comes in. Our API allows on-demand car wash companies to create seamless customer experiences. Here's how it works:

  • Locate 🌎📍 Using our location API endpoint, customers can share their vehicle's location with a car wash technician directly via your app. No need to manually enter an address.
  • Lock and unlock 🔑 Our security API endpoint allows your customers to share a digital key to their vehicle with your car wash technician, so that both don't have to meet and exchange car keys.

The best part? Smartcar works across car brands and without the use of aftermarket hardware like OBD dongles. Our API easy to integrate with, thanks to friendly documentation and SDKs in six languages.

Getting started

To get started with Smartcar, create an account right away. Your first 1,000 API requests will be free (no credit card required).

If you'd like to learn more, check out our uses cases and read how Washos and Spiffy are using Smartcar for their on-demand car wash services.

Thanks for reading! As always, we're here to help with any questions or feedback.

Add manual formatting notes here...

Introducing the lock and unlock API

Charlotte Kosche

1 min read

May 16, 2019
Product
News
Live SiteStaging Site

Today, Smartcar is proud to launch its lock and unlock API! 🔑

Our lock and unlock API endpoints allow app developers to lock and unlock cars remotely, using just a few lines of code.

How it works

  • Support across car brands 🚗 Regardless of the make and model, Smartcar's API allows apps to unlock any car safely and securely.
  • No aftermarket hardware 🔧 Smartcar lets you lock and unlock cars by sending HTTP POST requests to our security API endpoint. No need for physical car keys or hardware devices like OBD dongles.
  • SDKs for multiple languages 🔊 Whether your backend is built in Node.js, Python, or Java, and no matter which application architecture you're using, we have SDKs in six languages and the right integration guide for you.

How to get started

  1. Sign up for free to obtain your client ID and client secret from our dashboard.
  2. Head to the docs to integrate using our detailed getting started guide or one of our more advanced integration guides.
  3. Start making requests to our security endpoint. It's as simple as:
  • Tip 👇 If you don't have access to a real car, you can use test mode to make requests on simulated vehicles.

Are you ready to hit the road? Get started today and let us know if you have any questions!

Add manual formatting notes here...

How Turo uses Smartcar to offer instant car sharing

Charlotte Kosche

1 min read

May 7, 2019
Car sharing
News
Live SiteStaging Site

Turo is a peer-to-peer car sharing service that lets travelers book nearly any car from a large community of trusted car owners. The company helps put cars to better use while creating exciting new experiences for travelers. We’re proud to see Turo start utilizing Smartcar’s API to power the next generation of its car sharing program Turo Go.

Turo Go allows car owners and guests to locate and unlock vehicles right from the Turo app, without needing to meet and exchange car keys. Vehicle owners previously had to install aftermarket hardware before they could share a digital key with guests.

Making car sharing instant and hardware-free

Turo Go uses Smartcar’s location and security API endpoints to spare vehicle owners the time and cost of installing a hardware device in their vehicle. After linking their car to the Turo app and approving a list of permissions, vehicle owners can instantly and seamlessly start sharing a digital car key with guests.

A look into the hardware-free Turo Go program (designs are subject to change).

"Smartcar is making it easier than ever for us to build new and innovative mobility experiences with connected cars," said Turo’s Director of Engineering Paul Velez. "We're excited to kick off this partnership as it allows us to provide a seamless car sharing experience for our hosts and guests."

The integration will roll out to select Turo users in California and New Jersey this summer, with plans to expand to the entire United States later this year. After the national launch, thousands of Turo vehicles will be eligible for the hardware-free car sharing solution.

Add manual formatting notes here...

How Washos uses Smartcar to create seamless on-demand car wash experiences

Zeenia Framroze

2 min read

April 30, 2019
Customer story
Live SiteStaging Site

Washos is an app-based car wash service in Los Angeles, CA. The company lets customers book appointments via their app and then sends detailers to wash and detail cars at their home or office. Today, Washos is officially launching their integration with Smartcar’s API.

Washos offers on-demand car wash and detailing services that customers can book via app.

Washos's challenges

Previously, Washos customers had to meet and physically exchange car keys with the detailer before and after each interior detailing appointment. This could be inconvenient and time-consuming for both Washos and their customers. When the company decided to work with Smartcar, they quickly realized how our lock and unlock API endpoints could improve their customers’ on-demand car wash experience.

Before Washos integrated with Smartcar's API, their customers and detailers needed to exchange car keys.

Smartcar’s solution

Thanks to the integration with Smartcar's API, Washos customers who own an internet-connected vehicle can now share a digital car key with detailers directly via the Washos app.

The startup uses Smartcar’s lock and unlock API endpoints (POST security) behind the scenes, letting detailers unlock their customer’s vehicles for interior detailing, and letting them lock the doors back up once they are done.

Adding a connected car in the Washos app.

By eliminating the need to meet and exchange car keys, Smartcar’s API allows Washos to save their detailers time and hassle, and to create seamless car wash experiences for their customers.

"Integrating with Smartcar's API was incredibly fast and easy," said Washos CEO Bertrand Patriarca. "Thanks to the API's lock and unlock endpoints, we can make on-demand car wash more convenient for our customers and scale our business more efficiently than we could have ever imagined."

We're excited to see Washos using our API, and we look forward to seeing which services they'll offer next!

the embed code are photos and they look super strange on webflow's live site

How Otonomo, with nearly $55 million in funding, is illegally cloning our product

Sahas Katta

2 min read

April 22, 2019
News
Live SiteStaging Site

We started Smartcar a few years ago with a powerful mission: making it possible for developers to easily build apps for cars. We created a standard API for cars. Developers can read our docs and use our API to locate or even unlock a car’s doors with just a few lines of code. We’re proud of the product our team has built and we’re glad to work with the customers we serve.

As developers ourselves, we know that great API experiences need great documentation. That’s something we realized early on. It took us months of ideation, engineering, chatting with customers, and iteration to launch our platform.

A few days ago, we came across Otonomo’s publicly available API documentation. As we read through it, we quickly realized that something was off. It looked familiar. Oddly familiar.

That’s because we wrote it.

We didn’t just find a few vague similarities to Smartcar’s documentation. Otonomo’s docs are a systematically written rip-off of ours from the overall structure, right down to code samples and even typos.

Compare the following screenshots, from Smartcar and Otonomo as of April 16, 2019:

Register and redirect URI

Even the sample identifier we randomly generated in the custom scheme section of the table is an exact match.

Authorization URL

The randomly generated string we added as a placeholder for the “&state=” parameter value was copied too.

Auth code response

The order, structure, tables, labels, descriptions, and even the code snippets are identical.

Request access token

The screenshots speak for themselves.

Otonomo raised approximately $55 million in disclosed venture capital funding from well-regarded VCs including Bessemer. The company has a valuation of nearly $400 million from a recent financing round and stamps of approval from auto-industry heavyweights like Delphi (Aptiv). They are not some rogue company. I’m baffled.

Did none of the over 100 Otonomo employees (according to LinkedIn) think that what they were doing was wrong?

Smartcar’s team has worked day and night over the past few years to build an incredible product. We are driven by the firm belief that our work will empower developers to build the future of mobility.

Today, we are taking legal action. We have sent Otonomo a cease and desist, demanding that they immediately stop ripping off our hard work. Stay tuned.

Add manual formatting notes here...

How to create a dynamic and responsive time series graph with D3 and React

Sydney Palumbo

5 min read

April 16, 2019
Product
Live SiteStaging Site

If you’ve ever built a graph from scratch before, you know it might not exactly be a walk in the park. At Smartcar, we wanted to create a graph that would showcase our users' API usage over time and give them insights into the requests they've made, so we confronted this issue head-on.

Luckily, with our front-end architecture built in React, paired with the JavaScript library D3, we could combine advanced state management with powerful data visualization tools to create an awesome time series line chart. Before we knew it, we had built a dynamic and responsive time series graph that could be constantly updated with new data on whatever screen our users pleased.

And here's how you can do it too:

Getting set up 👩‍🏫

To kick things off, you’ll want to create a React component for your line chart with a few familiar lifecycle methods: `constructor`, `componentDidMount`, `componentDidUpdate`, `componentWillUnmount`, and of course `render`.

  1. First, let’s add an `<svg>` element, specify its dimensions, and give it a name. This will let React add our line chart to the DOM and make it easily accessible to D3. Since we’ll want it to be responsive, let’s have it fill the 100% of the available width. Now would also be a good time to start a `d3Config.js` file where you can keep track of various graph configuration options, like the height of your line chart.
  2. At Smartcar, we use Redux to pass shared state into our connected components, so in this example we'll assume that your `timeSeriesData` is fetched from another component and passed into `<LineChart>` as props. In `componentDidMount`, we'll want to build the framework for our chart, so let's create `d3Utils.js` and plan to add a method called `initializeChart` there to handle this. This function will be called with your time series data and the time frame over which you'd like to initially graph your data, like `monthToDate` or `oneYear`. For simplicity, we'll assume this is `monthToDate` at first.

Now you'll have something like this:

Building with D3 📈

Now we're ready to start building out `d3Utils.js` and actually put the pieces of our line chart together. Since we're building a time series graph, we'll be working a lot with dates and timestamps. At Smartcar, we wrap a library that can handle this, like moment.js or date-fns, in something we'll refer to as `dateUtils`. Alright, let's get started by creating the most fundamental part of the graph — the scales and axes.

  1. For our x- and y-scales, we'll need to set the domain (the set of possible input values) and the range (the set of possible output values). We'll also need functions that will be able to place our data points appropriately on the axes with these scales.
  2. For our x- and y-axes, we'll need to specify the orientation — top, left, bottom, or right — and the number and format of ticks on the axes.
  3. As we're building a time series graph, our x-axis will handle dates and our y-axis will handle numbers.

Now that we've set up these elements for our line chart, we'll also need to use D3 to specify their place on the DOM. Adding the axes and line to our graph will look something like this:

Awesome! Now we're ready to put it all together. Let's attach our axes and line to their designated DOM elements. Finally, let's write the method we mentioned a bit earlier: `d3Utils.initializeChart`.

Dynamically graphing data 🤓

In the previous two sections, we set up a basic time series line chart and rendered it in our React component. Now, let's enhance the dynamic capabilities of our graph and enable it to update when new data comes in. As you might have guessed, this starts with the lifecycle methods of `<LineChart>` , specifically `componentDidUpdate`. In this function, we'll watch for changes in our data and trigger readjustments when necessary.

Now that we have the React side of things ready to go, let's write our `d3Utils.handleNewData` method to make the necessary adjustments to the graph itself. When new data comes in, we'll mainly want to check for two things:

  1. If the time frame of the data changes, we'll need to make a change to the x-scale. The start and end values which we initially set to span the domain of our x-axis will no longer fit our new data, so we'll want to write an `adjustXScale `method to handle this.
  2. If the possible domain of values on the y-axis changes, we'll need to make a change to the y-scale. The maximum that we previously set for our y-scale's domain may no longer be appropriate to best display our new data, so we'll want to write an `adjustYScale` method to handle this.

Here's an example of how you might want to do that:

Finally, we can write our `handleNewData` method with the functions above. We'll have to re-draw the elements of our graph to render the changes on our line chart.

Voilà! Now your time series line chart can dynamically update to showcase the most recent data available.

Making your line chart responsive across browsers 📱

The final optimization we'll detail today is how to make your graph responsive across browsers. Because the scale of our x-axis is determined by the width of the graph, we'll need to adjust this accordingly for different screen sizes. To handle this functionality, let's first make our final changes to `<LineChart>`. We'll need to add an event listener to our component in order to detect changes in screen size (and remove it when the component unmounts) as well as write a method to set the new width. After all these changes have been made, our component will look something like this:

And last but not least, let's write `d3Utils.setWidth`. In order to get the current width of our line chart, we'll simply find the SVG on the DOM, measure its width, and adjust the range of our x-scale accordingly.

And there you go! Now you have a dynamic, responsive time series line chart built in React and D3. 👏👏👏

Make your D3 line chart responsive across all browsers.

Bonus features ✨

At Smartcar, we've added a few extra bells and whistles to spice up our usage graph a bit. Give them a try or add something totally new to your shiny new line chart!

Here's a few of the ideas that we've tried:

  • Draw the line with a gradient stroke to make the edges fade
  • Add a filter to give your line a drop shadow
  • Dynamically render ticks on your x-axis based on how long your time frame spans and how wide your graph is
  • Style elements of your graph using CSS

We hope this helps all you developers out there the next time you need to create an awesome time series line chart with D3 and React. Thanks for reading and happy building!

P.S.: Interested in what else we're up to? Here's a secret: We're hiring! 🤫

this one is tricky, the numbered list that goes from 1 to 15 isn't supposed to be that way, should be just 1 & 2, i guess that when passing the info to webflow this post became messed up due to the format it has on the original site, i tried to do it inside webflow editor but couldn't manage to include the embed within a paragraph. Overall the post is just messed up and the error of the paragraphs is happening all though it,  i didn't embed some of the codes because of this. sorry i couldn't work on this one!

Introducing the Smartcar odometer API

Charlotte Kosche

1 min read

April 11, 2019
Product
News
Live SiteStaging Site

Smartcar is proud to present its odometer verification API! ⏲🏁

Our odometer API endpoint lets app developers remotely access a car's mileage information, using just a few lines of code.

Whether you're building a mobile app for peer-to-peer car sharing or a web app for mileage-based car insurance, you might want to retrieve a car's odometer instantly and at low cost. Smartcar's API is the right tool for that, as it supports different application architectures, is easy to integrate with, and can be applied to a variety of use cases.

With a single HTTP GET request, you will obtain the total distance travelled by a vehicle, regardless of the car's brand or model. The best part? There is no need for aftermarket hardware like OBD2 dongles, mileage trackers, or GPS tracking devices.

This is what your request to Smartcar's odometer endpoint would look like in Python:

And this is only the beginning... Beside Python, we offer SDKs in five other languages, integration guides for different architectures, and - of course - other API endpoints.

Check out our docs to discover more, sign up for a free account on our dashboard, and let us know if you have any questions!

Add manual formatting notes here...

Announcing the Smartcar Java SDK

Charlotte Kosche

1 min read

April 4, 2019
Product
News
Live SiteStaging Site

Today, we're proud to bring Smartcar's API to all Java developers.

Using the Smartcar Java SDK, you can now integrate our API into your mobile or web app using Java.

Our SDK walks you through all the steps you need to seamlessly integrate and start sending requests to Smartcar's API, like locking and unlocking a vehicle:

We know that it can be a nuisance to deal with JSON in a Java environment. That's why our SDK handles conversion of JSON responses from our API into convenient POJO classes.

To complement this back-end SDK, Smartcar offers front-end SDKs for iOS, Android, and JavaScript. To learn more about the different architectures we support, feel free to check out our docs. If you are new to using APIs, this guide will help you get started.

Wondering which apps developers have built using Smartcar's API? Our customers range from peer-to-peer car sharing companies to on-demand car wash services. Have a look at our set of endpoints to explore the limitless possibilities of building with Smartcar.

Enjoy, and as always, don't hesitate to give us a shout with any questions or feedback!

Add manual formatting notes here...

Why we chose PostgreSQL and Apache Avro to create a billing data store

Geng Sng

5 min read

March 28, 2019
Product
Live SiteStaging Site

Recently at Smartcar, we started to build an integrated billing infrastructure that facilitates, tracks, and automates all payment processing for our API platform. Our first step in this process was to create a reliable billing service that would allow us to store and retrieve all of our users’ API usage data.

But before getting started, we needed to make a couple of decisions: Which type of data store should we use? What types of data should we store? And how should we build the data store? This blog post will outline why we chose to build a relational data model in PostgreSQL, why we chose to build it as a microservice, and why we're using Apache Avro for data serialization.

We hope that you’ll find this post useful when creating a data store for your own product. Happy reading and happy billing, everyone! 💰💳

Smartar’s billing infrastructure

1. Choosing a database

Which type of database should we use?

Our first step in creating a data store was to choose what type of database would best serve our use case. To make this decision easier, we created a list of criteria that we found most important:

  1. Durability: As reliable data sits at the heart of billing, durability was our most important criterion. Errors in automatically generated bills can compromise user satisfaction and trust. Hence, our database should never accidentally erase or fail to record any transactions.
  2. Portability: To make the best use of our billing database, we should be able to transfer its data to different services and keep it easy to migrate in the future.
  3. Queryability: To be flexible in using our database, we want to be able to construct complex queries to retrieve data from it. That's why our database should have a structured, consistent interface, allowing us to retrieve data performantly and reliably.
  4. Extensibility: Finally, we should be able to easily add additional components to our database. What and how we bill may change over time, so our database should make it easy to add, expand, and reuse code.

With those criteria in mind, we evaluated a few different databases. The table below shows whether each type of database is able to entirely meet each criterion.

Comparison of different database

When looking at this comparison, we quickly identified Postgres as the winner:

To ensure both durability and queryability, we decided that a relational database management system (RDBMS) like Postgres was the right choice for us. Postgres gives us transactional guarantees that makes our data durable. Data stored in relational databases is also highly queryable. Unlike noSQL alternatives or in-memory data store variants, relational databases support structured data organization and storage using schemas and tables. This allows us to easily construct our queries to calculate billing and flexibly change queries, should our business requirements change. A Postgres database is also extensible, as it can support different types of queries while keeping the same structure. Finally, as Postgres is open source, it offers a whole ecosystem of tools to export and transport data from our billing database to other services.

What types of data should we store?

In an ideal world, we would want to track and store all types of requests made to Smartcar, but this would require a lot of instrumentation work. To save time and effort, we prioritized to only track what we called “billable” requests, with the possibility of expanding that scope in the future. We defined a billable request as a successful API request made to a real vehicle. For each billable request, we store only the data that’s necessary for invoicing and auditing, meaning:

  • Metadata including the application’s client ID, timestamp, endpoint path, response time, and status code
  • No personally identifiable information

2. Building the data store

Architecture: building a microservice

Now that we decided on a type of data store and what data to store, it was time to choose an architecture and get building!

We knew that multiple services on Smartcar’s platform would need to interact with our billing database:

  • Both our API system and our auth service need to write events into the billing database.
  • Our dashboard needs to read events from the billing database in order to display usage metrics to developers.
  • Our payments service needs to read events from the billing database in order to calculate invoices.

As several services would depend on our billing database, we decided to build it as a separate microservice. In its code base, we wanted to apply the logic of doing one thing really well. We looked for inspiration and decided to follow the principle of decoupled persistent storage. This Medium Engineering post about monolithic and decoupled data persistent data storage helped us make this decision.

Communication: data serialization in Apache Avro

Now that we had decided to build our data store as a separate microservice, we had to find a way to easily communicate to and from it.

We considered to either build an internal JSON-based HTTP server interface, or to use a binary serialization format with a Remote Procedure Call (RPC) framework like Apache Avro. We decided to go with the latter, for the following reasons:

  • Avro allows for strict typing of interfaces, permitting us to easily create a service through its RPC framework with strong guarantees.
  • Smartcar’s tech stack is entirely built in Node.js. Thanks to its strict typing, Avro doesn’t require us to do a lot of manual validation work, as opposed to a JSON-based HTTP server. This means less work and less risk of error.
  • Smartcar already uses Avro in other parts of its stack.

With those three factors in mind, using Avro was the natural choice for us.

Final thoughts

Let’s recap the steps we took when creating our first billing data store at Smartcar. We decided to:

  • Build a relational data model in PostgreSQL
  • Track only billable requests and no personally identifiable information
  • Build a microservice with decoupled persistent data storage
  • Implement our interface and communication layer using Apache Avro

This is how our billing data store interacts with other services on our platform:

Flow of data between our billing data store and other services

We are now a few months into using this data store as the single source of truth for all our billing data. In this short amount of time, the way we architected the data store has already saved us a colossal amount of engineering work, and has improved user experience for the developers using our API. We have also begun building other services that depend on our billing data store, and we’re looking forward to using, testing, and improving it more as we build out our entire billing infrastructure.

If you've made it all the way to the end of this blog post, and this topic sounds like an interesting challenge to you, we'll tell you a secret: 🔐👉 We’re hiring!

Add manual formatting notes here...

How to unlock your car with 4 lines of code

Charlotte Kosche

1 min read

March 26, 2019
Product
Live SiteStaging Site

To unlock your car, you usually need one thing: keys. So, what if all you needed was a laptop, an internet connection, and basic knowledge of a programming language?

Welcome to Smartcar’s world

At Smartcar, we’re making exactly that possible. Our API makes it easy for app developers to locate, unlock, and read data from vehicles using nothing but simple HTTP requests. This is how it works:

  1. Sign up for a free account on our dashboard. Here you can view your client ID and client secret, and configure a redirect URI.
  2. Build a simple mobile or web app. Check out our getting started guide for help, and don’t forget to integrate a “Connect my car” button into your app.
  3. Run the app from your terminal. Click the “Connect my car” button, select your vehicle brand, and log in with your car's credentials. Those are the email and password you use to log into your Tesla app or Volkswagen Car-Net app.
  4. Now, you’re only 4 lines away from unlocking your car! This is how your request will look like in Node.js:

Easy, right? Don’t forget to lock your car back up when you’re done! 🔑

Now it’s your turn. Head to our docs to get started, and feel free to give us a shout at support@smartcar.com with any questions or feedback!

Add manual formatting notes here...

How Nabobil uses Smartcar for their peer-to-peer car sharing app

Charlotte Kosche

2 min read

February 28, 2019
Car sharing
Customer story
Live SiteStaging Site

Nabobil is a peer-to-peer car sharing platform based in Oslo, Norway. Their app connects private vehicle owners with folks looking to rent cars in the same neighborhood. Today, Nabobil is launching their integration with Smartcar. Here’s how and why the company uses our API.

Nabobil’s pain points

Previously, Nabobil’s car owners had to meet with renters to physically exchange keys before and after every car rental. This could be time-consuming and challenging, especially for vehicle owners who travelled and wanted to rent out their car more than once during that time. To make the car sharing experience easier and more seamless for users, Nabobil decided to integrate with Smartcar’s API.

“The integration with Smartcar’s API was uncomplicated, said Nabobil CTO Christian Hager. “The Smartcar team is service-minded and was happy to help out with the preparations necessary for us to succeed.”

Smartcar’s solution

Starting today, Nabobil’s Tesla owners can share digital keys with renters without the need to physically meet. Nabobil uses Smartcar’s security endpoint, allowing renters to lock and unlock their rental cars directly from the app. The company also uses Smartcar’s location endpoint, letting renters locate their rental cars via the app during pickup.

“This is next generation car sharing! The integration with Smartcar’s API is allowing us to onboard our big pool of Teslas already available on our platform,” said Nabobil CTO Christian Hager. “The rental experience is finally up to the standards our users expect, and we are super excited to see where we can move from here!”

Nabobil's app
the embed code are photos and on webflow's live site they look very strange. also the last quote isn't quoting right haha i put it italics but i don't know if the right format should be the quote icon that makes the paragraph bold or another type of heading

Introducing the Compatibility API (beta)

Jeremy Zhang

1 min read

February 26, 2019
Product
News
Live SiteStaging Site

Today, we’re proud to announce Smartcar's Compatibility API - a product that allows developers to determine which vehicles are compatible with the Smartcar platform.

Until now, it was hard to know which vehicles were compatible with Smartcar, even among supported brands. Some brands started equipping their models with the required connectivity hardware in a specific production year, while others only equipped a vehicle if the buyer configured the car with a certain package. Long story short, there was no easy way of knowing whether a certain car was compatible with Smartcar.

We realized that this was far from ideal and decided to solve the problem. Our new Compatibility API allows you to enter a car's vehicle identification number (VIN) and determine whether it is compatible with the Smartcar platform.

Smartcar’s API reference

The Compatibility API is the industry’s first and only system to determine embedded connected hardware compatibility across different vehicle brands. Here’s how it benefits you:

Improving user experience

Determine whether your user’s car is compatible before sending them through Smartcar Connect. Your app can now easily support user flows for both compatible and incompatible vehicles.

Understanding user segments

Find out how many of your users own compatible vehicles and decide whether integrating with Smartcar is right for you.

Check out our docs to try the new endpoint, and let us know if you have any questions!

P.S. This is just the beginning. the Compatibility API paves the way for us to add more API endpoints and to connect your apps with millions of vehicles. Stay tuned!

Add manual formatting notes here...

Smartcar’s interview process

Mathilde Patmon

5 min read

February 19, 2019
Culture
Live SiteStaging Site

Applying for a job can be nerve-wracking and confusing, especially if you don’t know what to expect during the interview process. When will I hear back? Who will conduct my next interview? How many rounds will I have to complete until the job offer? As each company handles its recruiting process differently, answers to these questions vary and can be hard to find.

We at Smartcar thought: “We can do better than this!” If you are interested in applying for a job at Smartcar, the following guide will tell you what our application process is all about. Even if you aren’t looking to apply at our company, you can get some useful insights into what you should know before applying, what the main steps in the process are, and how to prepare for a job interview.

Why choose Smartcar?

Product

In short, Smartcar’s APIs allow auto insurers, car sharing businesses, and electric utility providers to connect with cars. Tracking vehicle locations, verifying mileage, sharing digital keys, and managing EV smart charging is available in-app via an effortless link to our software. If you’re interested in APIs, cars, software, the mobility space, or just one of the above, Smartcar might be a good fit for you. Check out more about our product to see for yourself!

Team

Smartcar is fully remote across all 50 states. Our team is incredibly smart and down to earth, and truly embodies Smartcar’s values: purpose, respect, empowerment, and balance. Each job posting includes who your immediate team members are as well as your manager.

Our interview process

Our interview process takes about two to three weeks from start to finish. We transparently keep candidates in the loop during the entire interview process. As Smartcar is a remote-first company, all interviews take place via phone call or video chat, including our final stage!

Application review

Once you find the position that’s right for you and submit your application, you will hear back from us within a few business days.

Pro tips:

1. On your resume, we’re looking for a substantial project that you’ve worked on and that you are proud of. Tell us the good, the bad, and the ugly about that project — we want to know it all.

2. Spend time writing answers to the questions we’re asking on the application form. You can skip the cover letter.

Intro call

We got back to you and scheduled a first phone call, yay! You will speak to a member of the recruiting team. The purpose of this call is to answer all your questions about Smartcar and the role you are applying for. We also want to learn more about you. Be yourself and have fun!

After the call, our team will review your background to determine whether your skill set matches the role. If that’s the case, we will reach back out to schedule your first call with the hiring manager.

If there isn’t a match, we will let you know. However, we are always happy to help you connect with other recruiters we know. Please don’t hesitate to ask!

Pro tip: Be prepared with questions about the company and the role before your call.

Hiring manager call

During this call, the hiring manager wants to learn more about you, your background, and your motivation to apply for the position at Smartcar. If you are interviewing for an engineering role, the manager might ask you a few technical questions. If you are interviewing for a business role, they might ask you a few situational questions.

Pro tip: Come prepared to talk about a complex project that you’ve worked on in the past, and one that is related to the role you are applying for. You will be asked to break down what the project was, what you were responsible for, what the most complex part was, and what you would do differently if you had to do it again.

Take-home assignment

During this stage of the interview process, you will receive a challenge that will assess your skill set in relation to the role you’re applying for. Once you receive the challenge by email, you’ll have a specified amount of days to complete it depending on the assignment.

Pro tip: We’ve built every challenge in-house here at Smartcar. If you have any questions while working on the project, our team is happy to help!

Assignment review

The review will take place with a member of our team. The team member has reviewed your challenge beforehand. They will ask you how you went about putting your assignment together, what was tough, what was easy, and what you would have done differently if you had more time.

Pro tip: In this interview, we are assessing your ability to reflect on your work. Please come prepared and ready to screen share your assignment. You will be leading the conversation by explaining your thought process and strategy.

Final stage

The final stage is the last step in Smartcar’s interview process. It differs for each role, so we will give you more details over the phone beforehand. It is usually around 3 hours long. You will have a chance to meet the hiring manager again, a few members of your team, and most likely a member of a different team to get a full picture of our culture.

Pro tip: Make sure to use this time to interview us as well!

References

After the final stage, our team will huddle, reflect on all the interviews, and decide whether we’d like to move forward with an offer. Before we extend the final job offer, we will ask you for two references who have worked with you in the past — one manager and one co-worker. We will reach out to them and briefly speak with them about their experiences working with you, your ability to work in teams, and your ability to handle stressful situations. Once reference calls are completed, the team will discuss the feedback and decide whether to extend an offer!

Pro tip: If you would like us to move even faster, feel free to send us the references before your final stage. We will not reach out without your permission.

Offer

Congrats, Smartcar is giving you a job offer! Now it’s on you to decide whether our company and the role are a good fit for you and whether you’d like to accept. Fun fact: we have a 92% offer acceptance rate!

Pro tip: Don’t hesitate to reach out to the recruiting team, the hiring manager, and the team members who interviewed you, in case you have any questions or need advice. We hope that you’ll make the decision that’s right for you, and we’re excited if you join our team!

How to prepare

Like with so many things in life, being well-prepared for a job interview can go a long way. To familiarize yourself with Smartcar, learn more about who we are and what we do:

Add manual formatting notes here...

Why early-stage startups should sponsor hackathons

Zeenia Framroze

3 min read

January 30, 2019
Culture
Live SiteStaging Site

Long hours. Swag monsters. Hours of pitching and helping students debug their code. For a lot of small companies and their engineers, hackathons can be a tiring way to spend the weekend. Surprisingly, we at Smartcar found that sponsoring and attending student hackathons is not only fun, but fundamental to how we think about our developer community. We started attending hackathons last year, saw how well it worked for us, and committed to a lot more of them for 2019. We’d love to share why we — a small, early-stage startup — are focusing on this heavy-duty initiative.

Smartcar recently attended Womxn/Hacks at UC Santa Barbara (cover image) and TAMUHacks at Texas A&M University (above).

Product feedback

Startups and especially engineering teams are often laser-focused on the product they’re building, optimizing features in the most fine-tuned way possible. Attending a hackathon where nobody knows you and your product is a good way to zoom out and look at the bigger picture. What problem are you trying to solve? How do potential users approach your product? How would they use it? Hackathons are a great way to get large amounts of in-person feedback on these topics.

And that’s not the whole story: hackathons are an especially tough environment to pitch in, given the competition ( — Google and Microsoft will be sitting just steps away from your booth — ) and the hectic nature of hackathons. If your startup falls prey to the trap of “build it and they will come,” then attending hackathons will be just the reality check your team needs. Can you convince young, talented developers that your product will bring them value? Then you’re on a good path to success.

Bugs and beta testing

This point is fairly self-explanatory. Hackathons are great for catching errors in your code and testing new features. We’ve had hackers point out many little errors in our code, from finding that the code snippet in our docs was out-of-date, to errors in our READMEs. The best part? Your audience is pretty forgiving, especially if you push out a fix in time for submission!

More than just finding small bugs and errors, hackathons can also be useful for testing new features that you’re planning to take live soon. Is our new JavaScript SDK in high demand? Do folks run our demo app, or do they go straight to the Getting Started Guide? How do beginners use our docs, as opposed to more experienced programmers? Hackathons are controlled environments that allow you to track how your product is being used. Making use of that opportunity can go a long way.

Building a developer community

Hackathons — even student hackathons — are full of real developers, building creative, innovative, and useful projects. Students are more curious and visionary than any other developers. We’ve seen them build the most creative apps on our API — from an app that lets parents track how fast their children are driving, to an app that lets users measure their car’s impact on the environment.

But it’s more than just seeing students learn and build creative products. Building relationships with those talented young people today means building relationships with the tech industry’s engineers and CTOs in the future. It’s as simple as that.

Recruiting

Hackathon attendees are talented developers, and are often searching for internships and their first full-time jobs. If your team does a good job at interacting with those people, and at representing your startup in an engaging way, you will soon automatically have motivated internship applicants and — even if it takes a few months or even years — accomplished full-time candidates lining up at your office door!

All in all, hackathons have been a great way for us to build Smartcar’s product and developer community. If you are organizing a hackathon this year and you’ve read all the way until the end of this post, please don’t hesitate to reach out and see if we can attend!


Smartcar enables developers to locate and unlock cars with an API. Want to take our product for a spin? Check out our docs and get started with our demo app! Have any questions or feedback? Shoot us an email! 🚀

PS: Follow us on LinkedIn and Facebook!

Add manual formatting notes here...

Announcing API usage tracking

Sydney Palumbo

2 min read

January 23, 2019
Product
News
Live SiteStaging Site

Smartcar dashboard feature alert! 🚨

Today, we’re proud to announce the most recent addition to our developer dashboard: usage. Starting today, you will see the option “Usage” in the dashboard’s top left menu. Our usage graph allows you to easily track the requests you’ve made to Smartcar’s API.

So, what are the benefits? What does this mean for you, developers? We’re glad you asked.

  • Trend Tracking 📈 Thanks to the usage graph’s ability to filter requests by different timeframes — month to date, past year, all time — you can clearly identify trends in volume and frequency of API requests. Not only will you be able to see progress over time, but you can easily pinpoint when it began and what inflection points occured along the way.
  • Major Change Monitoring 💥 With a simple and straightforward visualization of your API requests, you can also monitor large spikes or falls and get real-time insights into when exactly those changes occur.
  • Volume Check-In 💯 The moment you land on the dashboard’s usage page, you’ll instantly know two things: 1) how many requests your app has made to Smartcar’s API, and 2) on how many unique vehicles it made those requests. Obtaining this data for a range of timeframes is the easiest thing you’ll do all day.

Now it’s your turn — get out there and start making requests! Watch that blue line go up and up! 💙

Any features you’d love for us to add to our usage tracking? Give us a shout — we’d love to hear from you!


Smartcar enables developers to locate and unlock cars with an API. Want to take our product for a spin? Check out our docs and get started with our demo app! Have any questions or feedback? Shoot us an email! 🚀

PS: Follow us on LinkedIn and Facebook!

Add manual formatting notes here...

Which hackathons will Smartcar attend in 2019?

Charlotte Kosche

3 min read

January 16, 2019
Culture
Live SiteStaging Site

2018 was an exciting year for us at Smartcar. We shipped many new product features and worked with a host of exciting new customers. But what made the year really special were the many hackathons we attended and the awesome students we met! Last year’s events brought us to Hackbright Academy in San Francisco, UC Davis’ SacHacks in Sacramento, HackHarvard at Harvard University, and Y-Hack at Yale.

We haven’t landed in your city yet? Don’t worry. We’re revving our engines to take the Smartcar hackathon show on the road! We’ll bring a Tesla Model S to every event, allowing developers to build and test their apps on a real vehicle. Using our API, we’ve seen hackers create everything from peer-to-peer car sharing platforms to mileage-based insurance apps. In 2019, the Smartcar team will dash around the country (and across the border) to attend the following hackathons.

2019 is shaping up to be an exciting road trip for us, and we're excited to meet all our developers!

California

Canada

  • UofTHacks, University of Toronto, Canada (January 18–20, 2019)

Illinois

  • WildHacks, Northwestern University (February 15–17, 2019)

New Jersey

  • HackRU, Rutgers University (March 9–10, 2019)

Texas

  • TAMUhack, Texas A&M (January 26–27, 2019)

And there’s more to come. Right now, we’ve only paved the way up to April. As we commit to more events, we’ll update this blog post accordingly.

Are you organizing a hackathon, but yours isn’t yet on our list? Contact us to see if we can attend!

If you’re curious about the types of apps hackers have built on our platform last year, check out this blog post about the first hackathon we hosted with Hackbright Academy in San Francisco. Also have a look at our favorite photos from past events below!

YHack at Yale University (December 2018)
SacHacks (by UC Davis) in Sacramento (November 2018)
HackHarvard at Harvard University (October 2018)
Connected Car Hackathon at Hackbright Academy in San Francisco (September 2018)

Happy hacking, everyone, and we hope to see you this year! 💻🚗


Smartcar enables developers to locate and unlock cars with an API. Want to take our product for a spin? Check out our docs and get started with our demo app! Have any questions or feedback? Shoot us an email! 🚀

PS: Follow us on LinkedIn and Facebook!

Add manual formatting notes here...

A year with Smartcar: 2018 in review

Charlotte Kosche

2 min read

January 1, 2019
Culture
Live SiteStaging Site

The Smartcar team wishes everyone a Happy New Year! What have we been up to for the past 12 months? Have a look at the photos below to find out.

December

Team offsite at the California Academy of Sciences.
Our winning team who built the best car app using Smartcar at YHack (Yale University).

November

An awesome group of UC Davis students who built on our API at SackHacks.
Engineering Lunch at Shoreline Lake in Mountain View.

October

Halloween offsite!
HackHarvard at Harvard University.
Demo Day at UC Berkeley.

September

Connected Car Hackathon at Hackbright Academy in San Francisco.
Office move!

July - August

Our first developer workshop at NEA (New Enterprise Associates).
Team offsite at Twin Peaks in San Francisco.
Demo Day at Smartcar HQ in Mountain View.

May  - June

Our Chief Happiness Officer.
The Smartcar team.
Successfully escaping a room at our team offsite.
Attending Michelin’s Movin’On conference in Montreal.

March - April

Travelling to Paris!

January - February

Attending CES in Las Vegas.

Smartcar enables developers to locate and unlock cars with an API. Want to take our product for a spin? Check out our docs and get started with our demo app! Have any questions or feedback? Shoot us an email! 🚀

PS: Follow us on LinkedIn and Facebook!

Add manual formatting notes here...

How Box Care uses Smartcar's API for their on-demand car wash app

Zeenia Framroze

2 min read

December 20, 2018
Customer story
Live SiteStaging Site

We’re thrilled to announce that Box Care — an on-demand car care app — is leaving the shop and heading for the open road with Smartcar.

Introducing Box Care

Based in Berkeley, CA, Box Care offers on-demand car wash and fuel delivery to vehicle owners in San Francisco and the East Bay. The company lets customers book appointments via their mobile app. It then sends a staff member to clean and/or fuel the car on the spot.

Box Care’s app offers on-demand car wash and fuel delivery.

How Box Care uses Smartcar’s API

Since the company integrated Smartcar’s API into its app, it has been able to locate the vehicles it needs to service and unlock their doors for interior cleaning. This cuts time and costs for both the company and their customers.

Location endpoint

Before using Smartcar, Box Care’s customers had to manually enter their car’s location in the app each time they were requesting a service. With our API’s location endpoint, the company can now locate their customers’ vehicles and send their staff directly to the right spot.

Security endpoint

If Box Care’s customers wanted the inside of their car cleaned, they had to stay nearby and unlock their car for Box Care’s staff when they arrive. Smartcar’s security endpoint allows staff members to unlock and lock the customers’ cars via the app, without having to physically exchange keys.

“It’s convenient for our customers, but also for us,” said Box Care co-founder John Kim. “Without Smartcar, we’d have to ask customers to come outside and unlock their car. Integrating with the Smartcar API has made things a lot easier for both sides.”

How does it work?

To integrate Smartcar’s API into their app, Box Care added a “Connect my car” button that launches Smartcar’s authorization flow. This flow lets customers log in with their car brand’s app credentials (e.g. Tesla app, Volkswagen Car-Net app) and lets them grant the app access to a set of permissions (e.g. to locate, lock, and unlock their vehicle).

Smartcar's authorization flow in the Box Care app.

Since our first meeting with Box Care this year, the team has rapidly grown and improved their product. As a part of the Smartcar Garage Program, they worked with our team to help us test new features like API endpoints and SDKs. We can’t wait to see what the Box Care team does next, which features it will add to their app, and where they will expand their services.

Add manual formatting notes here...

Announcing the new documentation center

Karthik Bhaskara

2 min read

December 14, 2018
Product
News
Live SiteStaging Site

To bring the best possible user experience to developers, we constantly iterate on our products. In the last few months, we have revealed a redesigned dashboard, added live and test modes to the Smartcar authorization flow, and shipped a new version of our JavaScript SDK.

Today, we’re proud to present a revamped documentation center. With its new features, the doc center will help you quickly and easily integrate Smartcar’s API into your application.

Smartcar is proud to present the new doc center!

So, let’s have a look at what’s new:

Demo App

We offer a demo app on the landing page, called Test Drive. The Test Drive app shows you how our platform works. Without writing any code, you can run the Test Drive app in your terminal and launch our demo in your browser.

Getting Started Guide

Our Getting Started Guide gets you up and running with Smartcar. In a step-by-step format, this guide explains how you can make your first request to our API. It’s available in Node, Python, and Java.

Integration Guides

If you want to build a full-fledged application, our Integration Guides show you how. Whether you prefer building single-page apps with React, mobile apps on iOS or Android, or server-side rendered apps with Express — we have the right Integration Guide for you.

And finally…

The new doc center also offers guides on more nuanced aspects of our platform. These guides will tell you which architectures we support, how you can test your app, how we handle errors, and which security best practices we advise you to follow.

Last but not least, our API reference has remained the same. If you’ve seen our old docs before, you will encounter some familiar elements here.

That’s it! We hope you’ll enjoy browsing the new doc center. And as always, please don’t hesitate to reach out to us with any questions or feedback!


Smartcar enables developers to locate and unlock cars with an API. Want to take our product for a spin? Check out our docs and get started with our Test Drive!🚗

PS: Follow us on LinkedIn and Facebook!

Add manual formatting notes here...

How to build a car sharing app using Smartcar and Sentry

Emre Sonmez

2 min read

December 7, 2018
Product
Live SiteStaging Site

The original version of this story was published on the Sentry blog.

Buckle up! On this episode of Exception Perceptions, Sydney Palumbo and Emre Sonmez, engineers at Smartcar, drove by to chat about Smartcar, a platform that helps developers create apps that communicate with vehicles. Watch the episode, and then shift gears to let Sydney and Emre guide you through Smartcar’s delightfully simple process.

What is Smartcar?

Smartcar is a standard API for connected vehicles. We enable web and mobile app communication with cars (think “lock doors” or “check odometer”) across multiple brands, without any hardware.

So what does that actually mean?

Let’s say you wanted to build a simple iOS app to share your car keys with your friends. Here’s how you’d do that:

  1. Register your application on the Smartcar developer dashboard.
  2. Add a “Connect your car” button to your app.
  3. When your users click the button, they will authenticate with their cars using the Smartcar authorization flow, fortunately using the same credentials they would for their car’s mobile app (e.g. Tesla app, Lexus Enform app).
  4. After this authentication is complete, your app receives a token that can be used to make HTTP requests to the car via the Smartcar API.
  5. Success! Your users now have access to a digital key to their vehicle that they can use for keyless entry, or to share with their friends!

What could possibly go wrong

Now, this is how things should work. But as we all know, things can go wrong. And when things go wrong, we want to quickly resolve the issue to keep our developers happy. Here’s where Sentry comes in.

Connecting to vehicles

When someone makes an API request to us (to get a vehicle’s location, for example), we figure out what brand and model the car is and retrieve that data point from the car using our integrations with car brands. A lot could happen when we attempt to retrieve this info:

  1. The car could be offline (e.g. in an area with no cell reception).
  2. The car manufacturer’s infrastructure could be experiencing problems.
  3. There could be an issue with the Smartcar service.

These types of issues are to be expected with large, complex, moving objects. However, if any of these three things occur, our process is to (a) investigate the issue as soon as possible, (b) notify our developers that have been affected if the issue is severe, and (c) resolve the issue.

When an error occurs, Sentry provides us the stack trace, release, car brand, and source of the request — which allows our team to investigate, resolve, and notify developers of the issue as fast as possible.

Managing your application

When you first create a developer account (for example, to run our demo app), we generate a client ID and secret for your application. This process is a necessary step to make your first request to the Smartcar API. If a developer experiences an error in our React app while registering their application or updating their configuration, we want to identify who the user is and make sure they can successfully use our API as soon as possible.

At Smartcar, we focus heavily on minimizing the time it takes for a developer to log in to our dashboard, register an application, and make their first request to our API. Sentry enables us to quickly detect errors and see the actions the user took that lead to the error.

Check out the Smartcar API

Want to check out the Smartcar API? Create an account, run our demo, and let us know what you think! 🚀


PS: Follow us on LinkedIn and Facebook!

Add manual formatting notes here...

Introducing the new and improved JavaScript SDK

Nathan Shelly

5 min read

December 5, 2018
Product
News
Live SiteStaging Site

The Smartcar API currently offers three back-end and three front-end SDKs for developers who want to build apps for cars. The JavaScript SDK is our most widely used front-end SDK.

We recently launched v2 of the JavaScript SDK. This revamped version makes it easier to build single-page applications (SPAs) on the Smartcar platform. But before we dive into details, let’s discuss how v1 worked and why we decided to do an overhaul.

V1 of the JavaScript SDK

Simple for server-side rendered applications

An important part of building and using an app on the Smartcar platform is the authorization flow. Smartcar uses the OAuth2 framework for its authorization flow. In v1 of the SDK, this flow enabled server-side rendered applications, which use frameworks such as Rails, Django, or Spring:

V1 of the JavaScript SDK: the authorization flow for server-side rendered applications.
  1. Authorization: Your app’s web page launches the Smartcar authorization dialog in a pop-up window. The user logs in with their vehicle credentials (e.g. Volkswagen Car-Net, Chrysler UConnect) and grants your app access to their vehicle.
  2. Redirect, retrieve authorization code, and close pop-up window: The user’s browser is redirected to a specified redirect URI. Your app’s server, listening at the redirect URI, retrieves the authorization code from query parameters. Your app’s server then renders an HTML page with a helper script. This helper script calls an `onComplete` function, notifying your application that the authorization process is complete, and closes the pop-up window.
  3. Done! The authorization flow is complete. Your app can now exchange the authorization code for an access token and start making HTTP requests to the Smartcar API to access the vehicle’s location, read its odometer, or lock and unlock its doors.

Challenging for single-page applications

While v1 worked for traditional server-side rendered applications, we noticed that many of our developers wanted to create single-page applications (SPAs), using frameworks like Angular and React. When building SPAs on the Smartcar API, our developers faced several challenges:

  1. Server must render HTML: In an SPA, the server communicates with JSON serialization, while the front end uses JavaScript to bring that JSON data into HTML format. So, an SPA server doesn’t usually deal with any HTML code. However, step 2 of the authorization flow requires the server to render an HTML page with a helper script to call the `onComplete` function and close the pop-up window. Since the server doesn’t usually use HTML, this rendering adds unwanted complexity.
  2. Cross-origin resource sharing (CORS): In an SPA, it is common for the server and the front end to be hosted on two different domains. So, even if you manage to make the server render an HTML page with the helper script, you will still encounter another problem: With server-side rendered applications, the app’s server is able to call the `onComplete` function only because it is hosted on the same domain as the app’s website. In the case of an SPA, the server will not be able to call the `onComplete` function, because browsers don’t allow scripts from one domain to communicate with scripts from another domain. This security policy is called cross-origin resource sharing, or CORS.
  3. Loading the entire app: You can try to avoid problems 1 and 2 in the following way: You serve the redirect URI page from the front end. Unfortunately, you’ll then face another problem: In SPAs, the entire application is usually bundled into one single file. So, if you serve your redirect page from the front end, you will need to load your entire application into the pop-up window. This takes time and gives your user a less-than-ideal experience.

V2 of the JavaScript SDK

A simple authorization flow for single-page applications

In order to solve these challenges associated with SPAs, we decided to revamp our JavaScript SDK. The solution we came up with has Smartcar host a redirect page for you. Here’s a diagram of the updated authorization flow:

V2 of the JavaScript SDK: the authorization flow for single-page applications.
  1. Authorization: Your SPA launches the Smartcar authorization dialog in a pop-up window. The user logs in with their vehicle credentials (e.g. Volkswagen Car-Net, Chrysler UConnect) and grants your app access to their vehicle.
  2. Smartcar-hosted redirect page: The user’s browser is redirected to a specified Smartcar-hosted redirect URI — the Smartcar JavaScript SDK redirect page.
  3. Retrieve authorization code and close pop-up window using `onComplete`: The Smartcar-hosted redirect page retrieves the authorization code from query parameters. The redirect page will then trigger execution of your SPA’s `onComplete` callback using the `postMessage` web API. This step is handled entirely by the JavaScript SDK.
  4. Send authorization code to server: Your SPA sends the retrieved authorization code to your app’s server (through whatever method you like, e.g. a POST request, websockets, etc.).
  5. Done! The authorization flow is complete. Your app can now exchange the authorization code for an access token and start making HTTP requests to the Smartcar API to access the vehicle’s location, read its odometer, or lock and unlock its doors.

Using `postMessage` — a web API that allows for secure cross-domain communication — enables v2 of the SDK to send the authorization code from the pop-up to your SPA, while still abiding to CORS rules.

By hosting a redirect page for you and using `postMessage` to securely communicate across domains, we solve all three challenges that SPAs faced with v1 of the SDK:

  1. Server doesn’t have to render HTML: Thanks to the Smartcar-hosted redirect page, we handle serving HTML so you don’t have to.
  2. Cross-origin resource sharing (CORS) through `postMessage`: Obviously, the Smartcar-hosted redirect page and your SPA are hosted on two different domains. By using the `postMessage` API, however, we can securely send the authorization code back to your app without breaking CORS rules.
  3. No need to load the entire app: You no longer need to worry about loading your entire front end into the pop-up, since we serve it for you.

Thanks to v2 of the JavaScript SDK, you can now easily build SPAs on the Smartcar platform! 🎉

And of course…

All else remains equal

  • Server-side rendered applications: If you are building a server-side rendered app, don’t worry. V2 of the JavaScript SDK will allow you to build server-side rendered apps in exactly the same way v1 did.
  • Host your own redirect page: If you are building an SPA and wish to host your own redirect page, you can absolutely still do so. Please have a look at the Advanced section of the JavaScript SDK’s README to learn more.

Are you ready to start building? Head over to the JavaScript SDK repo and jumpstart your creative engines! For more context, check out our docs — and as always, please don’t hesitate to reach out to us with any questions.


PS: Follow us on LinkedIn and Facebook!

The numbered list that goes from 1 to 11 isn't supposed to be that way, just as the rest of them, i guess that when passing the info to webflow this post became messed up due to the format it has on the original site, i tried to do it inside webflow editor but couldn't manage to include the embed within a paragraph. Overall the post is just messed up and the error of the paragraphs is happening all though it,  i didn't embed those codes because of this. sorry i couldn't work on this one!

How Smartcar uses Segment for an improved developer experience

Emre Sonmez

5 min read

November 27, 2018
Product
Live SiteStaging Site

It’s always great to ship new features to your users — but you can’t know how these features are performing if you don’t know how your users are interacting with your product.

This is something we struggled with during the early days at Smartcar. We didn’t have a way of measuring how our users interacted with the new features we shipped.

Our product, an API for cars, lives in a space that is just emerging. The concept of building a mobile app that reads data from cars (e.g. the odometer) without any hardware is difficult to communicate. Vehicle owners are connecting their car to a mobile app (e.g. a mileage-based car insurance app) for the very first time. To make our product succeed, we needed to answer the following questions:

How can we iterate on the experience that we provide to app developers as well as to the vehicle owners using these apps? In other words, how can we know which of our recent product changes are working well and which ones aren’t?

As we were tackling this issue, we found hundreds of ways to track how users interact with our product. Our marketing team wanted to view data in Mixpanel, our business team wanted to send Intercom campaigns based on specific interactions, and our engineering team wanted to pipe user event data into Amazon S3 buckets. As a result, we had to answer yet another question:

What is the right tool to track user interactions? Is there a single tool that meets all of our team’s different needs?

“There must be!” was our answer to the latter question. At least until we could hire enough people to set up and maintain multiple integrations.

Luckily, we found Segment.

Why we use Segment

One integration, (basically) infinite destinations

When we collected and weighed different tools, we hesitated between:

  1. Using Mixpanel to track engagement, measure retention, and monitor our funnel
  2. Using Intercom to track events
  3. a) Integrating the Smartcar dashboard with Segment, b) connecting Segment with Mixpanel to track user behavior, and c) connecting Segment with Intercom to route Intercom interactions (like starting a chat) to Mixpanel, as well as to route user interactions from Mixpanel to Intercom.

Ultimately, we decided to use Segment (option 3), thanks to following advantages:

  • Segment is a single source of truth for user data. We can route this data anywhere — to Intercom, Mixpanel, and other Segment-supported integrations.
  • We can route data to Mixpanel, helping us understand our users’ behavior.
  • We can route data to Intercom, allowing us to intelligently message our users based on their behavior.
  • If we decide to switch tools (e.g. to use Keen or to migrate away from Mixpanel), we can easily do so without touching our dashboard code.
  • Segment can collect user data from multiple sources (Salesforce, MailChimp signups, Auth0, Smartcar dashboard, etc.).

In short, Segment lets us implement and maintain a single integration, while making it possible for all team members to use any analytics tool without additional engineering effort.

Now that we decided to use Segment, how did we end up using the tool on a day-to-day basis? How does Segment help Smartcar deliver a better experience to app developers and vehicle owners?

How we use Segment

A better experience for developers: eliminating friction in the Smartcar dashboard

At Smartcar, we’re constantly seeking to improve the “developer journey” by asking: “What are the biggest friction points in building an app using our API?”

When we redesigned the Smartcar dashboard not too long ago, we first wanted to understand what was lacking in our original iteration. We then wanted to use that information to drive our redesign. So, we added Segment to our original dashboard and tracked three core things (among many others):

  1. Which pieces of information a developer enters to register their application with Smartcar
  2. Where the developer clicks after registering their application
  3. The number of developers who create an account but then don’t register an application

Feeding this data into Mixpanel, we realized the following:

  • A large percentage of users did not register an application after creating an account. We followed up with these developers and many of them said that they were confused about the information they had to provide in the app registration step (e.g. an “application name” and “redirect URIs”).
  • We didn’t have any buttons to direct users to next steps after registering an application.

Thanks to those insights, we knew to redesign our dashboard in the following way: When you create an account, we automatically create an application for you and provide links to resources that can help you get started (e.g. running demo app). We also managed to reduce the number of clicks it takes developers to run our demo app from over ten clicks to four.

The redesigned Smartcar dashboard

By adding Mixpanel and Intercom as destinations, our engineering team can now keep tabs on how developers are interacting with our redesigned dashboard, while our marketing team can use events to send timely emails to developers (for example, messages that are tailored towards how many apps a developer has built or which SDKs they used).

A better experience for app users: anonymous users in the Smartcar auth flow

Creating a better experience for app developers is important to us, but we also want to improve the user experience for consumers. In any app that uses Smartcar, the consumer will go through the Smartcar authorization flow. During this auth flow, the consumer authorizes the app to access their vehicle, by:

  1. Selecting their vehicle’s brand.
  2. Entering their car credentials (e.g. their email and password for the Tesla app or the Volkswagen Car-Net app).
  3. Approving or denying a list of permissions that the app is requesting (e.g. “read odometer”).

As users proceed through this flow, our team wanted to monitor the following:

  • How many people start the authorization flow but either fail to successfully authenticate their vehicle (i.e. successfully enter their car credentials) or fail to accept the requested permissions?
  • How many people have cars that are not supported by Smartcar (i.e. outdated vehicles that aren’t connected to the internet)? What are the makes and models of these cars?
  • Do certain vehicle owners have an easier time navigating through our authorization flow than others?

Before using Segment, we couldn’t monitor those things and had to rely on qualitative feedback from friends and developers. We had no notion of how many people “dropped off” during the auth flow, and we had no way of telling whether the new features we added were producing positive results.

When we instrumented our authorization flow with Segment, we could track user interactions before they logged in — and then retroactively associate these events with the actual users after they signed in.

This means that we can now not only monitor the three metrics mentioned above, but we can also determine how many clicks it takes for a vehicle owner to successfully authenticate with us — and segment (pun intended 😊) this data based on the user’s traits (e.g. what car they own).

The Smartcar authorization flow.

Building a user-friendly API can be difficult — especially if you want to appeal to your users and their users. Thanks to Segment, we can focus on both areas in one go, and give our team the chance to measure and evaluate the things they feel are most important.


Smartcar is an API that allows mobile and web apps to access data from and send requests to cars (think “check odometer” or “unlock doors”) — across vehicle brands, hardware-free.

Want to take our API for a spin? Check out our docs and get started with our demo app! Have any questions or feedback? Shoot us an email! 🚀

the gif is still to big even after compressing it

How Spiffy locates and unlocks cars using the Smartcar API

Charlotte Kosche

3 min read

November 20, 2018
Maintenance
Customer story
Live SiteStaging Site

Smartcar makes it fast and easy for app developers to integrate with cars. One of these developers is Spiffy — an on-demand car care app based in North Carolina. So, what is Spiffy, how do its developers use our API, and what are the technical advantages of using Smartcar?

Introducing Spiffy

Spiffy offers on-demand car care services such as washing, detailing, and oil change to individual vehicle owners and fleets of cars. “On-demand” means that customers can schedule appointments from an app, and that Spiffy staff will come to service the car on the spot. On top of one-time appointments, customers can book subscriptions to Spiffy’s services to get their car washed and serviced on a regular basis.

How Spiffy uses Smartcar

It’s actually quite simple. Spiffy uses the Smartcar API to let their car care staff do two things: locate a customer’s vehicle and — in case the customer has booked inside cleaning — unlock the vehicle doors.

To clean the inside of a car, Spiffy’s staff needs an easy way of unlocking the vehicle’s doors.

Technical pain points

Before integrating with Smartcar, Spiffy’s developers were facing two challenges:

  1. Locating the car: In order to wash and service a car, you have to know where the car is (obviously). But as your customer and their car might not always be in the same location, just locating the customer’s phone isn’t enough. Instead, customers have to manually enter their car’s location in the app.
  2. Unlocking and locking the car: If you want to do more than just wash the outside of a car, you need to unlock it. This means that your customers and staff members have to physically exchange car keys — a hassle and waste of time for both sides.

To work around these complexities for their customers and staff, some app developers use OBD (on-board diagnostics) dongles. But integrating with those dongles — especially the kind that can locate, lock, and unlock vehicles— is an expensive and complicated process. Each model, make, and production year of cars might bring their own nuances, making the lives of developers more difficult.

Spiffy uses the Smartcar API to locate, unlock, and lock the vehicles it services.

Smartcar’s solution

With Smartcar’s standard API, you can access data and send requests from and to vehicles — across car brands, without hardware, and using only simple HTTP requests:

  1. Thanks to our API’s location endpoint, your staff can easily locate your customers’ vehicles.
  2. The security endpoint lets your customers share a virtual car key with a member of your staff.
  3. Last but not least, it’s easy and secure to integrate with the Smartcar platform. We provide extensive documentation, SDKs in six languages, and a demo app to help you get started.

This is how Spiffy’s developers use the Smartcar API for their on-demand car care app.

Did we make you curious? If you’re building a similar app yourself, great! If you aren’t building an on-demand car care app, we still have good news for you: Our API permits you to integrate with much more than just on-demand car care apps. Car sharing, fleet management, mileage-based insurance, and in-car delivery are just a few examples of other apps you can build using the Smartcar platform.

Thank you, Spiffy, and have a great trip, everyone!


Smartcar is an API that allows mobile and web apps to access data from and send requests to cars (think “check odometer” or “unlock doors”) — across vehicle brands, hardware-free.

Want to take our API for a spin? Check out our docs and get started with our demo app! Have any questions or feedback? Shoot us an email! 🚀

Add manual formatting notes here...

Announcing live and test modes in the Smartcar authorization flow

Emre Sonmez

2 min read

October 30, 2018
Product
News
Live SiteStaging Site

One of the questions we get frequently asked by our current and soon-to-be users is: “How can I build an app without having access to a car?”

Until today, the answer to this question was a little complicated. In order to easily build and test your app, you needed access to a real vehicle with active credentials (i.e. an active subscription to the Tesla app, Volkswagen Car-Net app, etc.). If you didn’t have access to a car or its credentials, we exposed a “mock vehicle” that was confusing to many of our developers.

Starting today, you can build and test your app in “test mode.”

Today, we’re proud to announce that from now on, you can quickly and easily build and run your app, even without access to a real car. This is how it works:

  • When starting the Smartcar authorization flow, you get the choice between “live mode” and “test mode.”
  • If you choose test mode, you can use test credentials (any email address and any password) to authenticate with any of the car brands that Smartcar supports. Each brand will return at least two simulated vehicles that you can use for testing.
  • Of course, you can also choose live mode and log in with the credentials of a real vehicle, if you have access to one.
Smartcar's authorization flow in test mode

Smartcar’s authorization flow in test mode

Doesn’t that sound like a Sunday drive? Feel free to learn more about live and test modes in our docs, or get started right away with our demo app!


Smartcar is an API that allows mobile and web apps to communicate with cars (think “check odometer” or “unlock doors”) — across vehicle brands, hardware-free.

Want to take our API for a spin? Check out our docs and get started with our demo app! Have any questions or feedback? Shoot us an email! 🚀

PS: Follow us on Instagram!

the gif is still too big even after compressing it

What the React? Routing & redesign

Sydney Palumbo

4 min read

October 11, 2018
Product
Live SiteStaging Site

Early in the process of redesigning our developer dashboard, we came to a realization: The engineering effort needed to implement our exciting new design changes would entail more than just a few stylistic tweaks — a dilemma that many of our fellow engineers know all too well. There would be a handful of technical challenges we had to face during the redesign, especially when it came to routing.

“Oh, just move the navigation bar,” we said. “Just pull out a few parent routes here and add a few child routes there. We’ll be able to implement the entire redesign in a day — two days max, right?”

Not quite.

Routing Renovations

As the previous episode of our “What the React” series outlined, we wanted to eliminate as much friction from our developer experience as possible, starting with removing our `/apps` route. In our old dashboard, the `/apps` route was where you had to select your desired app from a list of all your applications, whenever you logged in. Thanks to the redesign, you don’t have to make that choice anymore. Instead, we make an educated guess of which app you’d like to view, based on which application you’ve most recently interacted with.

What’s more, each app in our dashboard now also contains a few nested routes of its own (think: app credentials and app settings) to organize content within that application more clearly.

Before

To help you visualize this, here’s the original flow:

1. Choose your application in the /apps route
2. View all application info in the /apps/:id route

After

And here’s the new and improved flow:

View the most important information for your application immediately in the /apps/:id/credentials route!

From a user standpoint, this is great. Now you get well-organized content and spend fewer clicks getting where you need to go within our dashboard.

From an engineering standpoint, however, improving this flow was no walk in the park. Our routing needed more than just a few tweaks. Specifically, we had to:

  • Replace the `/apps` route with an `/apps/:id` route in our top-level router.
  • Allow you to navigate to nested routes within an application (e.g. `/apps/:id/credentials` or `/apps/:id/settings`).
  • If you go to an invalid nested route (e.g. `/apps/:id/incorrect-nested-route`) or enter the `/apps/:id` route without specifying a nested route, we should send you to a default nested route (`/apps/:id/credentials`).
  • If you go to a route with an invalid app id (e.g. `/apps/invalid-id`), we should tell you the application couldn’t be found and direct you to another app.
  • If you go to a top-level route that isn’t defined (e.g. `/not-defined`), we should route you to your most recently viewed app, as we do on login.

So, before we knew it, we had a very long to-do list of routing adjustments.

Enter React Router.

Elegant Nested Routing

One extremely neat feature of React Router is that it allows for nested routing. For us, this meant that we could define our `/apps/:id` route — which renders the Application component — at the highest level of our dashboard’s routing. Then, in the render method of Application, we could define nested routes for every possible view within an app, each with its own respective component. For example, `apps/:id/credentials` renders the Credentials component and `apps/:id/settings` renders the Settings component.

On top of this, using nested routes allows us to verify that you have navigated to a valid app ID in the Application component, before we send you to a nested route. If the app ID in the route is invalid, we won’t send you to a nested route, but will instead prompt you to choose a valid app or register a new app.

Simple Redirecting

Another benefit of using nested routing with React Router is the ability to redirect differently in the nested routes and the top-level routes.

At the nested level, we can redirect you to a default view within an application:

  • If your nested route is not specified in the URL, we redirect to the default `/apps/:id/credentials`.
  • If your nested route is not defined in our dashboard, we also redirect to the default `/apps/:id/credentials`.

At the top-level, we can redirect based on your authentication:

  • If your authentication access token has expired, we redirect you to `/login`.
  • If you are still logged in, but attempt to go to `/login`, `/signup`, or another public route, we redirect you to your most recently viewed application.

In order to do this, we wrote functional wrapper components — `<PublicRoute/>` and `<PrivateRoute/>` — around React Router’s `<Route/>`. If you are properly authenticated, these wrapper components will render the component corresponding to your route. If you aren’t properly authenticated, the wrapper components will render the specified redirect. They look something like this:

Putting this all together, we get our top-level routes — each with their own path, authentication check, component, and redirect:

We ❤️ React Router

Long story short, we love React Router and its straightforward solutions for nested routes and redirecting.

With its help, adding new routes and tweaking old routes was a piece of cake! We tackled our seemingly very complicated to-do list of routing changes and got to work on our redesign styling in no time.

Blockers: gone 🚫

Our redesigned developer dashboard: shipped 🚢


Smartcar is an API that allows mobile and web apps to communicate with connected cars (think “check odometer” or “unlock doors”) — across vehicle brands, hardware-free.

Want to take our API for a spin? Check out our docs and get started with our demo app! Have any questions or feedback? Shoot us an email! 🚀

PS: Follow us on Instagram!

The bullet lists aren't supposed to be that way, i guess that when passing the info to webflow this post became messed up due to the format it has on the original site, i tried to do it inside webflow editor but couldn't manage to include the embed within a paragraph. Overall the post is just messed up and the error of the paragraphs is happening all though it,  i didn't embed those codes because of this. sorry i couldn't work on this one! i embed some of them but i know many should also be within a sentence pls check on those too!

What the React? Your first 30 seconds with Smartcar

Emre Sonmez

4 min read

October 4, 2018
Product
Live SiteStaging Site

As you might have heard, we recently redesigned the Smartcar dashboard. Our goal at Smartcar is to make building apps that communicate with cars fast and simple — and the goal of the redesign was to make the process of getting started with Smartcar much easier.

One of our redesign’s many improvements was to reduce the number of steps you have to complete between logging in and viewing your API credentials. In our old dashboard, you would have to select an application on every login. Our redesign has eliminated this unnecessary friction point, reducing the amount of time and the number of steps it takes to get started with the Smartcar API.

The task of removing an application selection page — a page where we list all of your apps and let you pick the configuration you want to see — forced us to think through the following questions:

  1. What should we do, if a developer just signed up and hasn’t yet registered an application?
  2. If a developer has more than one application, which one should we load on login?
  3. If a developer navigates to an invalid application (i.e. an application that they do not have access to), what should we do?

In this blog post, we’ll explain how we tackled each of these questions using React-Router, Redux, and Redux-Sagas. In other words, what happens behind the scenes during your first few seconds on the Smartcar dashboard?


The old flow

On signup

If you signed up on our old dashboard, we would force you to “Register an App” on login. As a developer, you would:

  • Sign up for an account at smartcar.com.
  • Register an app by entering an app name.
  • View your client ID and secret that you can use to make requests to the Smartcar API.

This flow presented the following friction points:

  • You may not know what “registering an app” means, particularly if you aren’t fully familiar with our API.
  • Even if you know what a registered app is, you may not know what to name it. (Even our team has piled up hundreds of apps with some variation of the name “Test App.”)

On login

If you already created an account and registered an app, and then logged into our old dashboard, you would:

  • View a list of your apps.
  • Select the application you want to see (or register a new one).
  • View your client ID and secret that you can use to make requests to the Smartcar API.

Similarly to our signup flow, this process wasn’t perfect:

  • A user who is just getting started with Smartcar will only have one app. Still, they’ll have to go through the app selection screen on every login — just to get to the same app.
The application selector.

Invalid app

Finally, if you tried to navigate to an application that you do not have access to (e.g. if you’ve bookmarked an app from another account), we would render an “Application Does Not Exist” component that lets you choose an existing application or register a new one.


Today’s flow

In our redesigned dashboard, we simplified the login flow as follows:

On signup

  • Sign up for an account at smartcar.com.
  • We automatically register “Your First App” and load your application credentials.

On login

  • Log in at smartcar.com.
  • Fetch your applications.
  • If we can access your most recently viewed app from a previous session, we load the credentials for your most recently viewed app.
  • Otherwise, we load your most recently created app.

For an invalid app route

We load an error page with links to your existing applications, and a button to register a new app.


How we do it

Here’s how we implement this flow in our React app:

Step 1: Initialize applications

When you first log in to the dashboard, we render an InitializeApplications component. This component renders a spinner and dispatches an “INITIALIZE_APPLICATIONS” action to the redux store on mount.

Step 2: Trigger initialize applications saga

Our Saga middleware intercepts the Redux action, and executes the following:

Step 2.1: Fetch applications

Step 2.2: Check size of the applications array

If the user doesn’t have any registered applications, automatically register an application.

Step 2.3: If a selected application exists (in local storage), load the selected app

If the user is logging back in on the same device, we can extract their most recently selected application. This is because we use Redux-Persist to persist elements of the user’s redux store in local storage.

Step 2.4: Otherwise, load the user’s most recently registered app

The saga

Here’s what our initialize applications saga looks like (edited for clarity):

Step 3: Render the selected app’s credentials

Now, we render the application! If an application doesn’t exist in the user’s set of applications, we render an “Application Not Found” page.

Here’s what the credentials view looks like to the user:

The Credentials view.

Now you know how we decide what app to show you when you log in! Give it a try for yourself by creating an account at smartcar.com, and let us know what you think!


Smartcar is an API that allows mobile and web apps to communicate with connected cars (think “check odometer” or “unlock doors”) — across vehicle brands, no hardware needed.

Want to take our API for a spin? Check out our docs and get started with our demo app! Have any questions or feedback? Shoot us an email! 🚀

Add manual formatting notes here...

Building car apps without hardware: a story in six examples

Charlotte Kosche

4 min read

October 2, 2018
Product
Live SiteStaging Site

Smartcar is an API for developers who want to build apps for cars. Our team aims to make integrating apps with cars as simple and secure as possible — across vehicle brands and without the need for hardware.

Today, the Smartcar platform offers three API endpoints (location, odometer, lock/unlock doors), SDKs in six languages, and support for nine vehicle brands. Create an account today, and use our free tier of 5,000 API calls on 5 connected vehicles per month!

Looking for inspiration? Take a deep dive into the projects from the Smartcar + Hackbright Academy Connected Car Hackathon this September, and see how participating teams turned ideas to real-life apps over the course of just 48 hours.

Connected car hackathon

Smartcar is a product for developers. Clearly, there was no better way for us to put our API in the hands of developers than to host a hackathon.

We were extremely lucky to partner with Hackbright Academy — one of the leading women’s coding academies in the Bay Area. Hackbright hosted us at their San Francisco location and helped us organize everything from getting the word out to potential attendees to providing food and drinks on the weekend-of.

A highlight of the event was the Tesla Model S that our team brought onsite, so that participating teams could test their apps in real time while building. All through the weekend, we could see hackers hitting the lock/unlock endpoint, and the lights flashing on the car parked on Sutter Street.

Our teams could test their apps on a Tesla Model S in real time.

Our teams could test their apps on a Tesla Model S in real time.

Speeding along: six apps that our teams built on the Smartcar platform

Here is a quick overview of the products and services that our six teams came up with. Congrats to the winners, Team Car Magic, and the runner-ups, SafeGuard!

  1. Car Magic — a vehicle concierge service. Car Magic simplifies maintenance of your car, with a personal concierge that picks up your car, drives it to the dealership, and brings it back to your home afterwards. The team was able to create this keyless and seamless service by using Smartcar’s location, lock/unlock, and odometer endpoints, the Google Maps API, and the Twilio API.
  2. SafeGuard — an app that adds protection for users of ridesharing services, when they experience an emergency. SafeGuard would be integrated into apps like Uber and Lyft, allowing users to “activate emergency mode,” if they feel unsafe during a ride. Activating emergency mode would send out notifications to 911 or to the user’s personal emergency contacts, and share information such as the user’s location. The team used the Smartcar, Google Maps, and Twitter APIs.
  3. KeyButler— a car sharing app. KeyButler allows you to lend your car to your friends via the app, without your friends having access to your physical car keys. KeyButler runs on iOS, Android, and as a web app.
  4. Wander — an exploration app. Wander lets you explore different sights by highlighting points of interest along your route, whenever your travel from point A to point B. The team used the Smartcar and Google Maps APIs.
  5. SmartShop — an app that makes it easy to maintain your car. SmartShop uses the odometer reading and location of your car to tell you what services are due and which car repair shops are nearby. The team used the Smartcar and Yelp APIs.
  6. AutoLocker — an in-car delivery app. AutoLocker allows you to get packages delivered into your car, whether you’re at home, at work, or travelling without a street address at hand. Using the car’s location, AutoLocker was able to optimize for the fastest and closest delivery. The team used the Smartcar and Google Maps APIs.
See what our teams have built over the course of just 48 hours!

In just a weekend, we saw an amazing variety of use cases and ideas from our hackers. From on-demand vehicle maintenance to package delivery, we saw the breadth of possibilities when developers get in the driver’s seat to define the future of mobility. These were just six of the countless use cases that Smartcar facilitates for the automotive ecosystem every day - there are many others, from fleet management to usage-based insurance, from fuel delivery to car washing.

Did we jump-start your creative juices? Then it’s time for you to put things in motion. Simply head to developer.smartcar.com and start building! Any questions or concerns? Please don’t hesitate to email us.

Thank you to our judges Alexandra (Dobs) Dobkin, Carly Robinson, Sahas Katta, and Charu Sharma.

PS: A big thank you goes to everyone who attended our hackathon, to our judges Alexandra (Dobs) Dobkin, Carly Robinson, Sahas Katta, and Charu Sharma, and to our sponsor, Shift.

PPS: If you missed this hackathon, watch out for more to come! Smartcar will be at SacHacks, LAHacks, and six other hackathons during the next few months.


Smartcar is an API that allows mobile and web apps to communicate with connected cars (think “check odometer” or “unlock doors”) — across vehicle brands, hardware-free.

Want to take our API for a spin? Check out our docs and get started with our demo app! Have any questions or feedback? Shoot us an email! 🚀

gif is way too big even after compressing it

Unveiling Smartcar’s developer dashboard redesign

Sydney Palumbo

2 min read

September 27, 2018
Product
News
Live SiteStaging Site

Our goal at Smartcar is to make it as simple and secure as possible for developers to build apps that communicate with cars. Our developer dashboard is your sidekick as you build on the Smartcar API, allowing you to create an account, register your app, and make your first request to a vehicle.

Today, we’re thrilled to announce that our developer dashboard just got a major facelift. 💅

Say hello to the redesigned developer dashboard!

With its sleek new exterior, the dashboard is focused on showing you exactly what you need to get started with the Smartcar API. Shedding a few of the clunkier steps that may have previously made it difficult to register and configure your application, the dashboard has been fully redesigned to give you a much friendlier developer experience (not to mention a much friendlier aesthetic experience too 😉).

More specifically, here are a few changes that might make your life (more than) a little bit easier when building with Smartcar:

  • Clutter-free layout: We’ve placed the information that’s most important to you front-and-center. After creating an account, you can easily copy your client ID, regenerate your client secret, or configure your redirect URIs in no time. These intuitive new features are designed to get you from 0 to 60 in 3.5.
  • Clean and simple navigation: One of the key enhancements of our redesigned dashboard is its lightweight navigation. By neatly grouping content, the dashboard lets you focus on what’s important: your client credentials and app settings. No need to worry about jumping from page to page if you want to register a new application, view a list of all your apps, or get support from our team.
  • Seamless access to docs, resources, and support: We’ve added quick access links to our documentation, support center, and getting-started guides. If you get stuck while configuring your application, you can read up on our relevant docs or run our demo app to get inspiration for your project.

We hope that these improvements make it just a bit easier for you to build on the Smartcar platform today. To us, the most exciting part of this redesign is how it paves the way for many awesome features to come.

So, keep an eye out for what’s next! Don’t hesitate to give us as much feedback and as many feature requests as your heart desires. You can email us or message us directly on Twitter. We read every message and are always more than happy to help! 💖


Smartcar is an API that allows mobile and web apps to communicate with connected cars (think “check odometer” or “unlock doors”) — across vehicle brands, no hardware needed.

Want to take our API for a spin? Check out our docs and get started with our demo app! Have any questions or feedback? Shoot us an email! 🚀

gif is too big even after compressing it

How to prepare for a hackathon

Charlotte Kosche

4 min read

September 21, 2018
Culture
Live SiteStaging Site

Come join Smartcar and Hackbright Academy at the Connected Car Hackathon in SF this weekend, Sept. 22–23! If you couldn’t attend our Info Session on Sept. 19, here are a few FAQs that get you ready to hit the road.

Smartcar is an API that allows apps to communicate with connected cars. We make it easy and secure for developers to integrate mobile and web apps with vehicles across car brands, without the need for hardware. On the Smartcar platform, developers can build apps for car sharing, fleet management, insurance, fuel delivery, car wash, and many more use cases.

Why are you hosting a hackathon?

Our API is a product for developers. Since Sahas and Sanketh Katta founded Smartcar in 2014, our team has spent the last three years building a product that hones the developer’s experience from start to finish. In addition to offering three endpoints (location, odometer, and lock/unlock doors) and supporting eight vehicle brands, we’ve been working on minimizing the time and steps it takes to have a developer make their first request with a vehicle. Developers can get started with our guide and demo app, read our docs with SDKs in six languages, build their app on our developer dashboard, and get live support from our team within minutes (thank you, Intercom!).

Smartcar’s demo app

To truly be developer-friendly though, we wanted to put our product in the hands of developers. And let’s be honest — what better way to engage with the developer community than a hackathon? A hackathon doesn’t only spread the word and make developers familiar with Smartcar — it’s also a fantastic opportunity to bring our product to the test and get enormous amounts of user feedback within the course of a single weekend. This is why we were more than thrilled when Hackbright and Smartcar came together to host a hackathon.

Why Hackbright Academy?

We’re proud to team up with Hackbright, because we share some pretty important values. We at Smartcar believe that the automotive space shouldn’t be dominated by a few big players. We want to empower everyone from independent developers to small startups to shape the industry by creating hundreds of mobility applications for vehicle owners.

As a premier women’s coding academy, Hackbright Academy shares our commitment to a diverse ecosystem of ideas, where everyone has a voice in tech. Hackbright is changing the ratio and leveling the scales, and we at Smartcar are thrilled to play a small role in that effort.

“We know that when you’re in a coding bootcamp, it takes a lot of effort to put together your first few projects for job applications,” Zeenia from Smartcar told attendees at the info session. “What we’re here to do is to make sure that building on the Smartcar API can be that first project, and a great one at that.”

Hackbright Academy hosted our Hackathon Info Session on Sept. 19.

What do I need to know before attending?

You couldn’t attend our Info Session on Sept. 19? Just keep reading, and you will find all your questions answered.

1. How does the Smartcar API work?

In a nutshell, Smartcar is a standard API that lets developers read vehicle data and send commands to connected cars using HTTP requests. We have SDKs in three back-end languages (Java, Node.js, Python) and three front-end languages (JavaScript, iOS, Android). Our API uses the OAuth2 authorization framework and offers support for eight car brands.

If you would like to know more about OAuth and how to get started on the Smartcar platform, feel free to check out this video:

Sanketh explains the OAuth flow and shows our audience how to get started on Smartcar.

2. Who can attend?

All are welcome. This is not a women-only event.

3. What should I expect?

You will be hacking on the Smartcar API and testing your code on a real Tesla Model S that our team will have onsite. We have great prizes for the winners, including free API calls, Google Home minis, and Amazon gift cards. For more information, have a look at the agenda on our Eventbrite page, familiarize yourself with our Code of Conduct, and contact our team if you have any questions.

4. Is it too late to sign up?

Not at all — ticket sales won’t close until Friday at midnight! If you get your ticket at the last minute and you don’t yet have a team to work with, don’t worry. Visit our Devpost site, message our team, or just arrive early on Saturday and find a team to work with when you get there.

Did we catch your interest? Come join the adventure and sign up for the hackathon! 🚗💻💪


Smartcar is an API that allows mobile and web apps to communicate with connected cars (think “check odometer” or “unlock doors”) — across vehicle brands, no hardware needed.

Want to take our API for a spin? Check out our docs and get started with our demo app! Have any questions or feedback? Shoot us an email! 🚀

Add manual formatting notes here...

How we use Apache Avro at Smartcar

Gurpreet Atwal

5 min read

September 18, 2018
Product
Live SiteStaging Site

We at Smartcar want to make it easy and secure for developers to integrate applications with cars. Our API allows apps to communicate with connected vehicles across car brands without the need for any additional hardware. Recently, our team overhauled the internal interface that connects our developer-facing API to each of our car manufacturer (OEM) integrations. Rather than calling the respective JavaScript functions directly, we introduced the Avro protocol. Why, you might ask?

Smartcar uses Apache Avro in its internal interface.

Before switching to Avro, our internal interface posed three fundamental problems that made it hard for us to scale our product:

  • Serialization: We wanted to make caching possible without either side of the internal interface having to do additional work. In order to make this type of caching possible, we needed to find a way to easily serialize the data that passes through the interface. At the time, we didn’t have a standardized format for that data, which made it hard to serialize.
  • Decoupling: Our developer-facing interface of HTTP endpoints had a one-to-one mapping with our internal interface, which made it hard to make changes to one without compromising the functionality of the other.
  • Type checks: We used type checks to ensure that the data we returned to developers was pristine. Because we used JavaScript — a weakly typed language — we had to make the type checks on both sides of the internal interface. This doubled our workload.

Choosing Avro

When trying to solve these three challenges, we decided to tackle the serialization problem first. Soon, we ended up diving head over heels into the world of serialization formats. We spent many a day researching and trying out formats like Google’s Protocol Buffers, Apache Thrift, Apache Avro, MessagePack, and others. Some of them, like MessagePack, function as serialization formats only. Others, like Avro and Protocol Buffers, act as combinations of serialization formats and Remote Procedure Call (RPC) frameworks.

Our guess was that an RPC framework could help us decouple the two sides of the interface and thus solve our second problem as well. This narrowed our choices down to the formats that came with an RPC framework: Avro, Thrift, and Protocol Buffers.

Looking more into those three formats, we found that Avro’s features would solve all three of our challenges and make our product scalable in other ways too:

  • Solving the three problems: Avro knocks out three birds with one stone: serialization format, RPC protocol, and schema validation. These three features would solve our three challenges respectively — all in one go.
  • Logical types: Avro would give us the freedom to add our own types to Avro’s existing logical types. This would allow us to execute stricter schema validation in the protocol itself, thus solving our third problem.
  • Binary encoding: Comparing Avro to other serialization formats, we found that Avro’s binary encoding was incredibly efficient for the specific schemas we were using.
  • Language support: Avro has been implemented in many different languages. If we ever wished to switch from JavaScript to another language in the future, Avro would give us the freedom to choose from a wider range of languages.
  • In-memory transport: This feature is specific to avsc — the JavaScript implementation of Avro, which you’ll read more about in just a minute. Avsc supports an in-memory transport in addition to the traditional network transports. If both sides of an interface are on the same network, this would allow us to mitigate a good amount of the latency associated with traditional RPC frameworks.

Implementing the Avro protocol

Once we knew that Avro was the format to go with, it was time to start building!

Time to start building!

By “building” I mean implementing the Avro protocol as a copy of Smartcar’s internal interface. Let’s recall the two sides of the internal interface: the developer-facing API and the OEM integrations. As both sides were written in JavaScript, we needed to use an npm library to implement the Avro protocol. By a fluke, we stumbled upon avsc — an npm library that implements Avro in pure JavaScript.

When we started implementing, we found that both creating Avro schema files and following the avsc instructions were relatively easy. We also had to face some challenges:

  • We wanted the binary encoding of the data to be as efficient as possible. This was a pretty ambitious goal, so we had to put a good amount of thought into how to structure the protocol and how to build the schemas. We even ended up encoding data manually — literally! — by hand on a whiteboard.
  • We also ran into some issues with avsc due to the quirks of applying a typed schema language — Avro — in a weakly typed language — JavaScript. This is where Matthieu, the author of avsc, was able to help us solve these problems. We’re very grateful for his support and for the many hours of debugging he saved us!
# Schema for Smartcar's odometer record in Avro's IDL

record OdometerDistance {
    // 2,000,000km ~ 1,242,742 miles
    @logicalType("range") @min(0) @max(2000000)
    float value;
}

Replacing the internal interface

Once we had successfully replicated our internal interface in Avro, the last step was to replace our old interface with the new Avro interface.

Did I mention that our internal interface is on the critical path of almost every request to Smartcar? We couldn’t just go on a feature freeze and halt all work until the migration was complete. Thankfully, we were able to use some avsc features alongside some carefully designed shims — small chunks of temporary code that wrapped our old methods and made them compatible with our new interface. All this allowed developers to keep using the Smartcar API, while we integrated and deployed the new interface at the same time.

Conclusion

The work is done! Smartcar now has a brand new internal interface that uses Avro to connect the developer-facing side of our API with our OEM integrations. This new interface allows our team to scale the Smartcar platform more easily. It ensures that we can:

  • efficiently cache large amounts of data,
  • iterate on each side of the interface independently of each other,
  • and catch errors and potential bugs much earlier.

Thank you, Avro and avsc! 🚀


Smartcar is the connected car API that allows mobile and web apps to communicate with connected vehicles across brands (think “check odometer” or “unlock doors.”)

Want to take our API for a spin? Check out our docs and get started with our demo app! Have any questions or feedback? Shoot us an email!

the gif doesn't appear full screen on webflow's live site

Live demo woe? Not today!

Zeenia Framroze

3 min read

September 13, 2018
Culture
Live SiteStaging Site

Putting the Smartcar API in the hands of developers

Smartcar is a product for developers. Our platform inspires developers to build great applications with our API — everything from insurance tech apps to diagnostics apps for gearheads who want to know how their cars function. We founded Smartcar because we believed that the barriers to building apps for cars were unreasonably high. Messy car manufacturer software and expensive dongles excluded the developer community from truly taking part in the massive shifts affecting the automotive industry. Our mission has always been to lower those barriers and to make building apps for cars safe, speedy, and simple.

Communicating that to developers, though, is easier said than done. That’s why we were so glad to be presenting at the API World conference, where we would have an audience of folks ready and eager to learn more about APIs in the mobility space. What we struggled with was figuring out exactly how to convey the simplicity and potential of Smartcar in a single presentation. When we’re building our API, we try to focus on the developer experience. How quickly can a developer create an account, download one of our SDKs, and receive an access token? How easy is it for the end user to authenticate their vehicle with an application built on our platform?

We soon realized that talking about a great developer experience alone wouldn’t convince our audience. We had to show exactly why and how our product benefits our users. With that in mind, we decided to do a Smartcar live demo, taking our audience through the process of sending their first request to our API. While live demos can certainly be tricky, we truly believed that during the time we had on stage, we could show how easy it was to build an app for cars on the Smartcar platform. A live demo could show developers exactly how quickly they could build and run an app using our SDKs. As we planned our demo, we also became better test users of our own product: We became more critical of the developer flow and overhauled our dashboard design! Undaunted and buoyed by the possibility of really putting the Smartcar API out there, we couldn’t wait to perform the live demo on stage.

Nerves of steel

Getting a live demo together doesn’t just require nerves of steel (which we had to develop this past week), but a lot of advance planning. The organizers of API World kindly let us park a Tesla Model S right by the stage, so everything (from making sure the WiFi functioned perfectly to getting a Faraday bag for the car keys) had to fall into place! Our plan was to:

  1. create an account on www.smartcar.com,
  2. download our Node.js SDK and use it to build an app called “Hello, API World” with the “security” endpoint to unlock the doors and the “basic vehicle info” endpoint,
  3. run our app and connect the Tesla we had on stage to it,
  4. receive and copy down our access token, and use it to unlock the Tesla for the audience…

…all in under 10 minutes.

The key components of the Smartcar platform we wanted to highlight were security, speed, and simplicity. We focused on highlighting the three endpoints that developers could use to build their applications: odometer, location, and locking and unlocking vehicle doors. We chose to unlock the doors during the demo, because it would be the most exciting thing for the audience to see. We also chose to use our back end SDK to demonstrate how easy it was to get up and running on Smartcar.

Big grins

On stage, we gave a quick Smartcar pitch, discussing all of the different kinds of use cases that Smartcar makes possible, from on-demand car washing to fleet management. We then launched into our demo with Sanketh walking the audience through each of the steps involved in building the app, starting with getting our credentials from the developer dashboard. After Sanketh had finished writing the code, one could hear the collective sharp inhale as we made our request to unlock the car. In just a second, the Tesla headlights flashed and the doors unlocked, delighting the crowd.

Don’t miss Sanketh’s blinding grin and the quietly whispered “Yes!” from me.

The truth is, when planning for any live demo, the devil is always in the details, from having someone proofread your code, to having at least three back-up jokes in case something goes wrong. Our favorite: “My friend told me the range of this Tesla, and I was like ‘Watt?!’”

Did our live demo capture your imagination? Come to our Smartcar + Hackbright Hackathon next weekend and see what you can build!

Add manual formatting notes here...

Taking a peek “Under the Hood” with Smartcar

Sydney Palumbo

3 min read

September 5, 2018
Culture
Live SiteStaging Site

In mid-August, our team headed up to San Francisco to give engineers in the Bay Area an opportunity to peek under the hood of the Smartcar developer experience. We wanted to give everyone in attendance a clear look into what we’ve been building recently and how they might start using the Smartcar API themselves.

Not your usual event, we promise

One of the challenges we face working on Smartcar day-to-day is understanding how developers who are completely new to our platform interact with Smartcar: how do they expect the process to work, what do they think is missing, where do they get stuck along the way? In other words, how can we make it easier to get off the ground with Smartcar?

Of course, we think about these things at Smartcar every day, but what might we learn if we were able to fully take a step back and remove ourselves from the product we’ve created? What elements of the developer experience might we be making assumptions about just because we see them so often internally?

So, back to the event. After Sahas and Sanketh Katta — our CEO and CTO — explained the Smartcar mission and gave a live demo showing how we connect to vehicles, we shifted gears to what may seem like a not-so-common tech meetup activity.

Putting it into practice

Breaking into small focus groups, we asked the audience to go through the process of getting started with Smartcar step by step: visiting our homepage, making an account, and running our demo application. The attendees put themselves in the driver’s seat, getting into the mindset of developers who want to build applications with our API. The Smartcar crew took a back seat, trying to influence the audience as little as possible during a small-group brainstorming session.

We kept some critical questions at the center of the discussion. We wanted to be able to guide the conversation, but we didn’t want to direct our audience’s attention away from what it would naturally migrate towards. Here are a few examples of questions we came up with:

  • “What do you expect to see when you log into the dashboard?”
  • “When you land on our homepage, what do you think is missing?”
  • “As a vehicle owner going through the auth flow, what is unclear about this process?”

With a fresh set of eyes in the room, we quickly dove into an in-depth conversation about the ideal developer experience of an API-driven product.

The results are in!

In no time, post-it notes were flying through the room and onto the walls. They were filled with potential features that could exponentially improve a developer’s experience, roadblocks that might come up along the way, and essentially everything in between. When we took a step back and looked at what had been uncovered, we couldn’t have been more excited to get back to work, putting the pedal to the metal towards prioritizing and developing the features we had discussed.

If there’s anything we learned from our Under the Hood event — and trust us, we learned a lot — it’s to know (and listen to!) our audience. And we can’t say it enough: we loved getting to better know our audience of engineers, better understand how they work with APIs, and better iterate on our product so that they have the best possible experience moving forward.

Finally, a huge thanks to NEA for having us and to everyone who attended!

PS: Interested in giving us your feedback or participating in a future workshop? Give us a shout at hello@smartcar.com!


Smartcar is the connected car API that allows mobile and web apps to communicate with connected vehicles across brands (think “check odometer” or “unlock doors.”)

Want to take our API for a spin? Check out our docs and get started with our demo app!

Add manual formatting notes here...

What the React? Sagas and side effects

Emre Sonmez

4 min read

August 20, 2018
Product
Live SiteStaging Site

Our first rendition of “What the React?” has arrived! Today, we’re going to dive into how we handle side effects in our React apps at Smartcar.

When we first started designing our developer dashboard and aligned on using Redux for state management, we faced the question many developers face when building React apps: where do we put the side effects?

Seriously, where do we put the side effects?!

What are side effects?

Side effects are basically anything that affects something outside of the scope of the current function that’s being executed. In our dashboard, this includes:

  • API requests to our backend service
  • Calls to our authentication service
  • Error tracking calls to Sentry

In the context of our app, this looks like:

  1. Developer clicks “Register application.”
  2. We dispatch a REGISTER_APPLICATION event.
  3. We make a call to our backend service to register the application. (side effect!)
  4. We extract the data returned from the backend call and dispatch a REGISTER_APPLICATION_SUCCESS event with this data. (side effect!)
  5. We route to this new registered application. (side effect!)

Where should we group side effects?

Well, not in reducers.

Reducers — functions that we use to update our app’s state given its current state and an action — are pure functions. They cannot contain side effects like making API calls to our backend service.

So, where do we put the three side effects listed above when a REGISTER_APPLICATION event is dispatched to our Redux store?

When thinking about side effects in React apps, we thought about the following constraints:

  • We can’t handle side effects in reducers (they’re pure functions, they aren’t meant for making API calls).
  • We want something that’s easy to test (Jest and Enzyme should make this easy). Less mocking the better.
  • We want side effects to be closely tied to Redux actions.

We looked around for what was popular with the React community and found two options that could hit our criteria: Thunks and Sagas.

Option 1: Thunks

The first option we looked into was Thunks. Thunks transform action creators so that they can return functions (rather than JSON objects representing actions). We can then use these functions to make API requests and trigger dispatch calls to our redux store.

The benefit of using Thunks is that they are lightweight and easy to integrate into a React-Redux application. However, Thunks require us to mock our APIs to test.

This complicates testing — and makes it a lot less fun.

Option 2: Sagas

Now for Sagas!

There are a few things that make Sagas different. Most importantly, they’re heavier than Thunks (we add a middleware layer to our React-Redux app); but, they also have a whole suite of benefits that make it incredibly easy to manage side effects in our React apps.

Here are a few of the benefits:

Sagas are generator functions.

Sagas are generator functions that listen for Redux actions. When an action is dispatched to the redux store, a corresponding Saga will execute. This allows us to pair a Saga with a particular redux action.

Sagas yield plain JavaScript objects, called Effects.

What made Sagas delightful for us to use was its concept of Effects. An Effect contains an instruction for the Saga middleware but does not perform any execution.

Inside a Saga, we yield plain JavaScript objects (Effects). This eliminates the need for us to mock functions to test Redux Sagas (which leads to better tests!).

We use Effect creators (provided by the Redux-Saga API), functions that create these JavaScript objects, to generate our Effects. Some of the ones we use at Smartcar include:

  • call(fn, …args) — creates an Effect that instructs the middleware to call the specified function with the specified args
  • put(action) — creates an Effect that instructs the middleware to dispatch a Redux action to the store
  • select(selector, …args) — creates an Effect that instructs the middleware to invoke the selector on the current Redux store state with the specified args

When the middleware retrieves an Effect, the Saga is paused until the event is fulfilled.

Sagas are easy to test.

Using Effects inside Sagas make them incredibly easy to test. A Saga function does not make any external API calls — it yields Effects which are executed by the Saga middleware. Since these Effects are plain JavaScript objects, we can test Sagas by making sure a task yields a call with the right function and the right arguments.

An example

This is what a Saga to register an application looks like:

As you can see, we’ve placed all side effects for the REGISTER_APPLICATION action into a single place! And now for the test:

As we noted earlier, we don’t have to mock any of our API calls — in each line, we just check if the Effect object matches what we expect it to be.

So, to sum up what we’ve learned:

  1. Sagas are heavier than Thunks, but much easier to test.
  2. We ❤️ Sagas at Smartcar.

We’ll see you next time 😉


Smartcar is the connected car API that allows mobile and web apps to communicate with connected vehicles across brands (think “check odometer” or “lock doors”).

Want to take our API for a spin? Check out our docs and demo app.

Add manual formatting notes here...

What the React? Engineers (in cars) talking React apps

Emre Sonmez

2 min read

August 13, 2018
Product
Live SiteStaging Site

One of the questions we often ask when using other web apps is “How was this built?” (i.e. “What the React?”) — everything from how the stylesheets are structured to how our clicks are tracked as we use the app.

To pay homage to the hundreds of React guides we’ve consumed, we thought we’d share a bit about how we build and maintain our own React apps. Over the next few weeks, we’ll dive into how we built our developer dashboard and tackle questions including:

  • How do you handle side effects (making API requests)?
  • How do you manage state?
  • How do you capture and act on exceptions?
  • Where does event tracking fit in?
  • What does your folder structure look like?
  • How do you deploy your site?

Our goal is to give you a birds-eye view of how we think about React apps — so you can either (a) use our series as inspiration for your own web apps or (b) point out how you would have tackled a similar situation (both of which we’d consider to be positive outcomes of this series!).

Have a question you’d like us to tackle in a blog post? Let us know!

And finally, none of these posts will subtly try to get you to use the Smarcar API (we promise). But! Let’s say you wanted to know what our developer dashboard is used for and happened to have 5 minutes to spare… you could hypothetically run our demo app and check out the dashboard in the process 😉

To be continued!

Welcome to our mini-series on React apps!

Smartcar is the connected car API that allows mobile and web apps to communicate with connected vehicles across brands (think “check odometer” or “lock doors”).

Want to take our API for a spin? Check out our docs and demo app.

Add manual formatting notes here...

Office hour series: “Under the Hood” at Smartcar

Briana Richardson

2 min read

July 26, 2018
Culture
Live SiteStaging Site

Welcome to Smartcar’s office hour series, "Under the Hood"!

Over the past three years, we’ve worked to create the connected car API that allows developers to communicate with vehicles through simple HTTP ‘get’ and ‘post’ commands. We would love for you to stop by to try out our tech (and have lunch on us)!

Today, ~60% of newly manufactured cars contain built-in telematics (e.g. 4G LTE, 3G) making it possible to access real-time vehicle data. But, developers hoping to build for these vehicles face the challenge of non-existent API documentation. That’s about to change — with Smartcar, you can start creating applications within just minutes.

The Smartcar API is here!

With our API, developers can access multiple vehicle brands in a single engineering effort without hardware additions. We support seven car brands and three endpoints: location, odometer, and lock/unlock. Today developers including on-demand car washing, fleet management, pay-per-mile insurance, and more are using Smartcar’s APIs.

Why come?

Smartcar puts developers first — we want to hear from you, get your feedback, and help you test drive our software. Whether you’re a professional in the automotive space, or a developer just getting started, we want to make using the Smartcar API easier for you.

At Under the Hood, you’ll have the chance to:

  • Try out our tech first-hand
  • Chat with our engineers and founding team
  • Check out our test fleet which includes more than one Tesla 😄
  • Nosh on some free food, of course 😉
  • Pick up some swag 🎁
  • And *maybe* even experience one of our unreleased product features

How to join?

Signing up is easy. Just get in touch and tell us about yourself (name, coding language, LinkedIn) to make sure we can match you with the right team member at lunch!

PS: Bring your computer on your visit so you can give our APIs a try!

the gif doesn't appear full screen on webflow's live site

Announcing multi-application support

Emre Sonmez

1 min read

July 25, 2018
Product
News
Live SiteStaging Site

Today, we’re bringing you two exciting updates to our developer dashboard: the ability to register multiple apps and a simplified app view that makes it easier to get started with Smartcar.

Read on for more details, or launch the dashboard to explore the improvements we’ve made! 🎉

Here’s what’s new:

Configure multiple apps

You can now create and manage multiple application configurations in our dashboard. Simple select your user name from the top menu bar and select the app you want to edit or add redirect URIs to.

Register multiple apps from our new apps page.

Simplified app configuration

From redirect URIs to our demo app, our dashboard lets you view everything you need to integrate with Smartcar in one place.

Add redirect uris and easily copy your client ID and secret.

Now it's time to try it out for yourself!

If you have feature requests or feedback (positive, negative, or anything in between!), you can email us or message us directly on Twitter. We read every message and are always (more than) happy to help!

Add manual formatting notes here...

Smartcar: The car API for developers

Sahas Katta

2 min read

July 18, 2018
Product
News
Live SiteStaging Site

Create a Smartcar developer account and start building apps that communicate with connected cars!

Since 2015, we’ve been working on a car API that lets developers communicate with vehicles (think “lock doors,” or “check odometer”) from web and mobile applications.

This idea came from the following observations and beliefs:

  • Building apps that communicate with cars is difficult — too difficult for most developers to consider integrating with vehicles.
  • Developers need a simple and hardware-free path to build for cars of all brands, not just one or two.
  • Vehicle owners who connect their cars to apps should be in total control of what data they share with these applications.

We invited developers to use our car API platform and worked closely with this community to fully understand their needs. Here’s what we built (and learned) in the initial months…

📱 Building apps for cars: A beginner's guide to car APIs

What does a car API look like in action? Why should you connect to cars with an API instead of OBD dongles or smartphone telematics?

More importantly, is a car API platform the right choice for you?

👉 Learn from real examples of apps built with car APIs

We’ve been hard at work building our developer experience

We’re focused on creating a developer experience that makes it easy to get up and running with Smartcar.

What we’ve shipped

  • An endpoint set focused on vehicle info, location, odometer, and lock / unlock doors
  • A support center with getting started guides and FAQs
  • SDKs in 5 languages
  • An open-source demo app that helps you get off the ground quickly with Smartcar
  • An authorization flow that lets us add compatibility for additional car brands with zero development effort

What our developers have asked for

  • Help with making their first request to Smartcar (check out our support center)
  • Compatibility with 10+ car brands
  • Support for teams in our developer portal (coming soon!)
  • More API endpoints (coming soon!)

Today, we’re opening our platform to developers everywhere. We can’t wait to see what you build on Smartcar — and our team is here to help every step of the way.

Ready to get started?

Create an account, try our getting started guide, and let us know what you think. 🚀

Add manual formatting notes here...

Smartcar announces $10 million Series A funding from NEA and a16z

Sahas Katta

2 min read

March 2, 2018
News
Live SiteStaging Site

Today, we’re thrilled to announce Smartcar has raised a $10 million round of Series A financing led by New Enterprise Associates (NEA) with participation from Andreessen Horowitz (a16z). This follows a $2 million round of seed financing from a16z, which brings our total financing raised to-date to $12 million. We are also excited to welcome Forest Baskett from NEA and William Krause from a16z to the Smartcar Board of Directors.

We founded Smartcar in 2015 after we became frustrated trying to build a mobile app that would communicate with vehicles (think “check odometer” or “unlock doors”). While many cars were already internet-connected, we couldn’t find a way to integrate with them. Cars didn’t have documented APIs and each car manufacturer had proprietary cloud infrastructure. Some companies worked around these issues by using aftermarket hardware (like OBD dongles), but these devices came with severe limitations and a prohibitive upfront cost.

Smartcar is a connected car platform that lets you read vehicle data and send commands to vehicles of any brand using HTTP requests in a single engineering effort. We take advantage of embedded telematics hardware already present in vehicles, maintain a suite of SDKs, and have comprehensive API docs to help you get started.

Our objective at Smartcar is simple: we want to make it easy and secure for developers to build apps that communicate with vehicles.

Over the past three years, we’ve already enabled many companies to build new experiences for their customers. From car sharing and fleet management services to smart parking and insurance, our partners are pioneering a world of truly connected automobility.

Smartcar is a lean team with a focused product; we chose to raise more financing as we began to see traction and excitement from early customers on our platform. As the team grows, we will build out our developer experience, iterate on our core platform, and support more vehicle brands.


While we’re very excited about what lies ahead, we wouldn’t be where we are today without the support of our first OEM partners (BMW and Hyundai), investors, team, and early adopters of the Smartcar platform. To everyone who’s helped us get this far — thank you. We still have a long way to go towards a future where millions of apps communicate seamlessly with all vehicles on the road. Today, we’re grateful to be one step closer to making this future a reality.

Cheers,

Sahas and Sanketh

Co-Founders, Smartcar

P.S.: We're hiring! 🚀

Add manual formatting notes here...

Smartcar developer platform now available on Hyundai vehicles

Sahas Katta

2 min read

November 28, 2017
Product
News
Live SiteStaging Site

We are excited to announce the Smartcar connected car platform is opening up to developers looking to bring apps and services to Hyundai vehicle owners. Hyundai Motor America has partnered with Smartcar to let their customers use new digital experiences built on our platform with their vehicles starting early 2018.

Today, at Automobility LA, we are showcasing one of the very first developers using Smartcar’s platform. Washos is a mobility service which lets Hyundai owners order a car wash in just a few clicks from a mobile app. Using Smartcar API platform, Washos can now locate a customer’s Hyundai vehicle for a wash and use a temporary digital key to unlock the doors to clean the interior.

“With the single integration of Smartcar into the [Hyundai] Blue Link system, we’re able to give customers access to a vast range of new services. And we can do it more quickly — because there’s no need to do a separate integration of every new service.” said Manish Mehrotra, Director of Digital Business Planning and Connected Operations at Hyundai Motor America.

Over the coming months, Smartcar will announce a wide variety of developers using our platform ranging from car-sharing services, to on-demand fuel delivery, in-trunk deliveries, and a few surprises for Hyundai owners as part of our joint pilot in California.

Smartcar’s mission is to empower developers to easily build apps which work with vehicles of any make or model in a single development effort. With our friendly API documentation, SDKs for popular programming languages, and enterprise-grade security, Smartcar scales to accommodate developers ranging from emerging startups to large fleets and insurance companies. These businesses can now focus on creating great experiences for their customers without worrying about how to communicate with vehicles.

Washos uses Smartcar's API to locate and unlock the cars they service.
Add manual formatting notes here...

Smartcar launches connected car platform in Germany

Sahas Katta

1 min read

June 5, 2017
Product
News
Live SiteStaging Site

Starting on June 30th, developers can add Smartcar APIs into their app or website with a few lines of code to connect to data from BMW vehicles.

Smartcar has partnered with BMW Group to enable developers to access select data from vehicles which have built-in SIM cards for data connectivity. Initially data from BMW vehicles in Germany can be accessed via Smartcar, the rollout in other countries will follow gradually.

The wide range of applications includes insurance, expense tracking, smart home, gas stations, and mobility services like car sharing and car wash.

Smartcar Developer Portal

Smartcar’s platform enables developers to access data from vehicles of multiple brands through a standard API and a single development effort. Developers looking to add connected car APIs into their app or website can save time by using Smartcar.

> var smartcar = require('smartcar');
> var vehicle = new smartcar.Vehicle(vehicleId, accessToken);
> vehicle.location();{"latitude": 37.401158, "longitude": -122.057613}

If you are interested, sign up for early access. If you have any questions, you can reach us at hello@smartcar.com.

Add manual formatting notes here...