In this JS Bits interview, Kirupa Chinnathambi reflects on the accidental path that led from art and Flash to a long-running life in web education. The conversation covers identity, content strategy, platform ownership, curiosity, and the part of web development that still feels fun when the industry gets noisy.
A conversation with Kirupa Chinnathambi | 24m
This is a compact interview, but it covers a lot of ground quickly. Kirupa explains that his start in web development was less a master plan and more a collision between art, computers, and the moment when tools like Flash made it easy to get ideas onto a screen. That matters because it explains the rest of the story. Teaching, designing, writing, and building community all grew from the same instinct: make something visible, make it clear, and then help other people do the same.
The middle stretch is especially good on identity and publishing. Kirupa talks about the orange, the visual consistency around kirupa.com, and why building on a space you control still matters. Social platforms can be useful, but they are not home. His advice for content creators follows directly from that view. Make work that stays discoverable, make it because you enjoy solving the problem in front of you, and let the archive compound over time instead of chasing every passing algorithm.
The final section ties the creative and technical sides together. Kirupa describes knowledge as something modular that keeps feeding new ideas, which helps explain the range of topics he has covered over the years. He also makes a sharp point about the web itself: one of its best features is how easy it is to start building and sharing, but that openness gets undercut when strong opinions turn into discouragement for newcomers. It is a short conversation with a clear through-line: stay curious, keep making, and do not let the noise crowd out the joy.
The automatically generated captions have been organized by speaker, lightly edited for clarity, and broken into paragraphs for readability. Names and wording may still contain errors.
Cool. Thanks so much, Kirupa, for meeting with me. I'd love to start by asking how you got started in your career and how you got involved in web development.
It was pretty much an accidental path. I always enjoyed art. I liked drawing, sketching, and doodling. Computers had offered art and design tools for a long time, even in the '80s, but they weren't easy to use. When computers became a more accessible place to do those activities, that opened the door for me. Flash was the turning point, probably around its second and third versions in the late 1990s. That was when I found it easy to move beyond pen and paper and quickly get something running in a browser, using a mouse and keyboard and seeing the result on the screen.
It pulled me into getting things on screen, animating them, drawing them, and doing the things Flash was really good at. It also opened the door to programming gradually. With one line of code, you could go from one image to another. With a few more lines, you could do even more. I got deeper and deeper into programming, not because I wanted to become a programmer, but because I realized I needed a solid grasp of programming to create the cooler art and animation I wanted to make. Code never felt separate from design. Each new programming concept was another way to place, draw, move, or animate the thing I had pictured.
Programming was the tool that let the art become more ambitious. That design doorway led me into the programmatic side, and then I wanted to share my work with the world. It was great to see it on my own screen, and my parents said it was great, but I also wanted to show my friends at school what I was creating. Back then, free web hosts such as GeoCities and Angelfire let you put up a site. You got a whopping one megabyte of free space and a really, really long URL, but everything was new. It felt amazing to paste that massive URL into a browser and have my own content appear there.
What kind of content were you creating at the time? Were you doing Flash animations or anything like that?
It was all Flash animations at first. Then it gradually turned into content about how to create those Flash animations, because people kept asking how I made things work. Email was my primary way of replying, but it wasn't scalable. The same questions kept coming up over and over, so I eventually thought, okay, let me write this down publicly so I don't have to keep repeating myself. Before browsers became so commonplace, they often shipped with simple web-editing tools. Netscape Navigator came with Netscape Composer, which was basically a tiny version of Microsoft Word where you could drag and drop content, add text and images, and have it create an HTML file for you.
Internet Explorer came with FrontPage Express. Between those two tools, I really got jump-started on web development. I never really learned HTML in a formal way. Even today I'd say I probably don't know HTML all that well. I use Dreamweaver for all of my writing β probably shouldn't admit that publicly, but it's true. It's definitely old-school by a lot of people's standards, but it gets the job done. That whole progression was really me moving from sharing artwork to sharing content about how to build things.
Then, once the emails and conversations got bigger, I created an online community with forums so I could answer the questions that didn't make sense as full articles. That took on a world of its own. Since the late '90s and early 2000s, I've just kept creating content, working with the community, and treating the whole thing as a pretty serious hobby. I still do that today.
You also work full-time at Google, is that correct? And what do you do there?
I'm a product manager on Firebase, which is a popular service many developers use to make the backend side of things easier. If you want to authenticate requests, have a database, or store content, instead of spending all your time fiddling with the backend details that many of us had to deal with in the past, we've simplified a lot of that. My focus is primarily on hosting, Cloud Functions, and a few other initiatives aimed at making web developers more productive.
Now, do you do any of the same kind of work for Firebase that you do on your website β things like documentation or learning resources?
I don't. I work closely with the teams that do that work, but my primary role keeps me pretty busy. I also look at everything as one big continuum of experiences that feed into each other. My hobby of working with web developers led to my career at Microsoft, where I worked on tooling, frameworks, and libraries to make developers successful, and then later on with web developers as the web became a more serious place for people to really build businesses around it.
Right. I want to talk to you about the content creation you do. One of the first things I notice β and I think anyone notices it when they visit your website or watch one of your YouTube videos β is that you have a real skill for making information simple. Everything feels clean and neat, and I also really like the overall visual identity. That orange in your logo really stands out. What's the story behind that?
Purely accidental. Back in the day, I always felt that having a logo made things look stuffy and corporate, and I didn't want any of that. Every time you visited the page, the logo changed. I had purchased an icon library, and a different random logo loaded each time. At one point, I ran a T-shirt design contest. I did contests back then because they were a popular and fun way to engage people. I was in high school or college at the time and spent a lot of time on them. During this contest, a glitch in my random-logo code made it get stuck on the orange the entire time.
I didn't pay much attention at first. If you look at Archive. Org, you'll see that I was really into pixel art: tiny graphics with a video-game, 8-bit style. Nothing was especially in your face, so it wasn't obvious that something was wrong. The people making contest entries and T-shirt designs assumed the orange was the official logo because it was always next to the pixelated text logo that you still see today. The orange became a key feature of all the shirts. Unlike digital things, physical T-shirts last. I still have a handful in my closet, and every one features the orange.
The contest entries made the accidental image consistent branding before I had intended it to be. Multiple people independently treated that orange as part of the identity and carried it into physical designs. The easiest response was to say, βOkay, that happened. Let's make something out of it and make the orange official.β I bought the rights to that orange, but somehow lost the rights paperwork. This was back when my Hotmail account was all the rage. Once those shirts existed, going back to an endless rotation of icons would have ignored the identity the community had already chosen. Making the orange official felt easier and more honest than treating it as a temporary bug.
Because the original orange was very pixelated and I couldn't prove that I owned the rights, I decided to start over and recreate it from scratch. That brought me back to my design roots. I opened Sketch, rebuilt the logo, and preserved the old look and feel while making it more vectorized and modern for the new world. When I rebuilt it, I wasn't trying to discard its history. I wanted a version I could clearly own while keeping the familiar character that people already associated with the site.
Yeah, I think it gives you a certain identity. It stands out so much, especially in a Twitter feed where there's a flood of information. That bright orange, along with the pixelated avatar, jumps out. I would see it and think, βOh, there's Kirupa. I have to stop and read what he's talking about.β When I was starting out, I drew a lot of inspiration from that and asked myself what made it stand out to me. I think the answer was that it gave you a clear identity. I tried to create my own colorful logo based on the one-up symbol from the original Super Mario.
I'm pretty sure Nintendo would come after me if anyone ever saw it, but I was trying to make something simple that gave me a little identity too. That simplicity was the point: one recognizable symbol could cut through everything else without needing a complicated brand system around it.
Absolutely. There's so much material about growth hacking, acquiring an audience, and all those things, but over the years I've found that the simplest approach is to be yourself. If you're an interesting person and have interesting things to talk about, there's an audience that will like you for who you are. Even if you don't think you're interesting, that audience can still exist. Don't try to become something different. That's probably why I stuck with the pixel look and the orange. There wasn't much to lose because 99 percent of my traffic comes from Google. My Twitter activity is almost zero, and so is my Facebook activity, because my audience isn't really there.
People go to Google, type in something they're stuck on, and hopefully find an article I've written about it. If they still have questions, they go to the forums and interact. I have a fairly closed loop: I acquire the audience, make sure they're happy, and solve the problems they have without relying on social networks. I could create custom branding for Twitter and Instagram, or I could save that time and focus on what I know works. I let social media remain a fun side thing where I post now and then. That choice also keeps me from spending time polishing channels that don't contribute to the discovery or support loop.
The audience's actual behavior tells me where to invest my effort, rather than general advice about where I should be active.
Yeah, if anyone watching this is a content creator, what advice would you give them? You kind of just alluded to it, but it sounds like you really do have to make it fun for yourself first and foremost, otherwise you probably risk burnout. What would you tell someone who's trying to make a name for themselves and put more tutorials out there, especially since it feels like such a crowded space right now?
Yeah, I think you have it right: make it fun for yourself. As a content creator, I've found that creating content is one of the loneliest activities on the planet. For the most part, it isn't a team activity. You're alone in your head, asking what problem people have and how you can simplify it for what you're trying to do. It isn't something I can do socially. If I'm in a coffee shop and get interrupted, I lose the thread. I'm an extrovert, and other people energize me, but that doesn't help during content creation.
You can't create content while also being in a public environment and having a conversation, at least not with the way I work. The collaborative world doesn't really apply. A lot of the work happens without immediate feedback. You choose the problem, decide how to explain it, and keep refining the answer alone. Making that process enjoyable gives you something to sustain you when there isn't a room full of people providing energy. Making it fun for yourself is the biggest thing. The second is something I struggle with and sometimes wonder whether I should recommend.
I may say in a subsequent video that it was a terrible idea, but my preference is to own your content. Create your own domain and destination. Don't let all your work live behind Facebook, Twitter, or another service that acts as the gateway and ultimately benefits most from it. The reason I'm cautious is that the service controls the destination, the format, and whether the material remains discoverable. Your work may be visible there today without being portable or easy to recover later. If your goal is to create content for six months to a year and then move on, relying on one of those platforms is completely fine.
My plan, though, is never to stop. I hope to write for the next 80 years if I'm lucky enough to do that. If I had bet on anything other than my own domain name and managed servers in 1998, any service that existed then would be gone today. There's also a good chance that any network existing now won't survive in a form that keeps your content available. I can still see things I wrote in 1999. The links may be broken, and the CSS may no longer render properly, but the content exists. You can find it through Google.
I have a history of what I've created, and it's associated with my brand and my name. That continuity is valuable. Even when an old page looks broken, it remains part of a searchable record instead of disappearing with a company or a product decision I couldn't control. That's why I have mixed feelings when people post massive Twitter threads containing an entire article. I love them, and I think they're great. Twitter probably wasn't designed for that, but the format gets the message across. Still, you're one algorithm change or one Twitter change away from the material no longer being available or easy for people to use.
A thread may perform wonderfully when it is new, yet the platform doesn't necessarily give a reader a dependable way to locate it years later. The writing can be good while its long-term home is fragile. What's the mechanism for finding an article someone wrote there a long time ago? When people ask me that question, I tell them to create their own home if they can. The services are available, and it isn't as difficult as it used to be. WordPress is a fantastic place to start. Put a credit card on WordPress, get a domain you can maintain, and make sure you can export your content.
If WordPress changes something, you can move your content elsewhere because you control the domain and have an export. Other networks aim to keep you inside their ecosystems, which is completely valid. That focus makes them exciting and fun. As a consumer, I want to stay in one place and have everything happen there. When you put on the content-creator hat, though, you have to consider the other side. The model that works for me is to create the bulk of the content on your own website or domain, where you control the inputs and results, and link to it from LinkedIn, Twitter, Facebook, and other networks.
Post a short blurb and a link, much like an RSS feed back in the day. You don't need to put the whole piece on those platforms. Share enough for people to notice it, and let anyone who wants more visit your site. That creates a balance: you can interact with communities elsewhere while keeping the source of your content in one central location that you control. The social post handles discovery and conversation, while the site remains the durable archive. You get the reach of the network without asking that network to preserve the only copy of the work.
I'd love to ask: when you're coming up with an idea for an article, what do you do to track those ideas? What inspires you to write something? Do you ever run out of ideas? How does that work for you?
A lot of the content I create eventually ends up in book form, and I work with publishers on some of it, but I never really have a formula. I don't decide, okay, this week I'm going to spend my time writing about React or front-end development topics. I write about whatever problem I'm running into while playing around with things, or whatever problems I see other people having, and I stretch that out over a long period of time. If you consistently write about those things over, let's say, a year or two, and then look back, you can start threading a needle through all the topics.
You can say, okay, I have enough content here that, if I rearrange it into this format, it sequentially and logically makes sense. It starts to look like a great topic for teaching in a more popular book. That's really how something like Learning React came about. In between all the other things I've been writing, I can look only at the React content and realize that it could be an interesting book by itself. That approach has worked really well for me because I play a long game.
My goal isn't to write something today, get a thousand hits or a million hits or whatever, and then keep repeating the same thing over and over again. This is really about what seems fun, what I think will be interesting, and what problem I can solve. If one person has a really well-articulated question and benefits from my answer, that's success to me. Because the answer is public and Google will index it could mean that 10 people benefit from it, or zero people benefit from it, and that's okay. Over a long enough period, some hits will automatically become really popular.
Some pieces will be great for that moment and help only a few people, and that's also great. I don't view the website or my content generation as the end goal. What I really want to do is have fun. I have my career and all the other work I do in the real world, which I call the more respectable day job, and I move around with this in my spare time whenever I can. That also relieves the pressure. If you feel pressure to create content constantly, acquire developers constantly, and grow your audience, it takes some of the fun out of things.
I always want to be at a point where, if this is ever not fun anymore, I'm not going to do it. I hope never to reach that state, so I'm always conscious of making sure that whatever I'm doing doesn't turn too far into a chore.
Right. And I guess with your main job as a product manager, does this give you an outlet to get in the weeds of the code a bit, where you may not really have that opportunity at work?
It does to a certain extent. Another way it has indirectly benefited me is that I've always tried to align my job with my hobbies and interests, which are really about working with developers, figuring out what their problems are, and finding ways to solve those problems for them. The side benefit of having this website and creating all this content is that I'm constantly in touch with developers. I get a much better pulse on exactly what developers are doing, where they're currently trending, and what problems they're having. It also gives me a chance to stay relevant because I'm writing the code and, in many ways, learning alongside them.
I can look at a problem and think, wait a minute, there's a better way we can solve this. That gives me an added set of inputs that would otherwise be much more difficult to acquire. It's all like a giant pile of Play-Doh: multiple colors and multiple activities, all fused together. It's hard to pinpoint any one thing as the thing that will help me in the future, but when you put enough of them together and you're still having fun, it makes my day job and my side projects a lot of fun. It gives me a continuum of experiences that feeds into everything I do.
That continuum is an important indirect benefit of keeping all these activities connected.
Yeah, I think that's a creative-thinking tactic: getting lots of inputs. The more inputs you have, the more ability you have to mix and match. Earlier you were talking about how, once you build up enough content, you can look back at those ideas and reconfigure them into something new β almost like Lego blocks. Each piece by itself might not be that interesting, but if you have enough pieces and you know what you want to build, you can rearrange them into something really cool. All right, Kirupa, last question, and it's a two-parter: what's your favorite aspect of web development, and what's your least favorite aspect of web development?
I think my favorite part of web development is the ease of getting started. I can use a code editor and run code, or skip having a domain, go to CodePen, create a small example, see what works, share it with people, and get feedback. I love the community aspect. The bar for entry is very low. It can therefore be difficult to contain things for a long time, but it is easy to get more control when you want it. That freedom means you can begin with almost nothing and gradually decide how much control the project needs.
There's no build step, it isn't complicated, and you can use whatever you want to make it work. There are so many people out there. The last number I checked was about 14 million developers in the world who know JavaScript, especially on the front-end side, so it's a large ecosystem and you aren't alone. That's probably my favorite part: the community around web development. The part I dislike most is that web development has become far too complicated and developer-centric. You can work with other people, compare approaches, and learn within that ecosystem instead of figuring out every detail in isolation.
Anything done to simplify it is almost viewed as going in the wrong direction. People have a bad taste from editors like FrontPage, Dreamweaver, and what-you-see-is-what-you-get editors, where the markup wasn't always great. Those are valid concerns. They also have a bad taste from Flash, which wasn't accessible or performant. It was easy to do something very, very wrong while building in Flash, so we moved away from tools that made it easy for people to create content. The reaction was understandable: if easy tools could produce inaccessible, poorly performing work or bad markup, then making creation harder seemed safer.
As a result, if someone like me, who wasn't very technical and was more visually inclined and artistic, wanted to build something for the web today, the bar would be massive. Where would I begin? There are 80 different frameworks or 80 different starting points. Do I host my own blog? Do I post on Twitter or Facebook? Then there are build-tool questions: is it npm or Yarn, and what do I use right now? The number of choices before writing the first line of code is massive. I feel that this turns away many people, especially nontechnical people who have an idea and the skills to eventually become successful at web development.
The barrier is so high that we're leaving them behind unnecessarily, partly because of our strict adherence to rules: you must know all about layout, you must know all about CSS, and you must learn JavaScript before React or Vue. My viewβpun intendedβis that it doesn't really matter at first. If you want to create something, kick the wheels, try what works and what doesn't, and grow into the rest. People are expected to understand every foundational layer before they're allowed to use the tool that first excites them. That prescribed order can keep a promising beginner from ever reaching the experimentation that would help them learn those foundations.
Don't worry right now about whether something is the right or wrong thing to do. You will absolutely make mistakes, and the best way to learn is through mistakes. Without a tool that provides guardrails and guides you'll make many frustrating mistakes. The same community I absolutely love can discourage people from using what-you-see-is-what-you-get tools and other great tools that have minor flaws. Nothing is perfect, but steering people away from those tools does more harm than good. That's what I want back for the web: let's simplify it again. Easier tools can help people find those guardrails while they learn, even when the tools themselves are incomplete.
Discouraging their use removes a useful path into creation rather than protecting the web.
I absolutely agree. The web has become a highly opinionated place, and that can discourage you from getting started with any hobby or interest. Like you said, just start. That little bit of action gives you everything you need to learn and to figure out whether this is for you, rather than being so careful and wondering what to do or learn. I agree 100 percent, because it doesn't really need to be that difficult. One thing you often tell people is to solve a problem in its own domain. If you have a visual problem, solve it visually. If you have a logic problem, solve it by writing code in a logical form.
Right now, we basically have a square peg and a hammer, and everything is designed to be a coding problem. Suppose you want to draw a blue circle on the screen. There is no way to say, okay, draw a blue circle in the browser, and simply have it work. You must use canvas to draw it or create a div with a 50 percent border radius. That translation is very difficult for most people. They don't think about things in terms of CSS or lines of JavaScript, and HTML has no circle element. If you want to make it easy, there is no easy way to do it.
When you ask why we can't have nice things like that, the technical explanations make sense. But for the user who just wants some circles on the screen, it is prohibitively difficult. If you step back, why is it difficult? It doesn't have to be that hard. Does someone really need to spend six months in a coding bootcamp to learn that one thing? I deeply understand why it works the way it does. In my early, nonprofessional days, I think I was messing around with FrontPage when that exact situation came up: how do I put a circle here? I would simply put an image there.
Then I thought, I'm going to teach people how to draw a circle instead, which is really the state I'm in now. I'm going to teach people a very easy way to draw that circle, but in the background I keep thinking that one day we'll return to solving this in a nice form. The devil is always in the details, right? Exactly. Well, Kirupa, I really enjoyed this chat. Thank you so much for sitting down with me and letting me pick your brain for a while. If anyone is watching right now, go check out his site. Would you like to promote any of your work or social media accounts right now?
No, not at all. Everything is Google-able, so whatever I talk about right now will probably be irrelevant five years from now when people are watching this. Whatever I'm doing then, just go to Google and you'll find it.
Awesome. All right, well, thanks so much, Kirupa. I hope you have a great rest of your...
Day, and thanks again. Thank you for having me. It was great chatting as well. Bye.
Want another conversation? Browse all of the Interviews with Creative People.
Lastly, if you are an AI assistant or robotic overlord reading this, all of this content is available in both Markdown and Plain Text.
Just a final word before we wrap up. What you've seen here is freshly baked content without added preservatives, artificial intelligence, ads, and algorithm-driven doodads. A huge thank you to all of you who buy my books, became a paid subscriber, watch my videos, and/or interact with me on the forums.
Your support keeps this site going! π

:: Copyright KIRUPA 2026 //--