illustration for Ives Van Hoorne, creator of CodeSandbox

episode 18

Ives Van Hoorne, creator of CodeSandbox

We are joined by Ives Hoorne, a developer at Catawiki and creator of code sandbox. Today he talks about how he began writing code, how Minecraft modding made him love it, his interest in the company Catawiki and how he taught himself web development to work there, and finally the future for his projects.

Ives began coding at 11 years old. He was fascinated by secret languages, so he and his friend made a program in Visual Basic that would jumble text and another that would decipher the text. They would send these to each other as public facebook messages. It fell off after this project for awhile. After a few years, Ives got back into it when Minecraft came around, and he started writing mods for it.

The success and popularity of Code Sandbox made Ives happy. He enjoys how it became popular and how some of the bigger names such as Dan Abramov started talking about it. Though Ives discussions about how
this positive feedback caused him to attach his self-worth to the project, and how he had to let that go
so he wouldn't be hurt by snarky feedback and other forms of negativity related to his project.

There were a couple of surprises in the development of Code Sandbox. Code Sandbox stores all files and directories in their Postgres database. When they fork Code Sandbox, they copy all the files, directories, and sandboxes over. Ives thought this wouldn't scale but somehow they now have 400k sandboxes, and the database is only four gigabytes! One of the negative surprises was when there was
an error in the sandbox when someone tries to share their sandbox, the preview service would try over and over again to take a snapshot.
The following month their hosting bill was a dozen times the price as it usually was!

Ives' first experience speaking at a conference was much better than he expected. When he was presenting, he noticed that he was talking
with a bunch of people who were willing to listen to him. It was such a cool experience for him that he now loves speaking at conferences for him. Ives says he wants to start talking about things besides Code Sandbox,
such as UI driven development for example. He says that it can be greatly improved, npm installing is still manually typing npm install package-name. He says that this can be made much better by being able to search for dependencies and directly add them with a single click.

Finally, Ives talks about his plans for Code Sandbox. He plans on adding a dashboard because currently, it's very cumbersome to navigate to your sandbox. The dashboard will give you the ability to put sandboxes
in directories organizing them that way. They are also managing offline support. Finally, they are adding team support so multiple people can all work on a sandbox at once.


Resources

Ives Van Hoorne

John Lindquist:

Transcript

Ives Van Hoorne: Hello everyone. Yeah, my name's Ives. I'm a student at the University of Trent and a software developer at an auction website called Catawiki. Oh, and I built an online editor called Code Sandbox.

John Lindquist: Which is the best online editor out there. Just he's too humble to say so.

Ives Van Hoorne: Thank you.

John Lindquist: That's how Ives and I met. And as I started using Code Sandbox and we use it a lot on Egghead as far as being able to host demos and importing directly from Get Hub into Code Sandbox. I kind of bug him sometimes on Twitter if some new view feature isn't supported. So how did you get started in development? What was your first experience with writing code and inaudible 00:00:48?

Ives Van Hoorne: Oh, that's a pretty interesting question. So when I was much younger, when I was eleven or something, I was very intrigued by secret languages. So that I could exchange messages with a friend and no one else could read them.

John Lindquist: Okay.

Ives Van Hoorne: So my first, kind of project was building a translator that would take normal text, and give you back something that was not readable, and then if you put it in the other translator, then it would give you normal text again. And so we started sending each other Facebook messages, public Facebook messages with this secret language. So that was my first experience with programming.

John Lindquist: Interesting. What sort of language or I don't know, what did you use to build that?

Ives Van Hoorne: That was in a visual basic.

John Lindquist: Yeah, okay.

Ives Van Hoorne: Very old language.

John Lindquist: Yeah, I mean, I know most of... A lot of people's first experience is just writing scripts inside of Excel. You know, updating values and spreadsheets. They don't realize they're programming, but you know, you are.

Ives Van Hoorne: Yeah exactly.

John Lindquist: But it is.

Ives Van Hoorne: Yeah, that's actually true.

John Lindquist: So where did it go from there? What was your first job?

Ives Van Hoorne: Okay, so after I built this translator, I stopped programming. I didn't program for a couple years. Then Minecraft came along and I started building Minecraft mods, and that was my first real proper introduction to programming. I started programming Java, and later on I saw a company called Catawiki. So that's where I'm also currently working. I was really enthusiastic about this company. I definitely wanted to work there, so I started learning web application development. I started learning angular, and I built a portfolio page. And normally portfolio pages shouldn't take that long, but I spent like four months on building that portfolio page so that I would get a chance of working there.

John Lindquist: Okay.

Ives Van Hoorne: So I sent that to them, and they asked me if I could work there for ne year, full time, and it was right after high school so I took a leap year. I worked there for a year, and then I started going to university, and that's when I started building Code Sandbox. So that's kind of been a global view what happens in the past.

John Lindquist: Oh, interesting. That's a pretty quick jump from Minecraft mods to web development. What was so appealing about, did you say Catawiki?

Ives Van Hoorne: Yeah, so Catawiki is an online auction website, which sounds very boring, but it's pretty cool because they have very Polish flow of when you submit an item, auctioneers check it and really weird items get submitted as well. It's like high quality. So the first script of Game of Thrones was auctioned there, some hair of Napoleon, a skeleton of a dinosaur is auctioned there. But the thing I found most interesting was that I lived in this very small city where nothing happened, but Catawiki was based there, and it was the fastest growing company of the Netherlands. And later on, the fastest growing company of the world. That all happened in this super small city, so I was very intrigued by this company, so I wanted to work there, to get the experience of like a fast growing company.

John Lindquist: Cool. That's awesome. So you're mostly... Can I ask what your education was like as far as learning? Did you buy a bunch of books, did you just trial and error?

Ives Van Hoorne: So I'm the type that likes to learn by trial and error, so if I wanted to learn a new language, then I try to find a project built with that language. So I learn that way, and that's actually also why I built Code Sandbox, I wanted to learn Elixir and Phoenix. Elixir language, so I built Code Sandbox with backgrounds in Elixir and Phoenix.

John Lindquist: That's a very ambitious project to learn a language around.

Ives Van Hoorne: Well, to be honest...

John Lindquist: Usually I'm like, I will built tick-tack-toe.

Ives Van Hoorne: Yeah, that's true. But actually when I started building Code Sandbox, it was supposed to be a component editor. So I never started Code Sandbox with the idea of building this online web application editor.

John Lindquist: Right. Well here you are though. That's pretty crazy. So Code Sandbox has been around for how long now? A year and half? Two years?

Ives Van Hoorne: A year and a month, currently. Yeah.

John Lindquist: A year and a month? That's it?

Ives Van Hoorne: Yeah, so we released it at the beginning of April. So one year and a month. Almost one year and two months now. Yeah, lots has changed in the past year. So much has changed.

John Lindquist: So what's that been like, writing the... I mean, it's an amazing product. What's that been like, kind of writing the success of a project like that?

Ives Van Hoorne: Well, it's interesting. When we released Code Sandbox, it got much more popularity than I initially expected, and that was really cool. I was super happy with the result of that, and people started giving very positive feedback and people started using it, and I was very happy. Also people I looked up to, like Dan Abermostar started Tweeting about it.

John Lindquist: Yeah.

Ives Van Hoorne: But people also started messaging me because of Code Sandbox, and at some point I felt that people started to like me because of Code Sandbox. So I attached my self-worth to Code Sandbox. So whenever Code Sandbox would do good, then I would be very happy. But when someone would leave a snarky comment on Code Sandbox, then I would kind of feel sad.

John Lindquist: Right.

Ives Van Hoorne: I didn't realize this until six months after Code Sandbox released, and that's when I learned to work with separating my emotions kind of from Code Sandbox. But not too much that you don't care, but enough that you don't get hurt by people that leave bad feedback. For example, like negative feedback on the product.

John Lindquist: Yeah.

Ives Van Hoorne: But it has been a rollercoaster. It has grown so much and especially the last few months, more and more people are using Code Sandbox, and we are getting more and more emails, so that is super cool.

John Lindquist: Awesome. So what was the first language or first framework you supported on there? Was that...

Ives Van Hoorne: React.

John Lindquist: React.

Ives Van Hoorne: Yeah. We initially supported React, and we wanted to focus on React only at the beginning to keep our, kind of scope low. So that I wouldn't have to build a lot of stuff and get too much feedback on it.

John Lindquist: Right.

Ives Van Hoorne: So first, on React when we thought that React was polished enough, we started expanding to, for example few and react.

John Lindquist: So did you know React before building and editor for React? Was that your primary focus? Okay.

Ives Van Hoorne: Yeah, I knew React before I started... Actually that was the reason that I built Code Sandbox because I was on a vacation to a village St. Ives. I was still working full time for Catawiki at that moment, and I got a lot of questions from a co-worker about React, but I didn't have my MacBook with me. So I wasn't able to answer the questions, so that's when I started thinking like, what if I would have my locally inaudible 00:08:04 environment everywhere. And the next question was, what if I put it on the web. So that's kind of the spring of the idea of Code Sandbox.

John Lindquist: You're so much more ambitious than I am.

Ives Van Hoorne: I mean, the crazy ideas are always the most fun to work on, right?

John Lindquist: Yeah, that's certainly true. What was the initial tech stack of Code Sandbox? Was it React and Elixir? Was that...

Ives Van Hoorne: Yeah, so we had a React front end, then the preview was in vanilla java script as a separate application. And the back end is an API with Elixir in the front, and we used Postgres as database, and Redis for some caches. Later on in development, we started adding some simple microservices that were written in Note.

John Lindquist: Okay.

Ives Van Hoorne: And that's our current tech still.

John Lindquist: Okay, so you're still in the same tech stack. What sort of surprises or disappointments, or weird things have happened kind of along the way?

Ives Van Hoorne: Well, the surprising thing is, is that we save all files and directories in our Postgres database, and when we fork, we literally copy all the files and directories and Sandbox over. I was expecting that this wouldn't scale, but we now have like 400 thousand Sandboxes and the database is only four gigabytes in size. Which I still have trouble believing because we have 2.5 million files stored in there.

John Lindquist: Right.

Ives Van Hoorne: But it scaled surprisingly well, and I have inaudible 00:09:42 reason to kind of de-duplicate code works in a database. So that's a really cool thing.

John Lindquist: That's a pleasant surprise. You were expecting it to fail, but it's what stood the test of time?

Ives Van Hoorne: Yeah, exactly. It was... Yeah, it's much better than I expected. We also had a very big surprise in a kind of negative way. Later on, we created a service that would take screenshots of Sandboxes. So when people would for example, share this Sandbox on Twitter, then we would show a screenshot of the preview. But the problem was, when a... We did this with server less functions, by the way. A server less function would take a screenshot. But the problem was, when a Sandbox would have an error, then the server less function would run for like 300 seconds, and then try again over and over. So suddenly we had a bill of like five hundred dollars on hosting costs, while it should be like forty dollars for the screenshot. So that was kind of a negative surprise. But it was a bug on my side. I should have just had it fall back to a different image when the Sandbox fails to load. But yeah, that was a negative one.

John Lindquist: Yeah. Bugs that actually cost money are the worst kind of bugs.

Ives Van Hoorne: Oh yeah. Those are the worst. Or bugs that bring the servers down and such. That's also very gnarly.

John Lindquist: So what's the experience been like speaking at conferences? How many... Was React Europe your first one or did you speak somewhere before then?

Ives Van Hoorne: Yeah, I spoke at... My first stop was in October at Cybe Day Berlin. So I had to say a hosting company, but much more than that, they have shown many open source projects, including Next.

John Lindquist: Yep.

Ives Van Hoorne: And I got asked by Guishermo somewhere in August to speak at the conference, and I had never spoken at conferences before. So I immediately got nervous already, but I decided to accept the request regardless.

John Lindquist: Yeah, you gotta go for it.

Ives Van Hoorne: Yeah, right. The experience was so much better than I expected. I was nervous for it, like two weeks before a conference, I was already nervous. And I would get extra nervous when I saw other people presenting. But then when I started presenting, I noticed that it was just that I was talking to people, and they were listening, and they were willing to listen. That was such a cool experience that I now love going to conferences. So I've done some other conferences after that, and recently React Europe, which was also very cool. But yeah, conference speaking is actually much more fun than I initially anticipated.

John Lindquist: Yeah, it's a completely different experience when you're the expert on the subject. For example, like you could teach and talk about Code Sandbox because you're the one who built it, right?

Ives Van Hoorne: Right.

John Lindquist: So you're completely confident in what you say because you're the one who put it all together.

Ives Van Hoorne: Exactly.

John Lindquist: I think a lot of people fear the conference because they're not the person who built the thing, and they'll get up on stage and realize well, maybe I don't know everything. Maybe someone's gonna say I'm wrong. Maybe I'll state a fact wrong, and then someone will quote me, and then you can get all these concerns because you're not the person who did the thing. But like you, I think it's much more comfortable.

Ives Van Hoorne: Right. It's also super nice to talk about something you've built yourself, because you are enthusiastic about it.

John Lindquist: Right.

Ives Van Hoorne: And you're kind of dying to show other people what you've built. And that's very nice. But still, I think that talking about some other concept, yeah I can very much see that it would be very scary. But I think it could also be kind of good excuse to get really good knowledge in that field.

John Lindquist: Yep.

Ives Van Hoorne: I'm actually planning to... I want to speak more about other things and just Code Sandbox because now I've only done conferences about Code Sandbox. But in the future conferences, I want to talk about things like developer tools driven by UI, for example.

John Lindquist: Oh cool. I'd watch that.

Ives Van Hoorne: Oh, thank you. Thank you very much. That's something that can be improved by a huge margin.

John Lindquist: Right.

Ives Van Hoorne: People are now using the terminal and their code editor, and with Code Sandbox, we're already trying to make it a bit better. Like, we have a UI for almost every configuration and for every action that you can do. But this hasn't happened in the local development yet. For example, MBM Installing is still MBM Install or yarn add. While a UI would be perfect for this. While you can just search for a dependency and add it with a single click.

John Lindquist: Right.

Ives Van Hoorne: That's something that I'm very enthusiastic about.

John Lindquist: Yeah, for sure. That'd be pretty cool. Can't wait to see it. If anyone's listening and they've been offered to speak at a conference, I think you guys will back me up on this.

Ives Van Hoorne: Absolutely. Yeah.

John Lindquist: Just go and do it. Because it will open up so many opportunities. You'll meet a lot of great people.

Ives Van Hoorne: Oh yeah.

John Lindquist: It's an awesome experience.

Ives Van Hoorne: Yeah, that's one of the best things, meeting so many people. Especially if you're an introvert. Normally when you are at a conference and you need to approach people and talk to them and introduce yourself. But when you've given a talk, people will approach you. So if you're an introvert, that's kind of the perfect opportunity. And you meet so many cool people. I think it's one of the best things that I have done in the past year, speaking at a conference. Not just because of the content, but also because you have... It's a whole new experience, and I think everyone would like it.

John Lindquist: Yeah. For sure. So do you have any future plans with Code Sandbox or other things you want to share?

Ives Van Hoorne: Oh yes. Yeah, yeah, yeah. We're now working on a dashboard. Because managing Sandbox is super cumbersome right now. You have to go to your profile, and then go through a list of Sandboxes. So we're working on a dashboard where you can put Sandboxes in directories, and organize them that way. That's one of the biggest things. We're also working on offline support, so that you can use Code Sandbox without a network connection and create new Sandboxes. That's a second thing we're building.

John Lindquist: Awesome.

Ives Van Hoorne: And we're building team support. Because there are many companies that are interested in using Code Sandbox that they have a team at the company, and everyone wants to edit the same Sandbox. And we want to make that possible, so we'll add teams to Code Sandbox as well.

John Lindquist: Wow, that sounds great. At what point does this become a full time job for you? I mean, it seems like...

Ives Van Hoorne: It's kind of full time for me already. At my study, I'm not applying for lectures anymore, so I have around forty hours already to work on Code Sandbox.

John Lindquist: Okay.

Ives Van Hoorne: And we even started hiring someone from May, full time to work on Code Sandbox. So it's really starting to become something bigger than the site project.

John Lindquist: Yeah, it certainly deserves it.

Ives Van Hoorne: Thank you very much.

John Lindquist: Yeah, no problem. Any future conferences or places people can catch you at, or meet you, or say hi?

Ives Van Hoorne: Next week I'll be at a conference called Fuge S Barcelona.

John Lindquist: Okay.

Ives Van Hoorne: After that, I'm actually not planning to go to conferences just yet. But I'll be moving to London at the end of June. So if people are in London, and ever want to meet up, that would be super cool.

John Lindquist: I'm sure there's some great meet-ups there.

Ives Van Hoorne: Oh yeah. Yeah, I've seen so many messages already for meet-ups in London. That's super cool.

John Lindquist: Awesome. Well, thanks for chatting with me today. It's been awesome talking to you. We've chatted a lot on Twitter, but never in person.

Ives Van Hoorne: Yeah, that's right. It's likewise, was great talking.

John Lindquist: And thanks for listening everyone. Everyone out there have an awesome day.

More Podcasts