Kite, a San Francisco-based startup that uses machine learning to build what is essentially a very smart code-completion tool, today announced that it has raised a $17 million funding round. The round was led by Trinity Ventures, with personal participation from now-GitHub CEO Nat Friedman. In addition to the funding, Kite also today announced that its tools are now significantly smarter and that developers can run them locally on their machines, even if they don’t have an internet connection.
As Kite founder and CEO Adam Smith told me, the idea for Kite is based on the simple fact that a lot of programming is repetitive. “That’s why [developers] spend so much time on Stack Overflow. That’s why they spend so much time debugging really basic errors and looking up documentation, but not so much time looking at how the solution should work,” he said. “We thought we can use machine learning to fix that.”
Standard code completion tools often still use alphabetical sorting, while Kite uses AI to infer what a developer is likely trying to do (though, to be fair, the likes of IntelliSense and others are also starting to get smarter). In its first iteration, Kite, which sadly still only works for Python code right now, sorted its hints by popularity. Unsurprisingly, that was already more useful than alphabetical sorting, and the right answer appeared in the top three results 37 percent of the time.
What’s interesting here is that if you can predict the next part of a line of code with high accuracy, you can start predicting a few more words ahead, too. And that’s exactly what Kite is starting to do now.
To do this, the team had to build its own machine learning models that worked well for code. As Smith told me, Kite first looked at using standard natural language processing (NLP) models, but it turns out that those don’t really work well for code, which has a different structure. As training data, Kite fed the system all the Python code on GitHub.
Looking ahead, what Smith really wants to achieve is what he calls “fully automated programming.” “It’s that Star Trek vision of where you tell computers in a high-level language what to do,” he said. “If it’s ambiguous, the computer will ask questions.”
It’ll take a few more breakthroughs in AI to realize that vision, but for the time being, Kite’s tools are freely available and come with editor plugins for Atom, Sublime Text3, VS Code, Vim, PyCharm and IntelliJ. Currently, about 30,000 Python developers use its tools.
With today’s release, developers can also use these models locally, without the need for an internet connection. That’s a sign of how efficient the models are, but as Smith also acknowledged, running the model locally means his company doesn’t have to manage a complex cloud infrastructure either. This should also make the tool more appealing to more developers — especially in larger corporations — given that the original tool would send all of your code to Kite’s servers (and in that context, it’s worth noting the company managed to create its own little scandal around some open-source contributions that favored its auto-completion engine).
The company plans to use the new funding to build out the team, which mostly consists of engineers. It’ll also build out its product, with a special focus on supporting more languages.
As for its business model, it’s worth noting that Kite did test a subscription service last year, but as Smith argues, that was mostly to test if the company could monetize the service. “Now we want to optimize for growth,” he said and noted that the focus of the company’s monetization strategy will be on enterprise users. Indeed, that’s a common refrain I hear from startups that focus on developers. It’s very hard to sell subscriptions to individual developers, it seems, so most start to focus on enterprises sooner or later.