Why don’t you use Bootstrap?

Context: I work for Forward Partners which is a catalyst for ecommerce startups. We provide a unique combination of funding and help from our hands-on experts – product, design, marketing, front and back-end development, talent and fundraising. I work predominantly with idea-stage businesses until they have achieved enough growth to start hiring their own team.


Start-ups often use ready-made frameworks and tools in order to get an idea from concept to production in the quickest and most efficient way they can, such as Ruby on Rails, jQuery and Bootstrap. I’ll be explaining why I choose not to use Bootstrap when creating websites for our early/idea-stage businesses.

When I would use Bootstrap

There are a few occasions that Bootstrap can be very useful. If you need to get a prototype built quickly, admin screens or internal apps then Bootstrap is fantastic at creating a professional look and feel straight out of the box. Or you might not have a lot of expertise in creating the front-end of a website, considering browser deficiencies and the myriad of device sizes, Bootstrap has you covered – up to a point.

Idea-stage business and new hires

To use Bootstrap efficiently and understand it well you need to dedicate time to reading through the documentation, digging into the source code and figuring out how to customise it for your requirements. Bootstrap is an excellent tool when you’ve mastered it and can be used to build highly customised and maintainable sites, however it just takes too much time to reach that level. This is a luxury that our businesses do not have.

Ordinarily an idea-stage business will be a founder (maybe with co-founder) who we work with to achieve product market fit. Working with our developers we must produce a code base that is easy to update, is maintainable and most importantly can be picked up by their own developers once the business starts to achieve growth. I can’t make the assumption that the new hires will be able to or want to use Bootstrap effectively.

My issues with Bootstrap

Other people have written at length about why they don’t use Bootstrap, so I have cherry-picked quotes that match my feelings on the subject. This explains how you should think about the framework before deciding to use it in your project:

When it comes to custom interfaces, Bootstrap isn’t a box of bricks, panels, walls and doors with which you can build anything you want. Bootstrap is more like a mortgage. Mortgages can be good things. You didn’t have the time to save up and buy your house in cash. You needed a mortgage to get a roof over your head. That’s similar to using bootstrap to get some UI in place when you don’t have the resources to build UI from scratch.
Bootstrap Bankruptcy

Bootstrap doesn’t follow best practices or good semantics and there is too much code bloat, excess class names and markup:

I hate having excess classes, and non-semantic classes littering my markup. I want my site to be clean, easy to read, and have as little interference as possible when I am creating markup.
You don’t need Bootstrap

Our designers strive to create layouts that best fit the business and shouldn’t be limited by what framework we choose to use on the front-end. Bootstrap uses a 12 column layout with 4 predefined breakpoints and working outside of this scope is not straightforward. It is quicker for me, as a front-end specialist to create these custom designs with custom breakpoints implemented to fit the content than it is to override class after class of framework code.

This next quote is applicable to those developers without much front-end experience:

While Twitter Bootstrap is fast and easy to implement, creativity is often compromised as a result. Innovative designs which defy conventions can be difficult to implement in Bootstrap’s structured environment while you have a tight time constraint.
5 reasons not to use Bootstrap

How a custom design might fall flat using Bootstrap's framework
Nice cartoon from Zing Design explaining how a custom design might fall flat using Bootstrap

Vanilla Bootstrap has been thoroughly browser and device tested and there is plenty of documentation about what is and isn’t supported. However, if you create a custom design on top of it you are opening yourself up to all the browser quirks and bugs that Bootstrap was there to smooth over. You have to know how to prevent or work around them and a front-end specialist will be able to create custom implementations that are almost completely cross-browser compatible from the start.

This wasn’t supposed to help you decide whether or not to use Bootstrap on your project but an explanation of why I don’t use it at Forward Partners. In summary, I would use it in a handful of circumstances but not for a customised production-ready site.

59 comments on “Why don’t you use Bootstrap?”

  1. As a user, I far prefer a bootstrap site. “Innovative designs which defy conventions” are usually harder to use. If you really need a custom interface then yes, bootstrap is not the way to go. But most businesses are not those special snowflakes; most businesses’ needs can be perfectly well accommodated within the twelve-column limit. If you use bootstrap the way it’s intended you can write a simple, easy to maintain codebase which works on any platform, and spend more time concentrating on the more important parts of your business/website, like the content.

  2. I think the thing to specify here is websites vs. web applications. Bootstrap is terrible for websites where your content is to remain very static and the interface is supposed to be unique. For web applications, bootstrap is a perfect solution. The components are easily customizable and the interfaces you can make out-of-the-box are intuitive and easy to use and scale. I would definitely preface this article with “Website: Don’t use bootstrap. Web Application: Use bootstrap.”

  3. If you know what you are doing… you will choose the right tool for the job. Custom stuff is better left custom. On teams, its nice to have a religion to follow so everyone is on the same approach, hence the frameworks. For small stuff, frameworks are just shortcuts but nice ones.

  4. Most Bootstrap-based sites don’t have ~40% of the viewport taken up by a distracting, unnecessary panel. So there’s that.

  5. So what exactly is your point?

    > Our designers strive to create layouts that best fit the business and shouldn’t be limited by what framework we choose to use on the front-end.

    Name any framework that doesn’t have an opinion about how to do something. A good developer is also one that sees a design and knows what tool fits it best.

    >To use Bootstrap efficiently and understand it well you need to dedicate time to reading through the documentation, digging into the source code and figuring out how to customise it for your requirements.

    Again, name a framework that requires 0 documentation reading time on the part of the user.

    >Bootstrap doesn’t follow best practices or good semantics

    This is an opinion best served by backing up what you feel good semantics or best practices are, because often times frameworks define what those best practices are.

  6. I think it’s silly to say that someone coming on to a team doesn’t have the time available to thwm to read up on necessary documentation. That’s part of being a web developer. Also, not having *regularly updated* documentation to reference as a new team member only increases your time loss as a whole.

  7. I think the better question than “Should a developer need to read up on documentation when they come onboard” is whether that’s the best use of their time for any given technical vector. Do you want developers to understand the unique technical challenges of the business interest, or do you want them wrapping their head around a custom in-house built CSS grid system? As a startup, do you want to innovate on the technical underpinnings of a CSS system and worry about HTML semantic markup, or do you want to rapidly push & iterate the product side of things to quickly see if ideas are valuable and have enough market traction to invest serious efforts in?

  8. So, instead of using a framework with documentation, let’s write a bunch of custom CSS and JavaScript to hand off to new devs? Seems worse to me than building on a framework that’s already tested on multiple devices, screen sizes and ships with solid documentation.

    Are you handing over fully commented and documented custom code to these new devs you speak of?

    Frameworks can set a nice baseline and requiring developers to *gasp* read documentation isn’t such a big deal.

  9. Doesn’t this apply to most any other technology you pick, too? Do your businesses have the “luxury” of assuming that, for example, new hires will be able or want to use Rails effectively?

  10. Its same as differentiating between a computer scientist and a programmer.

    One takes time and builds conceptual products, other takes concepts and build exceptional products.

  11. is a waste assemble an interface with bootstrap and use only –50% of the framework. This is frequently in .988917% of cases …

  12. @Todd my point is everything I wrote in the article, I’m not sure you read the whole thing.

    I’m not saying that frameworks aren’t a good idea, the article is why I choose not to use Bootstrap.

  13. Yes it is true that a lot of sites can be done with custom CSS just like a lot of web applications are better served by creating a custom application and not using a CMS.

    BUT in my experience the benefits of using BS far outweigh the drawbacks, and many of the drawbacks are resolved by knowing what you are doing, or having technical oversight. Whatever framework you choose to use there is always a learning curve for new staff.

  14. Built in documentation is a huge plus when you have a large team with the potential for multiple people to be working in the view layer. Also, anyone who has spent any sort of time reading the documentation knows how to cut the bloat out of Bootstrap, only bringing in the features of the framework you need to complete the task. Finally, you buy in to Bootstrap, and you basically get responsive for free. That is a huge plus in terms of development time.

    That being said, Bootstrap IS limiting, even when not considering some off-the-wall layout. What happens when you want a 9 column grid for one page instead of a 12? No way to do such a thing out of the box, so you either spend the time writing it yourself (maybe with the help of Bootstrap if you can figure it out), or you bail on the design because it is just easier.

    Moreover, some of the bloat is impossible to cut out. I would say 80% of the time, no one needs any more than 1/4 and 1/3 (and their multiples) sized columns. How many times have you done an 11/1 layout? Or a 10/2? But yet you have to carry that code, even if all you ever do is 9/3 or 8/4. And that isn’t even considering the offset and push/pull code that gets used even more infrequently.

  15. Grid systems out there that allow you the flexibility to build how you want are a great in-between solution. For example, Jeet is a great way to get an idea off the ground much quicker than Bootstrap or Foundation and it doesn’t limit your creativity – alter the “grid” at any point.

  16. Agree with everything you said.

    If you are coming to a new job – it’s okay if people expect you to learn their in-house standards that make their products stand out and have been hand-crafted to suit the exact purposes of the business, rather then expecting everyone to use bootstrap.

    Also, comparing a css framework to a a programming framework – is a failed analogy.
    How freaking hard is CSS anyways?

  17. Also, wake up, look around and stop using the “having the website look the same in different browsers is HARD” argument. It’s 2014 for gods sake, are you really still supporting IE7 ?

  18. This post is only true for people that dont use Bootstrap LESS mixins and variables as it is fully customizable this way, contrary to what you’ve written here. Meaning that Bootsrap is in fact a tool for advanced developers as its core features start when you fiddle with its LESS mixins,variables, et cetera.

    Alone, its CSS does not give enough freedom when it comes to creativity.

  19. couldn’t agree more. where are all devs these days? it’s all just frameworks and plugins – devs have become lazy bunch, it’s quite sad.

    seriosly, how hard can it be to create your custom grid – for your needs and how you want it? my last attempt was on 150 lines of code with nesting and so on.

  20. I dont get the people that say that Bootstrap limits their horizons or that they cant customize their own grid there, its a blatant lie.

    Front endng is about managing your time and task automation nowadays, thats why even simple Bootstrap styles inclusion without modyfing them is a great thing – it allows us to rapidly prototype apps. Thats why people use Yeoman, Grunt and Bower as well, because time is money and you need to be fast today.

  21. Bootstrap is for people just starting with webdesign or have just a little knowledge. Yes – if you use it you are – a noob. There’s nothing bad with being a noob, you’ll become an expert if you wish. Just stop using Bootstrap, use frameworks who don’t bloat your code and impose styles/structures/names…

  22. For saying those things I am assuming you are the utter noob because you fail to understand the true use of Bootstrap which is designed for rapid prototyping, wireframings, and NOT actually building a website.

  23. In fact, if you look at the Bootstrap Expo, none of these sites utilize basic bootstrap design, or the default styles, that fact should ring a bell in your head, shouldn’t it? It is because those sites used Bootstrap to initially wireframe the project, not actually entirely build it with it, without applying their own styles.

    The fact that most of the major companies and corporations use, or have history with building a website using bootstrap, is a thing for you to consider. Why they do that, and what’s the real purpose, since none of these sites look like the default bootstrap theme? It’s pretty damn obvious what’s Bootstrap designed for, and it’s name says it all.

  24. Bootstrap is like a cage for designer and developers.

    Some people prefer to live in a cage it’s easier to live, some don’t like to be limited in a cage.

    I should not to be in a cage.

  25. Using media queries to handle how the page will look on desktops (the header nav bar for example) changed everything when I was learning it.

    You can have any custom design you want as a ‘website’ and then on mobile side bootstrap has me covered. Most of the time this means building 2 versions of the header.

    Bootstrap rocks!

  26. How is Bootstrap not just plain ole “cargo cult programming”? It doesn’t take much skill at all to use Bootstrap. Add a few lines, learn a few useful classes and presto! Look what I did. LOL

  27. Many developers are using bootstrap tool because it is fast and efficient . Though it makes website little bit slow but many follow it.
    I think in professional work we need to study bootstrap tool and how much CSS is required that much we can use and it will make website faster and code within it will be clean.

  28. Boostrap is perfect for prototyping, or quick, throwaway sites, but I would never use it on a big project. There’s very little to gain, and a lot to lose. It baffles me to hear people talk about building big sites using it.

  29. Fact of the matter is that web designers doing things the old, harder way are upset that a traditional back-end developer can grab Bootstrap and make something that looks great and basically makes them irrelevant

  30. I never meet a traditional back-end developer who liked to put in unnecessary code in their application…The people I know would try to cut out all that fat that Bootstrap carries..

  31. Yeah, bootstrap is a timesaver and great for mockups and quick builds, but it completely takes “design” out of the art/discipline of “web design”. Much like dribbble (ugh), bootstrap has spawned a generation of “designers” who think that design is only design if it looks, behaves, and is built a certain way. Too-often diluted and/or in denial, they fight to uphold a narrative that sweeps their limitations and lack of capability under the rug: just like a car evolved to have 4 wheels and a steering wheel on it, websites have evolved to look a single certain way… “oh, and bootstrap is that way, the only way! That IS web; that’s how websites are *supposed* to be!”.

    Yeah… right…

    The end result is dull, endless, all-looks-the-same landscape of mindless cookie-cutter garbage, with the same visual treatments, the same proportions, the same absence of true branding, the same ignorance of breakpoints based on content, etc. etc. etc.

    It really is a shame.

    To me, BootStrap fanatics are pretty much the same as people who parade around proclaiming “I’m a WordPress developer!”, when in fact all they are is a WordPress *implementer*. There’s an enormous difference between actually designing / developing a site, and grabbing a bunch of off-the shelf modules, plugins and snippet-crap to pile together all Jenga-like, making a patchworky con of an end product.

    What’s even more pathetic is when you ask folks in this crowd to debug or stably modify core elements of the build. Way more often than not, they can’t.

    Again, bootstrap has its place – a casual place – but overall I friggin’ can’t stand it, nor can I stand the love affair that so many so-called young “designers” have with it. To me, it couldn’t be further from the guts and soul and awesomeness of true web design and development.

    Kids play house; Bootstrappers advocates play web-design/dev.

  32. I am a designer and know development also but i don’t use bootstrap, actually i don’t like to use it. I design and develop my own code.

    Thanks for the post. I liked it. :)

  33. Great article, i think that only if you’re comfortable enough with CSS and the uses of classes and identifiers , then you could choose to use Bootstrap, on the other hand, if you aren’t comfortable enough with the (extremely simple) language that CSS offers, then you should start learning CSS instead of Bootstrap.

  34. I just want to point out that most non Bootstrap sites look the same also. Your Forward Partners site could be done in Bootstrap very quickly, as a matter of fact it has a bootstrappy look. I think the problem is with the designers not bootstrap.

  35. Thanks god, i’m not the only one who don’t want to learn bootstrap!.
    i’m agree with guy who said bootstrap is a like cage. I don’t want to be in a cage.

  36. This feels like every single photographer i have ever spoken to explaining how ‘digital photography’ would never, -ever- replace film under any circumstances.

    It has. It’s just better. In every single respect.

    Unless, for some esoteric reason, someone decides they want an image or set of images shot on actual film.

    If you want to argue in favour of your handwritten, carefully crafted markup and CSS plus javascript and whatever else, that’s nice. I guess you might find a client or two out there in a few years that would even consider paying for you to go off on your own, writing your own bespoke, not standardised, very likely difficult to decide content, under the guise of being a ‘front end specialist’. It will not hold water, pal. Every single small and large agency i have worked with in london is now using bootstrap or, occasionally, another framework of some sort. The last time i heard a ‘front end specialist’ touting his own custom wares in an onboarding meet he was shot down so fast you personally could have heard the sound as he hit the floor. But it is a free country and you are entitled to your own opinion.

    Good luck talking your way our of Bootstrap 4, by the way.

  37. If you think your code is better than bootstrap then show it off. I can’t see it here.
    The style of your site is terrible compared to a bootstrap demo that could be bashed together in 2 mins.
    Anyone I know who’s dissed bootstrap hasn’t really understood it, often due to their own arrogance.

  38. My main issue with bootstrap is the significant tie-in with JQuery for their custom components and getting any documentation or help in making it work outside would be met with “go use stackoverflow”

    e.g. https://github.com/twbs/bootstrap/issues/22478

    Aside from that once you debug and decipher through their code and CSS you get a lot of the typography and look that would prevent you from having to deal with it yourself.

    Mind you Bootstrap is not the only one, there are others like MaterializeCSS (which I use on my profile site)

  39. So this article rants against Bootstrap but uses the CMS WordPress… People who hard code everything are delusional in thinking that a framework will not help speed production..

  40. i have seen great developers who uses bootstrap.. but while using bootstrap they also write their own CSS to overrides most of the bootstrap components

Add your comment

Your email address will not be published. Required fields are marked *