Vouch.io is a platform providing verifiable trust for people and their devices. Their engineers include some of the most prolific contributors to the Clojure ecosystem to date. I caught up with the CEO Anthony Maley to learn about the technical journey.
Jon: Let’s get started. Who are you?
Anthony: I’m Anthony Maley, the co-founder and CEO of Vouch.io. I’ve worked in Chief Technology/Chief Architect roles for many large global companies, from the UK to Belgium and now in the US.
The co-founder of the company is my partner Sidd. I met him through an acquaintance here in Atlanta and he was looking to do something unique, to get away from his normal line of business. We were introduced and I thought ‘hey I really like this guy, he likes me, let’s pull a team together and go solve a problem!’
Jon: What is Vouch.io?
Anthony: Vouch.io enables you to authenticate yourself, by linking your identity to a device. It can also verify that you’re part of an organization or if you hold a certain role in terms of authority.
Vouch.io provides a way to identify any inter-connectivity, and verify that inter-connectivity from a security point of view, linking it to identities. All of this can be done offline.
We have initially focused on digital keys for hotels or cars. Everyone understands what a car key fob is and that whoever holds the fob essentially owns the car. With a traditional key fob there’s no way for the car to verify who you are and if you have authority to use it, for example to start the engine, or to open the trunk. With Vouch.io the car can make the necessary verification.
We can link your identity to your phone, and the phone can connect to the car as well.
Jon: Are you in production?
Anthony: Toyota is currently our biggest customer. We’ve had to go through every possible security or quality test you can think of to get into production vehicles. We’ve been in production with Lexus vehicles since December 2021 and we’ve had zero bugs in production and zero outage.
Jon: That’s so cool that there’s cars out there right now, Lexus and Toyota, that are using Vouch.io technology to verify the users?
Anthony: Yeah. What, we actually do right now with those cars is that we allow you to share authority to other people.
So I can say, you’re coming into town this weekend. I’m going to share authority for you to use my vehicle. We’ve got your identity and the car can verify it. It doesn’t need to be online at the time to do so.
Jon: You’ve mentioned blockchain to me, is that part of the secret sauce for making this all tick?
Anthony: It’s a combination. Having a blockchain and using our proof technology, but the layer on top to remove friction is designing what we call ’a graph of trust’. For each industry or company, each use case, there are identities for people, organizations whether they be employees, customers or friends. And of course there are objects that we can interactive with such as cars or hotel doors.
We’ve then got things like GDPR, compliance, privacy, protocols like Ultra Wideband, Bluetooth and NFC. We can create a graph of trust across all of that using our blockchain backend and the proof technology. Our logic builds on this to allow the graph of trust to be shared and verified. So it’s a combination of all of this that makes Vouch.io special.
Jon: That’s awesome. Tell me a bit about the tech journey.
Anthony: It all started with Clojure. One of the first blog posts I ever wrote for Vouch.io was around betting the company on Clojure and ClojureScript.
Essentially the whole team are ‘Clojurists’. We’ve bought into the benefits and the capabilities, so why use anything else? Clojure is really important because we want one source to write the logic. Clojure enables that.
At a conference, about a year after David Nolen joined us, he said that he couldn’t believe that so few people had got so far in so little time, and I do believe that’s all down to Clojure. It has enabled us to move quickly as a small team and it’s gone from there.
We have clients using libraries we’ve built, that have migrated onto firmware and are now all written in C. But that journey still starts in Clojure.
We’re doing some cool things with next generation NFC cards just now, that have a JVM on them. Inside that JVM we’ve got our proof technology running in Clojure.
Jon: Wow, a JVM on a NFC card!
Anthony: . We’re always looking for new ways to extend, detect, to open up different use cases. But it always starts with Clojure. And the fact we’ve got that core in Clojure means we can render it out into ClojureScript or go straight to the JVM.
Jon: What is your tech stack like? What sort of frameworks, tools, libraries do you use?
Anthony: LinuxKit has been revolutionary for us.
Jon: Could you describe LinuxKit?
Anthony: It allows us to rapidly deploy infrastructure configurations to our servers. We use it both on the cloud but also at the bare-metal level, without the need for Docker.
From an orchestration point of view, depending on who our customers are, we can plug our Linuxkit config into their orchestration and it’s been game changing.
Jon: How many developers do Vouch.io have?
Anthony: About 20 developers. A lot of those are working on client facing integrations, and in terms of core developers there are 8 assigned to product development.
Jon: What would you say is the experience level of those developers?
Anthony: Initially we started with a team of seriously experienced developers to build the core product logic, which enabled us to move quickly.
We’ve then got firmware teams who are all experienced as well. As we grow it will change; we now have a group of junior developers who are already quite skilled but growing all the time.
Jon: How do you manage strong leadership personalities working together?
Anthony: We don’t have type A personalities, rather just people wanting to work on a great product. The senior people will have strong opinions about direction but they also know the antipatterns that don’t work and what can slow you down.
Our engineers say that their favorite thing about Vouch.io, is working on a team that is so experienced, allowing each person to focus and to be productive.
Jon: Obviously you have a lot of integrations, what’s your approach to automated testing?
Anthony: Scenario based testing is something that David is passionate about. It’s something that even our newer members have taken on and built out across the product.
This is our secret weapon for quality. Every single scenario or possible outcome is tested and verified.
We also all personally test. This will get harder as we grow but for now it works. We see the bugs before anyone else sees them from a human usage point of view. Everyone from the core and firmware engineers, hardware people to my assistant, test the product all the time. This combined with the scenario testing is extremely powerful.
State of Clojure
Jon: What’s your view on the current state of Clojure?
Anthony: It’s interesting, things have gone quiet and it’s not like it was 10 years ago. Every year there was some incredible new thing coming out with new ideas and that has slowed down.
But I think that’s correct. It should slow down as the ecosystem matures. There’s still a lot of ‘Clojurists’ that come to us for roles and the numbers are getting larger all the time.
Obviously we’re fans of the language in general, but I do see more opportunity for it going forward. From a marketing point of view I feel there is an opportunity perhaps. There’s so many benefits to organizations out there and it could be pitched in a different way. Maybe there’s a missing narrative, such that enterprises can see the benefits.
I’ve been on the other side of it, trying to convince companies as an architect to use Clojure. It’s hard and maybe it’s your reputation that gets it over the line. There was a lack of resources to point people to, to help reassure and re-enforce the value prop.
Jon: Why did you pick Clojure?
Anthony: My history with Clojure goes way back to when I was working with Kristof Sajdak & Ray McDermott in Belgium and we were frustrated with Java at the time. We were in architect roles and Java just didn’t fit a lot of things that we were trying to do.
At the time there wasn’t a language out there that really worked. We tried Scala but that didn’t click. We all got excited at what Rich was putting out at the time and it really clicked with us. We tried Clojure and it solved a lot of different use cases.
Datomic was also another major breakthrough. Having this time-based database changed the way we thought about things from an emerging IoT perspective. This combined with Clojure and then ClojureScript was really the silver bullet for me. That was the thing that enabled me as an architect and as a CTO at that time to adopt it.
When we started Vouch.io there really was only one option.
Jon: Anything else that you’d like to add?
Anthony: We take Clojure as a community seriously and it’s a huge part of who we are.
We’re always looking for opportunities to find a way to educate and enable those that aren’t able to do it themselves. We want to be part of that as a company, to find those people who aren’t programmers so we can grow that knowledge, promoting our company as one that cares.
Open source will also be huge for Vouch.io. Krell is out there and doing well and we will be sharing more at the right time, all with the view of enabling others.
Jon: Brilliant. Thank you so much for your time Anthony, looking forward to seeing you at the next Clojure Conj!