Skip to main content

← All videos

Vue.js Global conference: An interview with Filip Rakowski

August 4, 2020
Tim BenniksComposable architectureCMSFrontendProduct strategy

In this video I'm interviewing Filip Rakowski, CTO at Vue Storefront. We discuss his talk about Vue Storefront Next and we go in-depth on why they needed a Next version. After that we discuss how to monetize open source work and what it means for Vue Storefront to be a part of the MACH alliance.

This video is made in collaboration with the Vue.js Global conference. More details here: https://vuejs.amsterdam

Follow Filip here: https://twitter.com/filrakowski https://rakowski.dev/ https://www.vuestorefront.io/

Follow me here: Website: https://timbenniks.dev/ Twitter: https://twitter.com/timbenniks Github: https://github.com/timbenniks

#interview #vuejsglobal #vuestorefront

Transcript

for the second time this year i am interviewing philip rakovsky from view storefront this is the second time because i'm collaborating with refugees global conference where i interview the speakers so they can talk a little bit about their conference talk go into depth on the tag and then after that we can talk about whatever we want but with that beginning part the conference organizers can actually cut that out and use it as promotion so these intros are generally really long i'm just gonna not talk anymore and let's jump right in [Music] hello philip how are you hey good to see you man i'm really really good i had one week vacation so i'm refueled i'm back to work and i'm overwhelmed awesome this is how it goes right um it's kind of feels strange because we just did a whole fan fun intro and then the camera was weird but now it's good but now we're kind of feeling like anyways we're just gonna jump in right so um for the audience this interview is kind of for the refugees global event so we're talking about philips talk and then we go into depth a little bit about what he wants to talk about so the conference organizers can cut the piece out and use it for promotion and then after that we'll just talk about whatever we want so philip in that context can you talk about your talk for a bit yeah sure so the the title of my talk is introduction to viewster from text and i think it's pretty self-explanatory but you probably don't know what user from from texas i mean you know that but the audience doesn't know uh so viscera from tanks is basically a new version of gustavo that we're building for last couple of months i think since december last year i think that that was the first time we committed something to be served from text and we're really really close to releasing this and i think this talk will be the first ever introduction to this visitor from next and it also would be a great chance for everyone to actually see how it works see which improvements we have made and to those who don't know user for the doll uh they will basically get familiar with the whole platform okay so my next question was like can you give like an elevator pitch of what it is but you just did so maybe what you can explain a little bit is like why next and what is kind of inside the next that makes it next i will but i think i will make an elevator pitch because like okay cool uh i believe that if you're a developer and if you're doing anything related to e-commerce doing during your daily job view storefront is most likely a tool that could solve you a lot of time and a lot of money i think it's worth like checking the top at least to see the capabilities of the platform and to see if this is something that could potentially solve your problems or not uh okay so going from here uh to what makes it next and what changes we have made so basically we have started the building with surface i think three years ago something like that and you know when you're willing something for the first time it cannot be perfect and it's usually a piece of so you're iterating from piece of to something that is better and better and better based on feedback base your your own experiences also based on the fact that you're learning while you're building exactly so we were doing this we're iterating for two and a half years uh but at some point we saw that actually our architecture became a limitation so we were unable to apply all of our ideas that we wanted to apply based on this feedback from our community yeah also view vgs composition api came out ah yes that was that was kind of like a paradigm shift inside the frameworks and we knew that everyone will use composition api and to embrace it we had to actually make a really huge breaking change anyway so then we thought okay so if we have to make a huge breaking change anyway why don't we do a rewrite and fix the architecture so then it's more flexible and it's more future proof it's more modular and we are not limited by it so this is how we came up with mr front next and as you suspect from from from my previous sentences this is basically a new software based on composition api so instead of having a fully functional team play for applications where you have a webpack built when you have your own server set rendering where you have your own plugin system etc we are only building the composition api functions that can be used in any videos application so if you have an application that is already running on vgs you can for example use some bits of that to display your product catalog or to even include a card but all of that could be made within your currently existing application which was impossible for for the previously storefront on the other hand for people like majority of people i think uh willing to create their e-commerce stores with your storefront we are using nagedes as our main driver and this is really really really helpful for us because we don't have to maintain our own service at rendering plug-in system stuff like that moreover we can benefit from all the nexus js modules and there is a lot of them and each of them are really really high quality actually when i'm pitching with starfront to our clients right now it's much much easier because when they're asking for some specific feature there's usually a next module for that so you can just link it and tell them hey guys it's already there actually i had that a while back i was i was pitching through storefront to one of our clients and they're like yeah but i don't know them and blah blah blah and it's like dude but it's based on nuxt so any questions you have you can just go there and it calmed them down visibly in the meeting and that was pretty cool to see so that's actually a departure of what you had before right so the the new thing is that you have next as the core yes exactly and also people trust knives because it's a technology that is already there for a pretty long time a lot of people are using this also exactly companies like louis vuitton yes exactly that you have made uh so it's much easier to teach with such technology yeah and so um now that nux is coming out with this full static mode and their content mode and all of that stuff are you able to kind of merge your code base with that or is that still something that doesn't uh make sense maybe i think it makes sense perfectly because as i said like vista from next right now is just a set of functions whether using composition api so they in theory they could fit in any context of course like you know when you're making an e-commerce store i i don't see that much value in using using class content for that usually there is a huge marketing team that is using some headless cms yeah exactly sure for that so next content is more like more like a thing for for developers yes yeah okay but obviously like everyone can benefit from everything that max is bringing right now so this is really cool exactly and um you actually use the composition api really early on because i remember you told me like whoa they they just like released the beta or maybe it was even a bit before and you're already trying to use it with a plug into a few too so it was still working so that's like super bleeding edge but you're making a product big store you're using right so how did that work what happened there yeah so like i think we started using composition api as soon as the plugin came out so it's not even properly tested it wasn't even like to be honest it wasn't a very wise decision but it was the only decision that we're able to make because when you're building something on the old apis and you know that there are new apis that will be a standard building on alt apis is basically saying that okay so we are building something that is already updated yeah exactly that doesn't work but the risk of using composition api was that at the time of finishing this it won't be stable enough to actually push to production fortunately it is right now but for a very long time it was our huge concern because we we started using that and there was no way to make it uh work with uh server-side rendering for example oh yeah exactly and so now is this is this all fixed now is it all working yes more or less even though still like in inside the codebase we have a lot of our own workarounds for example like picking the server-side state on on the client side was really tricky and we have our own homes for that but we're slowly writing rewriting all of this to what tax provided because they are they have released the next composition api module yes composition yes composition api functions that are basically making it possible to use composition api plug-in within max environment seamlessly i kind of love that you're serving the wave of uncertainty but then you are still on the top of the game there's more and more companies using your tool so with that in mind that all these companies use it right so if you ship this as like a little box with the next what is inside do you have like the storefront ui or how how opinionated are you in the package that you give so like you serve from next is basically a set of independent packages which could be used all together or standalone and you are basically choosing what is in your stack so most of the clients right now is choosing the full stack so the full stack is containing first the api client for each integration api client is something that is completely frame or agnostic and just like a tiny tiny abstraction layer over a network course this is pretty useful in some node scripts and stuff like that and also we have this composition api functions which are using the api client and this is this this is basically something that's like 99 percent of the people we will use all together okay and the heart from yes and apart from apart from that you have next module our own next module that is doing a little bit of enhancements mostly related to performance so we are using es modules of of our integrations for free shaking we are using core source of storefront ui stuff like that and then you have storefront ui with a team so if if if he wants to scuffle the application with ready to use team then right now we are forced to use the front ui but in the future we are planning to also have kind of like a clean version of the team where you will have all the all the javascript code but there won't be any uh there won't be any css and the html markup will be just as small as possible just for uh to keep the functionalities working ah this is what i like because honestly in my day-to-day work i see this all the time because i work in enterprise right things are big and expensive and slow and what we tend to look at like this is this is the question we always see and we'll come to that a bit later when we discuss mach because basically we we have the difference between best of breed and best of sweet right and generally projects are we choose best of sweet just because it's less um haggling about contracts and stuff but when you get this best of sweet approach let's say you have an adobe aem or a site core you always get this whole chunk of stuff and then when we see that bunch of code we sometimes say hey but that doesn't really work that's a bit weird and then the company says yeah but you don't have to use it it's just something we provide but they don't always realize that basically 99 of people when they have this super expensive suite they will just use whatever you give them because they think oh it's expensive you've worked on that for years this is basically the best i'm gonna get so i'm kind of assuming you're gonna have a similar approach there because you do the storefront ui you have all the connections in between and you just say okay here's the package go and you might say yeah but it's only for reference take it apart and someone like me i would take it apart but not everybody is that has that skill set right so not all teams are like that so do you see any sort of complaining from people about this uh well where you do the same as those big companies no actually like everyone are pretty excited about this because for user front one we're shipping this huge huge package where everything is bundled all together and there's no other option than picking the default team with vista from the api and basically then rebuilding it and to be honest we lost we lost few deals because of that because we start from like the the current version it's really really advanced it has a lot of features but not everyone needs them okay so in e-commerce a lot of stuff isn't there's like a lot needed in e-commerce right so you better ship everything because i cannot tell you how often did i rebuild this like the product page with like an image for the product and some small thumbnails so you can click on the other product or a variant selector we keep building that and i think i've probably built like 15 of those for global brands and they're all relatively same the same so if we have a few storefront that gives us that that works with accessibility and everything actually that's really cool yes exactly like this yeah this this this is why we are shipping storefront ui because this is kind of like bridging the gap between having e-commerce functionalities and having e-commerce store because for for the sword and these are usually more or less the same to be honest like they they want accessibility they want it to be fast they want it to be user friendly uh they don't want it to be ugly they want it to be customizable and for like for big brands they also want to have a possibility to have a more or less single code base that is shared between different brands and then components has to be customizable for for for each brand so like that was the reason why we introduced store from ui and that's the reason why like the biggest clients that we have currently most of them chooses to to to use their front ui because this is actually the tool that is solving their problems but like small smaller clients or if you want to embed something into your website you probably don't need that and because because of that we are shipping this composition api functions which have very declarative api that is more or less like focus on getting things done like view is yeah exactly so this is this this is more or less impaired with like view way of thinking about building software you don't want to go low level because what what i witnessed is that all these ecommerce stores that are built basically have more or less the same code but it's still the code that is written on the low level yeah exactly so we're repeating repeating the same thing on on each headless store so why you have to repeat that why can't we create a declarative api that is telling like place an order up to cars without additional that you have to configure for example to make it work and then provide a configuration that you can use to actually configure those things but the defaults should be like you're injecting the library you're invoking the function and everything is working so that that was our goal and i think such things are not present in e-commerce landscape right now it's it's pretty over complicated um i think maybe it was two or three weeks ago i on linkedin i don't go on linkedin that often but i saw both of you saying you are now the cto of your storefront that's cool man it sounds like fancy title i think you have been a cto since your co-founder it's your app but now it's official so can you tell me what that means is that a change in the company a change for you what is this yeah okay so it this this is pretty exciting stuff uh i i wouldn't say i wasn't i i was a cto for all the time i was kind of like a junior cto for most of the time but like to answer this question better i think i have to put a little bit of like historical background uh so right now this storefront is still a part of an agency vivanta yeah yes and we're constantly growing since the beginning and we are at the stage where being a part of an agency started to be a little bit problematic so don't get me wrong like it's not it's not juventus it's basically uh the problem is like imagine being an agency and supporting some software that is part of the other agency which is your competition yeah so if you if you like the software and want to support it you're ending up supporting your competition so we don't want to put our partners in a situation where they're forced to support their competition one way or another so this is why we're spinning off from development and also if your e-commerce vendor you also don't want to favorize any any agency above others because others would actually be pissed off yes uh so if you suffered right now is i think like the biggest software of its type in the world which is crazy but this this is also a new segment so which makes it like less crazy fortunately well you created the segment to be honest i don't know any other tool that does this at least not on the same level where i i i think we are the loudest ones yes and i i think that was a very good move yeah definitely actually uh so we have to spin out from devante and obviously like uh we because we are spinning off the company cannot be led by the same people that are leading de vanta so i i co-founded wester from two and a half years ago together with joshkarvatka and since then i was already like i was always actively involved into the technological part of the software but not only technological uh and i think i was kind of like a natural choice for for a cto even though i think like my current and soon former boss builders have put a lot of trust in me and it was kind of like it's always a bet because i i wasn't a cto before yeah but i will do my best to do the job right and i think i i'm not sure if i have the qualities the time will show but i definitely know like where i would like to see you still front in the future and i definitely have a vision for that so let's see if that will work um you know what what's an interesting part is i i've worked lately with more startups just helping with a bit of consulting or stuff like that or discussing partnerships and basically all of them have a different idea of what is a cto so if you are not a company like fall tech or accenture a cto can basically just be a tinkerer or someone who's the the brain behind the stuff and just says let me go to my basement and code this stuff you can also choose to be more the vaultec type which is more organizational focused and which is more sales focused like you can go anyway so i would say it's going to be a success no matter what you choose because you can make that role right if you have a vision run with it so um right i just mentioned it before we have this mac alliance which is like a new thing it's like an alliance of multiple companies that came together that are all in the same sphere as few storefront and you guys joined this but would you mind explaining what the mach alliance is and why you guys joined and maybe is this part of your vision also yes it is definitely part of our revision so like my alliance in in in short words is kind of like a movement that is conceptually concentrated around uh evangelizing and promoting and using of course modern approach to unique commerce software so like what this mac is standing for is m is micro services based then a is api first c was uh cloud cloud native i guess uh and h was uh for headless exactly so this is basically an modern e-commerce stack and why this is important i think this this is really important not only for us as the developers because like developers obviously know uh the value of modern technological stack but also for the merchants because the old approach the the monolith approach and the single single vendor approach was working in a way that you were choosing your ecommerce platform and if you weren't satisfied with uh with some certain features of the commerce platform you were basically either has to wait for for for them on the roadmap or provide feedback but basically you're locked in to your vendor capabilities yeah excellent there was there wasn't much you were able to do with that so if you will approach this from this modern way you have a full flexibility of choosing all the third-party services that are actually fitting your requirements the best so let's say you don't like the way how your order management is working so if you're using this modern stack and headless apis it's pretty straightforward to actually just use another service for that specific piece and by doing this basically your e-commerce platform is becoming kind of like a skeleton for your applications and on top of that you're choosing the services different services that are focused on very small pieces uh that are fitting your needs best and obviously like your business is also growing your business is also changing so you're most likely changing your technological stack over the time and you will probably be constantly changing your technological stacks and you know tweaking some pieces something is not working well uh something has changed the pricing you know stuff happens and what is very important in e-commerce industry i think is flexibility and and the mac approach is giving us flexibility okay so then the the the goal of the group is to eventualize this approach of work i imagine right okay so exactly who else is is in the mach approach or in the alliance so many many companies and more more of them joining some so we have not only e-commerce vendors like us but also e-commerce agencies i think one of one of the founders is also vatic where where were you working yeah we are basically one of our founders i think i'm assuming i think we we started it with some others yes this this is also what what i have seen there are also cms's like empires there are also e-commerce platforms like commerce tools which is also one of the far founders yeah so this is a really really big movement and all of this ecommerce vendors and commerce agencies they're cooperating and evangelizing together also pitching together it's much easier actually you know to pitch this modern approach when you have all the all the pieces so you know client is asking for a cms there is a company in my alliance for cms you are asking for order management there is a company asking for order management and you are sure that they are 100 percent hands-on into this movement so it's it's it's much safer actually to recommend them honestly i love this this is a great approach because it's kind of what what what i'm noticing in the where i work in this enterprise level stuff is that it's really scary for big clients to choose smaller companies and because they are already locked into the vendor of like a big thing like a big monolith with the whole suite of stuff and every time we pitch it was really hard to actually get across like there is an alternative that might be cheaper or better for the environment or stuff like that so actually this alliance now gives it some sort of credibility that's what i feel it does yes exactly and it's also kind of like a great journey for partnerships like once we joined the mach alliance some companies from the alliance approached us and asked like hey guys do you want to make an integration then do you want to write a blog post together or something like that so it's also a really good opportunity to actually collaborate and to show some real examples of how powerful this this approach could be together we have pretty pretty huge companies so it's yeah exactly really really really cool stuff now that you are a cto and you're you're slowly splitting off from difante right but you're building this open source tool but how are you funding your company how are you able to pay the salaries of your people yeah so that's that's the tricky part yes and this is probably also based on how you see your future right there might be different choices to be made here yeah i think like the big biggest issue of all uh open source maintainers is how to make money on this yes it is because like from from from the one point of view when you're very open and when you're giving away a lot of stuff for free people are excited about this people are trusting you people like this approach and you can be very successful with this with this approach and we did that but if you give away too much and don't think about earning on this from the day zero you might end up with a situation where you have a very successful product but there's no way to earn money on this because you have given away so much and like we are coming from the from an agency so it wasn't our problem for a very long time because we're basically earning on the services so we are only promoting the storefront as openly as possible the license was mit yeah everything was for free uh and we as a company were earning on actually the fact that we are originators we are creators of the software so then we can provide the best possible services yes yeah so you implement the stuff that was how you made the money yes yes but right now we are speeding off and we have to find another business model yeah like fortunately yeah fortunately this is not something that you know is is this is this is this is not something new like ernie open source and there are very good examples of companies that have made that and fortunately we are also fitting more or less into the same pattern than everyone so when you have a when when you have an open source software you can't compete with your open source uh offering that's the worst thing you can do because you will piss off the community and then you will be like competing with your own community and it's it's it's a very good idea so it's much wiser actually to find places where your community for example is struggling with uh like hosting like some consulting like training stuff like that so then you could provide additional services on top of your software while still supporting software there is a great great podcast it's called open source underdogs okay where uh a very prominent personas of the open source world are interviewed and all of them are basically telling about their business models and how they're earning money etc so that was also our approach to find actually what our users are struggling with also what clients are struggling with and what open source version cannot provide for example for enterprise users even though open source is a big plus they they need they're lacking this this uh this trust to the software because it's maintained by a lot of people when something goes wrong actually who will be responsible for this yes yeah man i'm always talking slas contracts services professional services all the crazy stuff that's the first thing my client will ask yeah exactly so that's another thing that we could provide we could provide a services that are actually hosting this we store front and that are providing adjustable services around this so when merchants are choosing this they can be very confident in this choice and they know that if something goes wrong there's someone who will handle this and the someone is actually creating the software so we are sure that the quality of the service will be high oh yeah that's all right yeah so this is our main uh main main goal to have a cloud version of this storefront where we are offering this additional services we also want to add a visual reader on top of that uh also a builder that is meant to customize those web components so i really believe that like in a year or two from now we'll have a very very competitive platform that will actually enable americans to to to use vistaphone as the last front-end they would ever need evangelize so give me more give me more i'm just kidding yes so let's imagine that you you have a very small business right now we are we are pitching only to enterprises with this vista front pro or vista front enterprise actually the name is established even though the product is there the names have established so imagine that you're a small merchant and you're you're creating a store on this on this vista front cloud and you have a visual builder then you have a visual picker of the cms of uh some payment gateways etc everything is made usually yeah and at some point your business is growing and those out of the box features are not enough because you're using v storefront you still have full control over the code so you can go a little bit deeper change some components from the course perspective maybe add some more so this video will be there and you're good to go for some time then you're it is getting even uh more advanced so you can still access the code so you can beat your own integrations that are not in the marketplace and at some point you you will probably end up with a fully custom solution but from from the day zero to the moment when you're a huge international company you don't have to change the front end because like you still have access to everything everything is configurable but it's configurable on different levels so this this is what i believe is is the future uh of obviously it sounds great you know what this this sounds like you have to just release the next version let people run with it and in a couple of months basically i'd love to interview you again and then in the second half of the video you're just gonna show me some stuff about your new products because i feel like i can already sell few storefront easily like people love it already imagine if it's more mature and you can actually have a hosted version and you can have good connections to let's say story block stuff like that or how that works with next you know i'm really excited about this this is cool stuff man yeah yes yes and you see like when when you when you're that that's also one of our problems that when you're a developer and when you are pitching a good software to developers they will always see the value but to be honest we have trouble switching it to the business people yeah because when when we're pitching it to the business people we we often get asked like what is a cms yeah sure so what exactly yeah so that yeah so that could be problematic and this is also the reason why we created this cloud because business people just want to hear that everything will be will be taken care of yeah they want to be trusted they just want to say give me this thing i'll give you a shitload of money and it just works this is kind of the approach yes exactly exactly so right now we have a pretty vibrant community of developers and now we want to and like make this community work more welcoming for for people that are not directly developers but let's call them like technical marketers yeah and also business owners cool man i think that's a really nice end to our conversation i really want to thank you for joining and for explaining this a little bit more technically and i hope that people who are not super technical still look at your talk and actually start to understand the potential of the platform so thanks again for your time and this is super cool thank you team thanks thank you thank you i really hope to see you soon in person when you can again yeah i really hope too maybe not in the individual sounds this year but maybe next year yeah exactly all right man see ya cheers bye bye hey