Our #intervue series continues with an interview with Stefan Rasmussen, creator of grid.studio! This tool is a total Vue-ception: It's a website builder built with Vue.js that lets you build Vue.js websites with a drag'n'drop editor!
In this interview, Stefan shares how he pivoted grid.studio from being an event website tool to what it is today. He also talks about challenges and his stack 💪
About #intervues: This article series gives you insights about creators from the Vue.js community. You can learn about their journey, stack, and projects.
I’m Stefan, born and raised in Copenhagen. Been creating websites for the past 10+ years and have now settled on reimagining the website creation process!
I used to develop a ton of landing pages for bigger corporations, but it started to feel demotivating when these sites you poured your soul into only had a short lifespan. I therefore wanted to create a tool to streamline all this and ended up with a product that I could build upon instead. So refreshing!
At first, the idea was to build an ‘Event website’ tool based on Facebook data. I quickly realized I could pull all kinds of data out of Facebook and it turned into a ‘Facebook as CMS’ tool. I then started building an MVP of the website builder based on Backbone.js (about 5 years ago), but constantly hit walls as state-management was a pain.
Shortly after I saw the first release of Vue.js 0.11 on Hackernews, tried it and fell in love. Haven’t looked back since.
Keeping the runtime (grid.core) small and efficient has forced me to hand-code a bunch of tools, but I’m very proud of what I got so far!
All websites have a JSON structure that is converted to a Vue.js app with only 83Kb of code including styles. By far the smallest footprint of any website-builder or website in general!
The editor is hosted on Firebase to ensure seamless deployments and integration with Firestore (the database). From here all data is synced to a NodeJS based server handling domain and instant delivery of websites.
So full-stack JS, allowing the creation of Vue.js websites with Vue.js.
Trying two-way binding for the first time blew my mind! And Vue seemed like the perfect solution to all my pains in frontend development, so it felt very natural! Maybe because I also have a background in Flash (like Evan).
vue-form-generator has saved me a ton of time and is one of the few things I haven't had to reinvent myself.
Most components seem to be just wrappers of other JS-frameworks, which I don’t get as it's way easier (and more flexible) to implement directly.
Evan You is of course very inspiring, but the whole core team is doing an incredible job at a pace that really impresses me.