This week I got to speak with Hakim El Hattab. I feel pretty special as Hakim told me he doesn’t do public stuff very often. I get it! He’s a busy man with a family, a successful company, and ambitious other projects. I think of Hakim as the master of simple but satisfying UI concepts that have a way of becoming bigger than demos. Consider Ladda, which you can find as part of his personal site, which is a button that expands to show a spinner. This concept started with Hakim and has now made its way to surely hundreds or thousands of websites, some as big as Slack and some as awesome as CodePen itself.

Time Jumps

  • 00:26 Guest introduction
  • 01:09 Reveal.js and
  • 06:22 Working in the developer niche
  • 08:02 VC investing vs lifestyle business
  • 10:02 Kodemo development
  • 19:36 How do you decide to work on side projects?
  • 21:54 Sponsor: Equinix Metal
  • 22:32 Having fun while building Slides
  • 26:22 Having fun as a marketing effort
  • 30:26 Recognizing strengths for marketing

Sponsor: Equinix Metal

Equinix Metal’s Startup Partner Program helps early-stage companies level up. Their experts work with startups like GenesysGo and Cuemby to build their competitive edge with infrastructure. Equinix Metal provides real-time guidance and support to help startups grow faster. With up to $100,000 in infrastructure credit, access to Equinix’s global ecosystem of over 10,000 customers and 1,800 networks, they might just be what you need to take your startup global.

Visit to take your startup to the next level.


[Radio channel adjustment]

Announcer: Today, on CodePen Radio.

Chris Coyier: Hey, everybody. CodePen Radio, and we have a long-time acquaintance of mine. Although, I don't think we've ever spoken. We were trying to reminisce and see fi we've ever crossed paths in real life in a meaningful way, and I don't think we have. Hakim El Hattab. How ya doin'? Thanks for joining me, Hakim.

Hakim El Hattab: Thank you so much for having me. I'm really excited to join you.

Chris: Yeah. Yeah. It was just amazing that we haven't because we're both related to do interesting front-end things online. Then both kind of started companies. We just had some similar journey aspects in many ways.

Hakim: Yeah. We've had a lot of overlap, I feel like, similar acquaintances. A friend of mine worked at CodePen. There's just--

Chris: Yeah, that's right.

Hakim: --a lot of overlap. Yeah.

Chris: I try to make this not like "This is a hardcore interview." This is fresh air.

Hakim: [Laughter] Sure.

Chris: I'm going to ask you all the things about that, but it's interesting to think about some of the things that you've done (to set the stage a little bit). One of the big projects that will be forever associated with you is Reveal.js and its transition into Both still look/sound like kind of active projects and how interesting that is. Maybe we'll just go there and then go on either side of it and talk about history and that. Let's do the slides thing because I just love that. I don't know. I love that it exists. Tell me.


Hakim: Yeah. I mean I love that it exists, too. It's kind of what I dream about starting. Now here I am.

Looking back, I just always wanted to start my own business and work for myself. I had no idea how that was going to come about. I had no moment of inspiration where all of a sudden I woke up and I built this thing.

It just happened very, very slowly over a long period of time. It started, like you said, with Reveal.js.

Chris: Yeah.

Hakim: An open source project for creating HTML presentations. That started just because I was giving a talk at a small meetup in Stockholm and, at the time, you had to actually pay real money for PowerPoint or Keynotes. It wasn't free at the time - a long time ago.

Chris: Yeah.

Hakim: And I was like--

Chris: You want to make a slide deck is the point, right?

Hakim: Yeah, I want to make a slide deck. That's it.

Chris: Yeah.

Hakim: I just want to make a slide deck, and I figured, how hard can it be? It's just some CSS transitions and a little bit of content. Reveal.js was pretty much born out of that.

Yeah, soon after, Slides came about as well. Slides is not open source. It's just a business built on top of the Reveal.js open-source project, and it's this, I think, really great blend of working on the open-source project, which I still maintain.

Chris: Mm-hmm.

Hakim: And then using that to power our paid products and charging just specifically for our visual editor and presenting features. I'm super happy with--

Chris: You know Reveal.js, you'd think is the only person that's going to use that is a nerd, essentially. You have to know what GitHub is and how to pull a repo and NPM install and stuff. But you don't need any of that for, right? I like to think of somebody that's like, "Uh, I need to make a slide deck. What should I use? I'll just type into the browser and just see if a product... Oh! There's a nice product." I wonder if you get customers like that.

They don't need to know anything, right? they can just go?


Hakim: I think we do get some of those, and you're exactly right.

Chris: Yeah.

Hakim: Reveal.js is specifically for developers, people who know what an NPM install is and know how to run a Web server locally, etc. is just for everybody, but we really have a niche on a developer audience, so people who want to create technical presentations is kind of our niche audience for slides. I think that's worked out really well. We have some very cool features for developers.

Chris: Right. That is funny because you probably have -- it's also not a spring chicken, as it were, right? Slides has been around for quite a few years.

Hakim: We're coming up on ten years.

Chris: Ten years.

Hakim: Next year is ten years. Yeah.

Chris: Join the ten-year party. We just had ours too, so we're similar in that way. But yeah, you can put example pieces of code in here and stuff, and iFrames and stuff that probably only a developer would need to know, but it's funny. I didn't even know that, that that was a niche of yours is that you get a lot of developers using Slides.

Hakim: Yeah. No--

Chris: Because you could have told me, like, "Oh, we get a lot of healthcare professionals," or something, and I would have believed you.

Hakim: No, I think our marketing, our only marketing has been Reveal.js, so that kind of tells you a little bit about the people coming to Slides.

Chris: Sure.

Hakim: They're already -- and I think a lot of people, even though they could write Reveal.js presentations and kind of type out their slides in HTML if they wanted to, end up at a point where that just isn't a very scalable solution for creating slide decks. You don't want to sit and type HTML tags as you write out your content. You want to streamline it a little bit more.

Chris: Yeah.

Hakim: Yeah.

Chris: Right. Right. Right. Right.

Hakim: Yeah.

Chris: It's a foundationally good idea, too. When your slide deck is HTML, then it's -- which it even is on Slides, right? It's more searchable. It's accessible. It's easy to share. There's just this slew of benefits for doing it.

Hakim: It's also 100% yours. If you export it, you actually get a Reveal.js presentation, so it's MIT licensed. You own the content. You can run it. As long as Internet browsers still exist, you can use your presentation.

Chris: Yeah.

Hakim: I think that's a really good, good selling point for it.

Chris: Yeah, pretty generous, really. [Laughter]

Hakim: Yeah, well, there are some really fun benefits of being based on HTML. You can use our CSS editor to style your slide deck. You can even inject your own HTML if you wanted to and really customize the heck out of it.

Chris: Yeah. Similar to CodePen, you can export a Pen.

Hakim: Yes.

Chris: In just HTML, CSS, and JavaScript with the build process, too, if you really want. You know it reminds me of the niche thing. I just can't get over it just for one second here.

I worked with this company called Buy Sell Ads for so many years that all they did was make a little ad platform. There's no reason that it would need to be in the developer market specifically. Who cares. It could have been the ad market for fashion websites - whatever.

I still think, through all these years, that they're still chasing other markets down. They've got so many customers in the developer market that they just became the ad thing for developer sites. It's kind of hard to shake.

Not that they're even trying to shake it, or you are, but it would be interesting. It's fun to dream of it, isn't it? What if you got all of healthcare? You might double your revenue.


Hakim: I know, and you keep thinking about that. As a founder, you can't not think about those things, I think. I'm very happy with where we've landed now. In the beginning, I was thinking Slides should be for everybody. Absolutely everybody should use Slides who is going to be giving presentations, but I really like having a specific target audience and kind of designing the product for them because I can sell to this particular audience and I'm selling to myself pretty much.

Chris: Right.

Hakim: It's made it a lot easier to focus. I also don't have those big VC kind of plans for Slides. I don't need Slides to become 100x. That would be fun. I don't need it to happen. I have a solid income from Slides. I can do what I enjoy doing, so it's very much a lifestyle business at this point, which I'm super happy with.

Chris: Yeah. Right. We're kind of living that world too. That would be neat to grow up a ton, but we've already kind of established ourselves.

I almost worry about it. I wonder. This might be oversharing or something, but let's say I sat down with my co-founder Alex now, and we made the choice that we're going to take what we've done so far but really hammer it. We want to go huge because we have a big, big, big new idea.

One path -- not the only one, but -- one of them is VC again. VC is not just for startups. Of course, they'll come in at any moment that they see opportunity to turn money into more money.

We'd have to make a deck, though, or something, or some kind of pitch that says this is where we're at, this is our idea, this is where the customers, this is how we think the money could line up. If you believe in us, write us a check," essentially, is what we're asking.

We'd have to convince them, but I think it would be extra -- it's almost harder now because we have this ten-year period of financials that you can look at and be like, "That's what this business is." If you looked at those financials and be like, "This is a long, steady, healthy lifestyle growth company."

You better be really, really ready to convince me otherwise because lifestyle business is like kryptonite for VC. They hate that. [Laughter]


Hakim: Yes, and I know. I think you're absolutely right in that analysis. It's not the most attractive thing to invest in for a VC. I don't want to hate on that route.

Chris: No, no, no.

Hakim: We were seriously considering it earlier on, and I really think that's a great strategy for somebody at the right period of time. But it wasn't the right time for us, and I'm happy that we made the choice that we did.

Chris: Yeah. It's cool. It's good to see you doing well, and we're kind of in that same boat but thinking about the future and all that.

Speaking of the future, we have such limited time here. I have to ask you. I wanted to set up the Slides thing first because the story is so cool. Made this little open-source thing for a local meetup. Fast-forward ten years, and it's a big, successful company.

It might be happening again, right? I feel like there's this tweet that was like, "Oh, look. I made this side-by-side documentation thing with words on the left, code on the right. I'm not sure if it's anything, but it was fun to build." That is classic Hakim, if you ask me, of so many of these beautiful front-end concepts like, "What if the menu was like an SVG snake that followed what you were looking at?" or something. You're like, "Wow! That's so cool."

But in this case, because it's foundationally like documentation of code, there's probably a little bit more than a menu snake going on here. That was the bug that I alluded to earlier. It looks like this is growing up. Tell me about what's happening here.


Hakim: I was just completely blown away by the reaction to it. This has been a project that I started really just trying to learn some new tech. I've worked on Slides, like I've already mentioned, for about ten years now.

Chris: Mm-hmm.

Hakim: I'm happy with the stack that we have there, technically, but I haven't had a lot of opportunity to play around with new things. This started from that motivation.

I just started building something, and then, a year later now, I first tweeted about it because I'd just been hacking on--

Chris: It's been a year already, huh?

Hakim: Yeah, well, it's been very slow progress. It's not been like I work on it every week even.

Chris: Right. Right. Right.

Hakim: It's been a side project just trying some new things, and then it got to a point where I was thinking it might be useful to other people, and I was so insecure about it before I tweeted. I'm like, "Ugh. Is this is actually going to be useful to anybody?"

I got this dream reaction. Everybody really got the concept of it. It seemed like something -- it still seems like something people really, really want, so now I'm just heads down trying to wrap it up and ship a first version of it. It's super exciting. It's been really, really fun seeing that reaction.

Chris: Nice.

Hakim: Yeah, it's been fun.

Chris: Kodemo? Is that right?

Hakim: Kodemo, that's it, yeah. It's just a merge of two words. Code in Swedish is kod, so K-O-D. Yeah. [Laughter] Kodemo.

Chris: Nice. Yeah, it's beautiful to look at. It's fun to follow you on Twitter and see little micro bits of it because those of us who are into the front-end trickery stuff, there's lots of that going on. In fact, that feels like the heart of it, really, is that any of us could make a side-by-side thing where you scroll up and down. But this syncs the scrolling. When you're at particular points in the documentation, more code appears in a beautiful kind of way.

But to me it doesn't seem like it's just because animation equals fun. Maybe there's a little bit of that, but you need to know where did that code arrive. What is the important line of code that I should be looking at? What's different between what I was just looking at and what I'm looking at now? A really kind of instinctual thing.


Hakim: I think that's so critical for all UI animation. It's something that I've learned over years of building interfaces is just don't over-animate. That was really the opposite of my early years of working on the Web. I was just trying to animate as much as possible, make things move all the time. Now I've been working much more on productivity tools.

I've just come to the realization. I've taken out so many animations from Slides, for example, just to make things appear more quickly. If there is anything that's going to happen more than once, it shouldn't animate in a way that is very noticeable, at least. It should not animate for a long time.

For Kodemo, I've tried to just really focus on the animations that are critical. The UI doesn't animate that much, but the code or the documentation that you're looking at, the code that is changing from one state to another, it animates very purposefully and slowly so that you can see where something moves and what happens. It is very carefully timed, so it will start by removing code that is no longer there and then slowly delay new code coming in after it has scrolled to the final position. It is very careful timeline. In that case, I think animations has a really specific purpose.

Chris: I like that. If there's ever a slow animation, it's super on purpose.

Hakim: Yes.

Chris: Because it's like, "Look at me!" [Laughter] Yeah, everybody could learn from that a little bit. I've had a similar journey, a little bit, that anything that you use often should probably just appear. As much as you're tempted to make that modal slide in, meh, the modal should probably just appear. That's a display none to display block transition, kids.

Hakim: I just think it's very important, if you're working with anything that's remotely used in somebody's work, productively. Some things in slides, some menus will be clicked maybe 20 times during an editing session. You don't want that popup to animate in over half a second or something like that.

Chris: Yeah.

Hakim: It should just appear so you can get your work done as quickly as possible.

Chris: Yeah. Likewise, on the way out, I think. Yeah, that's so interesting. I hope this gets--

Yeah, you have a journey in front of you, though, because you also have to make sure that whatever the experience of creating documentation in this is pretty easy because I could see being intimidated about this, like, "Yeah, this looks great, but who wants to be in charge of this kind of fanciness?"


Hakim: The editing experience is very challenging. That's really what I'm working on now. I think I nailed the viewing part of it some time ago, but the editing is a lot more complex. I'm getting there, but that's really the selling point.

It's like you said. I think many people could put the text next to the code. But figuring out the right user experience for it and the right way to present it might seem like a trivial, small part of it, but I think it's actually a critical main selling point for something like this.

Chris: Right. Right.

Hakim: Yeah.

Chris: Yeah, I hope you get there. I'm sure you will. Now when I see this, when I come across other docs, it's going to have this kind of reverse thing where I'm just like, "Oh, man. They should have used Kodemo. What am I looking at here?"

Hakim: [Laughter]

Chris: Maybe it'll make people picky about when they see docs, what they hope to see.

Hakim: I mean I hope so.

Chris: Yeah.

Hakim: Yeah.

Chris: Stripe is kind of the classic one. If you ask developers, "What's good docs?" it almost becomes this default kind of developer cultural answer to just say Stripe. They are one of the early ones, especially the API doc specifically that had words on the left, code on the right. Then did this classy trick where they would put your API key in there if you were logged in. If it's some little cURL call or something, you could just copy and paste it out of there and run it and it would work.

Hakim: Yeah. Really, the idea behind my projects, I think, is very inspired by Stripe docs. The challenge is that those are Stripe's docs, and nobody else can really create things at that quality.

Chris: Yeah.

Hakim: And that's kind of the realization behind this project that I'm working on now is that I want to make that level of quality for documentation available to more people. That's what I'm working on. I think Stripe does such a tremendously good job.

Chris: That's a good point. They have a huge team on it. It's like, you're not going to--

Hakim: Yeah, and it's all custom. Sure, there are -- it's just very difficult to build a reusable editing tool for something like that. I understand that maybe that's not their priority.

Chris: Mm-hmm.

Hakim: Yeah, that's what I'm doing.

Chris: I've never seen a new one that is focused on the -- I think the code -- I don't know -- experiencing the code. I also think what's weirdly common (in almost a bad way, although I'm not trying to throw too much shade) is that I think the SSG market, which I try to keep my eye on, like, how many static site generators were built because some company was like, "We need something specifically for docs."

Hakim: Yeah.

Chris: They're like, "We're going to build a doc machine." Then what they're up against is that that's great and all, but a doc machine has all these other concerns that probably end up taking their time, like how do you URLs work, and how does nesting?

They have all these things that they need to account for that isn't necessarily like, yeah, but what do blocks of code do? They're like, "Well, it puts in a pre-tag. There you go. Oh, we baked in syntax highlighting. Wow!" You know?

Hakim: Yeah.

Chris: That's a pretty -- of course, you did that. I don't know. This is kind of cool to see that. I don't know. It's not--

It doesn't sound like you're trying to be an SSG for docs. It's a little different than that.


Hakim: It is a little bit different, yes. We'll see if it's different in a good way down the line. [Laughter]

Chris: [Laughter] Yeah. Right on. You were able to approach this. That's an interesting founder thing, too. I wonder. Again, this might be asking too pointed of questions or too weird, but if I had a really good idea like this, which I don't have at the moment but certainly wish I did, and I certainly have some free time. I could poke at it a little bit. But I'd be a little nervous that I have a co-founder too. There are people that work for me. Do they look at me and say, "What are you doing, man? We have this other product over here." [Laughter]

Hakim: Yeah. I mean that's very sensitive. I worked on a lot of projects of my own, although not too many.

Chris: Yeah.

Hakim: I keep working on my own side projects. They're usually much less serious, so I think then it's fine. It's just various open-source tools, animations, etc.

Chris: It could be good, too. It keeps you sharp, right?

Hakim: Yeah, and it's just play, right?

Chris: Yeah.

Hakim: I sometimes work on very monotonous tasks at Slides, and I just need to do something to free my mind a little bit, so I'll build something on CodePen. I'll just start to gather an experiment or whatever and share it with people on Twitter and get some fun feedback.

Chris: Yeah.

Hakim: Something fun and visual. I do that very often. This project now that I've gotten validation for it, Kodemo, it's become something more serious. But before I tweeted about it, honestly, I could have scrapped it the week after.

Chris: Right.

Hakim: If the reaction was like it was ten like tweets and nobody really got the idea, I would have been completely bummed by it. I'm not sure I would have gone to the finish line with it.

Really, just getting that initial feedback, I think, has made it into something much more serious. Now, obviously, I'm talking to my co-founder. I've shown him the project, and he's been walked through it. Yeah.

Chris: You know that little hit of dopamine can be different, can be - I don't know. You've built so many big projects with so many details and stuff that those early days is fun. Like, "I'm going to build a Christmas tree out of form elements," which is something you'll never live down, I'm afraid. That was too amazing.

Hakim: [Laughter]

Chris: That next stage can be fun too, like, what about this little, tiny detail? You know? Rather than reinventing the whole thing every time you start.

Hakim: Yeah, absolutely.


[Guitar music starts]

Chris: This episode of CodePen Radio is brought to you in part by Equinix. Equinix Metal's Startup Partner Program helps early-stage companies level up.

Their experts work with startups like GenesysGo and Cuemby to build their competitive edge with infrastructure. Equinix Metal provides real-time guidance and support to help startups grow faster with up to $100,000 in infrastructure credit, access to Equinix's global ecosystem of over 10,000 customers and 1,800 networks.

See why startups choose Equinix Metal. It's not just about the infrastructure. It's about the people behind it. Are you ready to go global? Visit metal.equinix/startups--which the link will be the show notes there--to take your startup to the next level. Thanks for the support.

[Guitar music ends]


Chris: Where else do you want to go with this? It's interesting to think about how many little ideas like that you've had over the years. I think people listening to this show probably know you partially from CodePen itself, and so might get a kick out of hearing about some of your kind of more micro ideas over the years.

Hakim: Yeah. Absolutely. I think I've made a point out of just making my work on Slides very enjoyable. Like I said, it kind of aligns with the whole lifestyle business thing.

I work on Slides because I want to build something fun and something useful. Sure. But I want to have fun while building it as well. I think that shows in the results of my work.

I've just made up projects along the way, honestly. I'll take something that doesn't necessarily mean more revenue or more customers. And I'll go off and spend a couple of days working on some little menu somewhere, some UI detail that I can obsess over because I find that work really rewarding and fun.

Chris: Yeah.

Hakim: It's not rewarding monetarily, or it doesn't lead to anything directly, but I prioritize that work still. I think it's just critical to kind of keep the work enjoyable, especially if you're going to work on something in the long run, which we now have with Slides. That's kind of kept Slides fun to work on for me.

Now I'm trying to work on something new as well, which is fun in a whole different way. But I'm going to keep doing that. I'll keep kind of obsessing over things that some people might consider pointless and just try to come up with something unexpected in my UI and surprise people.

Chris: Right.

Hakim: I find that so much fun, so yeah. I think that's just a very important thing (no matter what you're working on) to kind of find those little pockets of fun wherever you may.

Chris: Yeah. I wonder what almost a psychologist would say - or something. Be like, "Yeah, and look. He's not burnt out." I mean I don't want to speak for you. Maybe you've experienced little bouts of that. But when people -- you know.

How many things have you read that say when people utilize play in their lives that that has benefit, aside from just killing time? You know? This ain't the 1950s anymore, or whatever, where people would waggle their fist at it. Now we've worked so hard each day and stress our brains out for maximum productivity that we've almost had to remind ourselves that nature and play and all these things have these really kind of tangible benefits.

Hakim: Yeah.

Chris: If you need to be convinced that having a play with something fun is good for productivity, then at least listen to that. It sounds like you do it very naturally.


Hakim: Yeah, it also is just looking back at those things that I've worked on. They've led to a lot of attention and traffic to Slides. I'm sure the end result has been new customers.

Chris: Yeah. Free marketing. Hell yeah.

Hakim: Even though that was not at all what the intention was with building a snake game in my sidebar navigation. So, I think it goes to show if you put passion into something, no matter what area that may be. For me, that's front-end and UI animations. If you really put your passion into something, I think people can tell. They'll notice those little extra details and special touches.

Chris: It's worked. Did you say that there's no marketing? You've never done Google Ads or nothing like that ever?

Hakim: No. Zero marketing.

Chris: Zero!

Hakim: Yeah.

Chris: That's worth money. Think of how many startups.

I was at my first conference in a while recently, and a guy comes up to me. He's like, "We've got this product. It's even tangentially similar to CodePen." Not in a hardcore competition way, but I could see the similarities. They're like, "But we're at this crucial point in so many startup's lives where we need customers." You know? It's like, "What did you do? How come there's such a community at CodePen?" [Laughter]

I was like, "I cheated in every conceivable way, man. I wrote about the Web for a decade, practically, before CodePen even started." So, like, "Here's my tip. Go back in time. Build a community for ten years first. Then launch your product." Which of course you can't do.


Hakim: I mean I don't have the CSS-Tricks community, but I have pretty much my Twitter following has been where I've launched all my things. I don't even have that many followers. But it is a bunch of people that I can show things to. Then sometimes it will take off from there.

I think, in the beginning, before that existed, before, as I was just getting started, it was really difficult. If you don't have an audience, it's so hard to work on something and not get that reaction and dopamine kick from people who actually like something you've done.

Chris: Yeah. Right.

Hakim: I think that's just a very hard time. Once you have an audience, it becomes so much more fun to keep shipping for them.

Chris: Yeah. Fun is another good word there. Not everybody can do that. I get it. Some people have to--

Hakim: Yes, 100%.

Chris: --buy some eyeballs and stuff, and that's cool.

Hakim: Yeah. Yeah, 100%. I'm working on my own company, so I can decide to spend three days on a menu if I want to. That doesn't make sense everywhere. I understand that. Not everybody can do this. I'm not trying to say that everybody can do this either.

Chris: Right.

Hakim: I'm trying to really reap the benefits of it now that I can.

Hakim: Can we think of one more example of one of those things that kind of made their way into Slides?


Hakim: That's a very good question. Let's see. We've got the menu. What else? I have to visit my website for this.

Chris: [Laughter] Yeah. Look at your own lab.

Hakim: I have a good one.

Chris: Yeah. Okay.

Hakim: The loading spinners. Yeah, that was one. I just worked on trying to integrate loading feedback into buttons at some point. I did that with Slides, and I really liked the results. I open-sourced it eventually. So, it's just little button with kind of built-in loading feedback.

I spent a lot of time building it, especially since I open-sourced it as well. You kind of have to polish it a little bit more. That took a good deal of time.

Chris: That's right. I forgot about this. I would say this could be among your largest legacy because I think it's probably lived on bigger than people forking and using this directly. But the idea of clicking on a button and watching the button--

Fundamentally, the button stays where it is. It just gets a little bigger and then reveals a spinner out of that.

Hakim: Yeah.

Chris: We absolutely have ripped this off at CodePen. When you leave a comment, for example, it slides out and does this pattern. The design pattern itself is yours and has been highly ripped off. [Laughter]


Hakim: It was really fun to see how quickly it took off. I saw Slack using it, actually using my open-source library at the point when they were still pretty fresh.

Chris: Nice.

Hakim: That was really, really fun. They were growing explosively, and you saw, "Wait a second. I recognize that animation." Like I can spot that 0.3-second ease, and that's--

Chris: [Laughter]

Hakim: Yes, inspect source. That's definitely my tool.

Chris: Yeah. That's great that you can see even the timing is what gives it away.

Hakim: Yeah. Just one thing, going back to marketing, I come to realize this over ten years of running Slides now. We're so thankful for the fact that we don't have to do marketing because I can't bring myself to do it.

We haven't done any marketing, but we've thought a lot about how we would market the product because we were thinking, well, there's probably low-hanging fruit.

Chris: Right.

Hakim: Some things that we could have done earlier on to get to more customers. And I still think that's true. But every time I set out to just work specifically on marketing--

Chris: You pitter out?

Hakim: Doing content marketing or anything, it doesn't work for me. I can't bring myself to do it. It makes me very sad Hakim.

Chris: [Laughter]

Hakim: [Laughter] What I've realized, and I think a lot of people realize nowadays, is you can do content marketing in many different ways. My short kind of GIFs that I tweet about from my UIs that I work on, these little UI details and interactions, etc., those are kind of my way of marketing. They work really well for me. I don't have to write a lot.

Chris: Right.

Hakim: I can focus on my UI, record some nice detail of it, and tweet about it. People will kind of notice it from that. That's worked well for Slides. And I think it's kind of what I'm doing now for my new project, too. I'm tweeting a lot of images with specific parts of the interface and things that I think look interesting, and it's working so far.

Chris: Yeah.


Hakim: Another point of inspiration for that is -- what's his name again? Steve Ruiz? I'm not going to try to pronounce that. He works on tldraw.

Chris: Okay.

Hakim: This drawing app, and he's very active on Twitter. You can search for tldraw, and I'm sure you'll find him.

He does the same thing, and I think he's done it very intentionally, and it works so well. Just seeing those UI details, like him obsessing over how to bind arrows between shapes.

Chris: Right.

Hakim: And thinking about all the implementation details of that just attracts a huge audience.

Chris: Right. Right. And it does this little trick, right? It's not that somebody is going to choose to use that drawing app because of this one little UI detail. What it does is it reminds them that there's a thing in the world that's a drawing app that somebody I like built. Then I see it a second time and a third time, and now it has embedded itself into my brain that this thing exists. The minute that I need it, I'll remember that because I've been reminded now three, four times. I hate to make it that psychologically boring, but I'm pretty sure that's what's happening.

Hakim: I think so. Yeah.

Chris: And it's fun because obviously we're in the kind of TikTok generation and stuff, too. If you're like, "How am I going to market Slides? Well, I guess we better hire a video team and make a 30-minute expose on how it works." Nobody is going to watch that.

Hakim: No.

Chris: That's not going to do nearly as much as if you spent that time and energy and possibly some money on building little 20-second videos showing one little cool thing you can do. That's what we need to do. Yeah, that makes me sad, too. Once in a while I'm like, "Ah, what's the classic way to market? Well, we should make some landing pages for very specific needs and then that landing page will just be full of copy and examples and stuff that speak directly to that."

I don't think that's a horrible thing, but I think you'd have to be a company of a certain size where you could almost sick a team on that and that's one thing of many that they're working on. But if you have very limited time, I don't think that approach is right anymore.

Hakim: No. I think that's right. You definitely need that. At least in a small company, that one person that is specifically focused on marketing and tracking the results of it and really cares about and considers that their big payoff, sort of.

For me, that has never really been my payoff in terms of the work that I do. I can't see the payoff in the same way as I do when I solve a problem in code or visually.

Chris: Yeah. Yeah. Yeah. And you don't even need to. It's not like every one of these little things you put, like, here's my link with a tracking URL so that the UTM params are correct and I can see who... You don't even do that.

Hakim: No.


Hakim: No. No, we don't even do the basic things is really the problem. I feel like some part of me still wishes it. Every time I talk about this, every time I talk about this, I feel like we should have done this, we should have done that.

Even now, right now, I'm questioning everything in my head. But I just can't bring myself to focus on that. I'd much rather have Slides be--

The sales funnel is not perfectly optimized. Okay. We're making -- we're doing good enough. [Laughter]

Chris: Yeah. Yeah. Yeah.

Hakim: Yep.

Chris: We're very similar in that way. Forget it.

Well, thanks so much for joining me and talking about all this stuff. It's fun just to shoot the breeze once in a while with like-minded folks. Yeah, I appreciate the time again. Any final words you want to get out there for folks?

Hakim: Definitely just check out Kodemo. You can check out my Twitter, @hakimel, and you can see a couple of screencasts from it there. I hope that you will enjoy it.

Chris: Nice. Take care.

Hakim: Take care.

[Radio channel adjustment]