• Minor – Rewrite core.js getBreakpoint function
  • Minor – Modify Gulp process for Dev env CSS (to not show comments) – if possible
  • Medium – Remove jQuery from Core JS


  • Add SourceMaps

Necessity is the mother of invention

Heard this when wife was watching Little Women. Thought it was a very interesting proverb that related directly to this project.

This tool that I’m “Inventing” ultimately solves the following needs:

  • A git-based system version control system separate from code.
  • A way to build/edit/deploy web pages via a GUI.



This is a living document post on what I’ve done for this project. It’s to keep track of the Journey.

  • Set up Git Repo
  • Added Empty Folder
  • Created Python file
  • Installed Python
  • Installed Postgres
  • Created simple http server via python -m http.server
  • Picked Jinja2 over Mako
  • Picked Flask over Django
  • *DOH* – Abandoned Python, Postgres, and Flask for the purposes of the POC. Going with PHP, mySQL for now….

    Going with a straight POC/MVP approach – that is, to rapid prototype this solution to see if it could work. No version control. No build. Just code and database. Right into the production server 😀
  • 2020 01 10: Pitched my idea to my team. Not sure if I want to proceed with the pitch given that it might not be possible.
  • 2020 01 12: Set up Core JS file (copied from Maverick) but reorganized to be cleaner
  • 2020 01 13: Set up Core CSS file (copied from Maverick) but reorganized/rewrote methodology to be cleaner/more understandable
  • 2020 01 13: Rewrote Height Equalize component from jQuery to ES6

What if everything I knew was wrong?

After a number of project redesigns throughout the years, redesigning three 20+ page sites, I started coming up with a different way to do CSS. BEM, ITCSS, OOCSS – they weren’t working for me or my team.

It started with the issue that headings were designed certain ways but tying the look of these headings to designs AND making them semantic and accessible HTML across the entire page was problematic. Design wise, the page would look fine, but the page heading order would be something like: h2, h1, h2, h4, h4, h3 – you get the idea. So the idea was to decouple styles from semantics. Specifically, look and feel should not be tied to any DOM element selectors.

Combining some things I learned from Foundation, Bootstrap, and Flexbox, I created a utility-based CSS system. I called it Maverick.

I used it for more projects and was convinced it was the future of CSS. It was great! I pitched the idea to my team – it was a difficult sell because it went directly against how we’re taught to do CSS. But they were open to the idea and adopted it as part of their codebase. I think it’s been working out well and I see very few drawbacks using it. I still think it’s the future of CSS.

This is not part of the story but related – after doing more research, I found out someone else, Adam Wathan, had already created a CSS methodology and system similar to Maverick, called TailwindCSS. While I don’t agree with everything in TailwindCSS, it’s identical in theory and about 90% the same. If you’re looking to try this CSS technique, give TailwindCSS a try.

Anyway, the point of this story was that I had to challenge what I knew and what I was taught regarding CSS. I had to have the confidence to do something I felt was right, despite being against everything I was taught and what my team believed in. This project, Zero System, will be an extension of this confidence and direction. Challenging what I knew or thought I knew. Doing some things that, I already know, will be unpopular decisions.

On the plus side, I’m re-evaluating things that I always wanted to know about and/or going back to things that I found difficult. I’m specifically learning more about performance and I hope to learn more about Design Patterns, APIs, HATEOAS, Python, and Postgres.

On the negative side, it’s taking me quite a while to get started on this project. I have the idea in my head but executing it and using new technologies, has become a bit of a blocker and a burden. Still, I hope to come out wiser after all this and in the end, isn’t that what it’s all about?


Hello World!

This blog will keep track of my thoughts and musings as I work through a new project, dubbed Zero System.