Kite, which suggests code snippets for Python developers in real time, has raised $17 million in a series A round led by Trinity Ventures. The latest version of the free developer tool no longer relies on the cloud, meaning it runs locally, and it adds a nifty feature called Line-of-Code Completions.
GitHub CEO Nat Friedman also participated in this round, adding his name to a long list of notable angel investors, including PayPal founder Max Levchin, Automattic founder Matt Mullenweg, Palantir founder Joe Lonsdale, Dropbox founder Drew Houston, Cruise Automation cofounder Kyle Vogt, Gusto cofounder Joshua Reeves, and Twitch.tv founder Emmett Shear. Kite plans to use the new funding to expand its R&D team with a focus on accelerating developer productivity. Trinity Ventures general partner Dan Scholnick, who sits on the boards of Docker and New Relic, will join Kite’s board.
Kite comes from Adam Smith, who founded Xobni, an email service launched in September 2007 that Yahoo acquired in July 2013. “Our mission is to bring the latest advancements in AI and machine learning (ML) to make writing code fluid, effortless, and more enjoyable,” Smith explained. “Developers using Kite can focus their productive energy toward solving the next big technical challenges, instead of searching the web for code examples illustrating mundane and frequently repeated code patterns.”
Using AI to help developers code is not an original idea, but it’s one Kite has been working on for a while. The company debuted its offering privately in April 2016 before launching publicly in March 2017 as a developer sidekick for Windows and Mac, powered by the cloud. A lot has changed since then.
Kite now runs locally
Today, Kite is used by more than 30,000 Python developers worldwide. The locally based ML plugin is available for the top Python IDEs, including Visual Studio Code, Atom, Sublime Text, PyCharm, IntelliJ, and Vim.
Instead of relying on the cloud to run its AI engine, Kite now runs locally on a user’s computer, letting developers use it offline and without having to uploading any code. (Kite still trains its machine learning models with thousands of publicly available code sources from highly rated developers.) Furthermore, running locally allows Kite to fully operate with lower latencies.
“Because there’s no longer a round trip to our servers, our completions latency went from 50-200ms+ (depending on internet connection) down to 5-20ms per completions request,” Smith told VentureBeat. “Remember this is per-keystroke, so even a slight delay becomes very noticeable.”
But ditching the cloud wasn’t easy. In fact, it was a massive engineering effort — building in the cloud means you have all the compute you want, and it’s also easier to identify and fix bugs. Running locally comes with its own set of limitations.
“Over the long run, we may run into serious limits to the sophistication of AI models we can run on local machines,” Smith explained. “But we’re encouraged by a lot of work being done to make AI workloads more accessible. For example, phones now run fairly sophisticated machine learning workloads when you take a photo. These investments are showing up in PCs as well. We’re really excited about PCs with the AVX-512 instruction set, which should start to roll out this year.”
The biggest obstacle Kite faced at launch was the privacy and security concerns surrounding uploading code to the cloud. The company initially responded by building greater controls for the user on its cloud-based application, including the ability to programmatically whitelist and blacklist files and directories. Avoiding the cloud completely means any remaining privacy and security concerns developers may have had are now moot.
This also means Kite’s on-premise and paid versions are dead. “Because Kite now does all of its computation on users’ machines, there’s no longer a need for Kite Enterprise,” Smith told VentureBeat. “Regarding monetization, we’ll monetize enterprise users later this year, but without any new technical component.”
Only for Python developers
We asked why that never happened.
“Yes, we put other languages on hold so we could focus on making our Python product really awesome for Python programmers,” Smith told VentureBeat. “Shipping Line-of-Code Completions and moving away from the cloud were big endeavors for our team. With those projects behind us, we’ll re-assess the product roadmap next, and we’re really excited to add support for more languages.”
The same goes for Linux support. It was supposed to arrive “in the coming weeks,” but the company decided to put it off. “Looking forward, we feel good that we’re now at the point where every Python developer really should be using Kite, and we’re excited to plan our roadmap from here,” Smith explained. “Also, Kite runs on Linux internally — some of our developers use it on their Linux machine — so all we need to do is build the updater and add some finishing touches.”
In addition to ditching the cloud, the new version of Kite brings a feature the team calls Line-of-Code Completions. Until now, Kite’s machine learning models could only suggest the next “token” in a line of code. Line-of-Code Completions can complete entire function calls with a single keystroke. The new feature uses deep learning to categorize advanced semantic representations of source code. The team boasts that Kite is “the only developer product on the market to offer such advanced completions.”
Here is Smith, describing the feature in his own words:
Sorting code completions by the alphabet puts the correct completion in the top three results just 2 percent of the time. This is the experience most developers get today. Our new models put the right completion in the top three positions a whopping 67 percent of the time — over 30 times as often.
Line-of-Code Completions is the next step on the staircase of code intelligence. Programming is more fun when you don’t have to spend mental energy on the tedium of coding. In the future, programming will be more like big-picture whiteboarding and less like bookkeeping.
Together we have a huge opportunity to improve how code gets written. We couldn’t be more excited to be building Kite.
Great, now about those other programming languages …