Andy Futcher
I am Andy Futcher, the developer and maintainer of MainJS and MainHTML project and professional analyst at a not-for-profit health insurer.
Story of MainHTML
When I was a youngster I had a dream of developing a software system that two billion people would use and love (not sure where that number came from, but there it is.) As I've grown older I've fallen in love with all things Open Source, from being an exclusive Linux user and enjoyer (even Linux gamer too) to a huge believer in the use of and community around all things Open Source software. So in 2025 what started as a project for my wife's passion for vegetarian foods (it's own story of transformation and sustainability,) combined an apathy for the current state of web hosting and JS libraries, I decided to make my own!
What I came up with was intended to be the core JS components for my wife's recipe site and digital books, but soon I realised the potential in making it available to everyone – thus MainHTML and MainJS was born. Many aspects of the design really stood out from other JS frameworks and libraries.
Most notably the portability of refactoring the base paths allows for freedom to deploy, test and work on the project in both offline and online states. This means that design on live domains, in cloud storage, on local hardware or mobile environments is a game changer. Additionally the adaptability to modern elements, built-in ARIA accessibility and tiny size and lightweight JIT compiler overheads means it is fast and usable just about anywhere – this further enhancing the transportability potential. Another takeaway is the decision I made early in development to leveraging native ECMAscript / JavaScript (JS) with no library dependencies, reducing tech debt and increasing performance as the code execution is as close to bare metal as is possible for a website to operate.
The last observation is that releasing on the GPLv3 licence while reducing dependence on additional libraries also ensures maintainability (and forkability) of the core components, encouraging others to fork the project and move the game forward together in a community fashion.
Why MainHTML?
MainHTML is an accessibility aware template putting users and web developers first. This makes your website into a living document through a collection of rules and interactive roles adapting the content delivery, inferred by behaviour and browser insights.
MainHTML is a downloadable template that makes designing and building websites easier and faster. Leveraging server-less architecture for performance and millions of styling possibilities, you can build a small website in minutes or maintain a significant digital presence with Main. MainHTML or as it's affectionately called <main> after the element and ARIA role, is perfect for;
- students looking to learn web dev;
- professionals looking for a high performance and low cost website;
- small businesses needing fast content updates, local brand visibility and SEO built-in;
- SME who need versatile content and have regional consent and measurement responsibilities;
- companies who demand higher functionality from their websites including powerful personalisation and A/B testing;
- governments where browser compatibility, high availability and accessibility are top priority;
- corporations who demand everything including high fault tolerance and multi-domain cookie less architectures.
MainHTML & Main.JS Founding Statement
First commitment; MainJS is free and open source and will always be, my goal is to give everyone possible a first class ticket to the most well known and well-written markup language on earth; HTML.
Second commitment: relates my first commitment that it is not just because of the projects chosen licence (GPL,) but it's a commitment to remain impartial and community focused and to never sell out or steer MainJS away from the core focus of portability and maintainability.