More about me:

My Manifestowhat I believe in and value

About Mea wee bit about me

I write and teach here:

My Blog I write about engineering, leadership, & life My Books my books on Leanpub to help you be more awesome Know the Codeteaching professional web development and programming


I’m empowering WordPress developers, like you, to master this profession. Together, you and I will build themes and plugins, solve problems, and deeply dive into all aspects of the entire process. Check out what Know the Code can do for you.

About Tonya

My story begins with robots, high-tech industrial automation, and cool artificial intelligence systems. Then life throws me a curve ball. Flip the page. A new me. I'm on a mission to help you master web development and unlock your potential!

At Know the Code, I'm sharing my [gulp] 3 decades of engineering and software development experience with you. I want to empower you to be capable of building anything in code from scratch. I want to help you do more, build faster, reduce your costs, and increase your earning potential. It's all about helping you to continually advance your career/business.

About Me My Manifesto



  1. Ruy says

    Highly interested in this framework. Thanks for sharing your enthusiasm. Keep up the good work.

    I’m going to start developing using the Beans Theming Framework too.

    • Tonya says

      Hello Ruy!

      Thanks for stopping by. I’m excited too!

      As I noted to Dom, it’s a process to switch over from any tool, workflow, app, or framework. We’re working to make that transition as quick, painless, and smooth as possible.

      Welcome to Beans, Ruy!

      Cheers and <happy coding>

  2. Dom says

    Colour me intrigued. It’s lightning fast, isn’t it. I’d love to learn more about this. Not sure I’m ready to relinquish my Genesis comfort blanket just yet, though!

    • Tonya says

      Hey Dom,

      It is incredibly fast! Vroom! Come join us in our Slack group to stay current.

      There’s no need to abandon Genesis just yet. It takes awhile to change your workflow and master a new tool, framework, or workflow. I want you to be as productive as possible.

      That’s why the Beans Community will be focusing on driving down the learning curve time and providing tutorials, quick starts, and tools to help you go from zero to Beans Ninja in no time. I’m thinking about a Genesis-to-Beans Converter tool too. And there will be plenty of hands-on labs on Know the Code too….coming soon.

      But soon….you’ll naturally transition over to Beans and a huge smile will be on your face as your clients’ sites get even more amazing.

      Cheers and <happy coding>

  3. Paal Joachim Romdahl says

    Thank you so much for sharing your thoughts Tonya!

    As a non developer, but a technical person that creates tutorials I have used a few years to slowly get into Beans. My intuition told me about 2 years ago that Beans is a powerful framework that I should use for my client sites (even without fully knowing why). When I get even more proficient in using Beans and am able to customize more areas then I will start creating client sites with it. I have for a few years now used and still use Genesis and will gradually change over to Beans as soon as I am able to. I am so glad you shared the various reasons why you made the switch!

    • Tonya says

      Hello Paal,

      Thanks for stopping by my blog and sharing your story with Beans.

      My intuition told me about 2 years ago that Beans is a powerful framework that I should use for my client sites (even without fully knowing why).

      Bam, you were spot on and saw it years ago. I was slow to check it out, as that’s my nature to stick with what works for me. But like you, I’m onboard now!

      Change takes thought and planning. Shifting your specialization from Genesis to Beans is a process. But as you know, the Beans Community (which includes you!) are working to make that transition as easy, painless, and effortless as possible.

      See in your our Slack group!

  4. Calvin says

    This looks legit. The compiler API especially — I’m curious, is there a plan to include optimizations for HTTP/2 protocol into future versions? Compiling all assets into one file isn’t best in that scenario.

    • Tonya says

      Well Hey Calvin,

      Thanks for stopping by. Always great to chat with you!

      Compiling all assets into one file isn’t best in that scenario.

      Like everything in Beans, you pick. From the settings page, you can turn it on or off.

      In some scenarios, depending upon the plugin stack being used, something might break as all of the scripts are loaded into the footer.

      And as you pointed out, the HTTP/2 protocol has single connection, multiplexing, and more. As such, combining all of the assets isn’t always necessary, when something changes often (as the whole file would have to be downloaded again) or the size of the file makes it slower to download than the individual ones. This is where we need to look at Developer Tools when working on a project’s optimization to make the right call.

      For render blocking, there are things that can be done to mitigate the issue while staying as fast as possible.

      optimizations for HTTP/2 protocol into future versions

      One of the Beans core promises/principles is: “Knock Your Socks Off” Performance. Optimization, speed, compliance, etc. are key components to performance. Therefore, it is important that we optimize to HTTP/2.

      Here, I just added it to the Beans v2 Roadmap. Thank you for tapping me on the shoulder to remind me.

      Come join our Slack group. I’d truly appreciate your insights, input, and contributions!


  5. Alexandra Spalato says

    As many people, I was happy with Genesis when Thierry talked to me about beans, and the first time I said him I was not interested, as I was happy with Genesis and have no reason to change, + I was preferring sass to less, and I was not working with front-end frameworks.

    Then a few time later we add a call for another reason, and he took the time to explain me more things about beans, as I am extremely curious, I went to beans just after our call …. and here I stay the whole week, learning and building a nice starter theme for my needs.

    Then I built my next client project with it and never stopped 🙂

    I have also built some genesis sites these last month … And really realized that I preferred Beans. Oh, and I fell in love with UIKit!

    I am so happy to see Tonya switching, and all this new buzz around!

    • Tonya says

      Well, Alex, you were a driving force behind me taking the first look at it. For a couple of years, you talked about it and kept asking me to review it.

      This year, I had concerns that Genesis was in the “fixing” mode instead of pushing it forward and innovating. Release after release kept the old XHTML code in it. I started thinking about building my own framework. Hmm, starting from scratch is appealing, but also very time consuming.

      Then I remembered Thierry and you. Okay, I’ll take a look. I reached out to Thierry to ask a few questions. Then I set off to do an audit and code review. Okay, why build my own when I could contribute and help Thierry drive Beans. He and spent some time talking and found we thought alike. Bam, I switched and became a co-maintainer/co-owner.

      Thank you for being persistent. Your voice rang in my head. It was a big reason why I finally dove into Beans.

  6. Matt Whiteley says

    Super intrigued! I’m a Genesis fanboy and build everything with Genesis, but this is extremely interesting and something I think is worth looking in to. As much as I love Genesis you bring up a LOT of really great points and things that could make workflow simpler and performance better.

    As you’ve mentioned, changing workflow is certainly difficult especially when you’re so accustom to well-versed with what you’re doing…but color me intrigued!



    • Tonya says

      Hey Matt,

      Thanks for stopping by. You are so right that changing your workflow is difficult. You’ll need to take a systematic process and incrementally switch over. We recognize that there’s a learning curve and process change. We are working on ways to ease both of those and help you to quickly ramp up with minimal effort.

      Alex is a great case study, as she switched her agency from Genesis to Beans in a week. It took a week for her to dive into Beans and then switch over.

      I wanted to share The Beans Way with you with these core principles:

      • Stable, No-Fuss, No-Issues “One-Click” Updates – clicking on that Update button will never break your client’s site.
      • “Knock Your Socks Off” Performance – speed, resource optimization, markup, compliance, SEO, and more.
      • Be Seen with “Rank on Top”
      • Empower Developers to Build What’s Needed Very Quickly
      • Innovative and Smart
      • …all the above on ALL devices

      Come join our Slack group. Ask questions.


  7. David says

    Hey Tonya,

    Great post! I was just wondering if you are familiar with Roots Sage and what the pros/cons are compared to Beans?

    • Tonya says

      Hey David,

      Thank you. I have not built with Roots Sage, though I have looked through its codebase.

      Roots Sage is a starter theme. That’s very different from Beans. Why? It will cost you time while increasing your risks.

      Let me explain.

      A starter theme is a beginning point, a bootstrap if you will. You clone it and then customize to fit your needs. A framework on the other hand, like Beans or Genesis, has 90% of the code within the framework.

      You build a child theme for the customization that is needed in your project. But you never touch the framework itself.

      Why is the distinction important?

      Think about this.

      When you use a starter theme and then customize it, what happens when something in the original starter theme needs to be updated? What happens if there’s a bug, security issue, patch, or change due to something like a change in WordPress? How do you get those changes into your customized version of the starter theme?

      You have to manually go to each instance of your customized version of that theme and update it yourself. Think about how much work that could be. That increases your costs and risks. Plus, you have to be alerted and remember to go manually update each of the themes. That’s a risk for those who use your theme, i.e. as you may not remember or be aware that it needs to be updated.

      Conversely with a framework, since you never ever touch the framework as all of your customizations live in a child theme, the framework’s community keeps that framework up-to-date. That means the vast bulk of the theme’s code is constantly patched, tested, and upgraded. There’s nothing you need to do. Rather, your clients just upgrade the framework and bam, they’re done. That reduces your time, costs, and risks.

      Roots Sage is a beautifully designed starter theme. But it’s not a framework. I have a fundamental philosophy opposition to the intent of a starter theme, as I believe a framework is a better solution for rapid web development and continued innovation and integration.

      I hope that helps.


    • Tonya says

      Hey Jochen,

      Thank you. It’s on my TODO list. But I’m waiting until I get Beans 1.5 completed and released. Then I’ll convert my theme over to Beans.

  8. Emily says

    I know Beans few years ago and I really like it even I am just a writer but interested in web development with WordPress. Since then I thought it will be the framework that I want to use for learn and build WordPress websites with. I am about to jump in to learn code soon and I will go directly to Beans.

What do you think?

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.