<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Joost van der Schee</title>
    <description>The latest articles on DEV Community by Joost van der Schee (@jhvanderschee).</description>
    <link>https://dev.to/jhvanderschee</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F350731%2F769e674c-a98c-45e5-8092-156876913068.png</url>
      <title>DEV Community: Joost van der Schee</title>
      <link>https://dev.to/jhvanderschee</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jhvanderschee"/>
    <language>en</language>
    <item>
      <title>A carousel in two lines... and more crazy simple front-end tricks!</title>
      <dc:creator>Joost van der Schee</dc:creator>
      <pubDate>Fri, 14 Nov 2025 10:21:32 +0000</pubDate>
      <link>https://dev.to/jhvanderschee/a-carousel-in-two-lines-and-more-2n8</link>
      <guid>https://dev.to/jhvanderschee/a-carousel-in-two-lines-and-more-2n8</guid>
      <description>&lt;p&gt;Need a lightweight responsive carousel that also works on mobile (with swipe). Need a masonry layout? A filter? A lightbox? What if I told you all you need is a CSS class and a small vanilla JavaScript file? &lt;/p&gt;

&lt;p&gt;With this idea in mind I started &lt;a href="https://code.usecue.com/" rel="noopener noreferrer"&gt;my own code library&lt;/a&gt;. Check it out. It currently holds 6 different front-end tricks that you can implement in seconds!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://code.usecue.com/" rel="noopener noreferrer"&gt;https://code.usecue.com/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>css</category>
      <category>performance</category>
    </item>
    <item>
      <title>Isotope in just 60 lines...</title>
      <dc:creator>Joost van der Schee</dc:creator>
      <pubDate>Wed, 22 Oct 2025 22:54:56 +0000</pubDate>
      <link>https://dev.to/jhvanderschee/isotope-in-just-60-lines-3flh</link>
      <guid>https://dev.to/jhvanderschee/isotope-in-just-60-lines-3flh</guid>
      <description>&lt;p&gt;I saw the &lt;a href="https://isotope.metafizzy.co/filtering" rel="noopener noreferrer"&gt;original Isotope&lt;/a&gt; Javascript fancyness and I just had to write a rebuild using modern web standards. &lt;a href="https://code.usecue.com/filter/" rel="noopener noreferrer"&gt;Check out my rebuild!&lt;/a&gt; My version of Isotope uses a grid layout and animates using view transition. It is silky smooth, blazing fast and has graceful degredation. The code consists of only 63 lines of vanilla JS, while the old version required an astonishing 3500+ lines. If you choose to leave the sorting out, you can even reduce the code to 37 lines. Yup... the web has come a long way.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to use it?
&lt;/h2&gt;

&lt;p&gt;Just set &lt;code&gt;id="isotope"&lt;/code&gt; on any container and give its children classes that represent categories, like &lt;code&gt;class="metal"&lt;/code&gt;. Then create some buttons with data attributes, like &lt;code&gt;data-filter=".metal"&lt;/code&gt; or &lt;code&gt;data-sortby="symbol"&lt;/code&gt;. Load the JS from &lt;a href="https://code.usecue.com/filter/" rel="noopener noreferrer"&gt;the demo&lt;/a&gt; in the footer and it works. You don't need ANY of the CSS. That is all just fancy stuff.&lt;/p&gt;

&lt;h2&gt;
  
  
  Caveats
&lt;/h2&gt;

&lt;p&gt;Note that this version only supports basic filtering and sorting (which are the only things I ever used from the original code). Also note that the animation might not show in older browsers. Finally, be aware that you can not use this Isotope filter twice on the same page, as it lacks abstraction for that.&lt;/p&gt;

&lt;h2&gt;
  
  
  License
&lt;/h2&gt;

&lt;p&gt;This is so basic, you can't license it. You would license modern web standards, which is crazy. So, if anything, it should be WTFPL. The original Isotope code was licensed GPLv3 and was not free for commercial use.&lt;/p&gt;

&lt;p&gt;Enjoy the code!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.usecue.com" rel="noopener noreferrer"&gt;Joost van der Schee&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>css</category>
      <category>animation</category>
      <category>performance</category>
    </item>
    <item>
      <title>Responsive Tiled Mosaic Image Gallery</title>
      <dc:creator>Joost van der Schee</dc:creator>
      <pubDate>Sat, 30 Aug 2025 20:24:17 +0000</pubDate>
      <link>https://dev.to/jhvanderschee/responsive-tiled-mosaic-image-gallery-k76</link>
      <guid>https://dev.to/jhvanderschee/responsive-tiled-mosaic-image-gallery-k76</guid>
      <description>&lt;p&gt;I was converting a website from WordPress to Hugo and needed an &lt;strong&gt;equivalent to the Tiled Image Gallery from Wordpress&lt;/strong&gt;. I wanted the Tiled Mosaic style, but that was a little to complex, as it also contains colspans. I came up with this as an alternative. You can find it here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://code.usecue.com/mosaic/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4o596m08b2ds7kqe7xqt.jpg" alt=" " width="800" height="571"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://code.usecue.com/mosaic/" rel="noopener noreferrer"&gt;https://code.usecue.com/mosaic/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It has a &lt;a href="https://en.wikipedia.org/wiki/WTFPL" rel="noopener noreferrer"&gt;WTFPL license&lt;/a&gt; and is almost fully 'vibe coded'. It is Javascript-heavy and requires no CSS. It uses a simple HTML structure, as illustrated below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div class="tiled-gallery"&amp;gt;
   &amp;lt;a href="full_img_src"&amp;gt;
      &amp;lt;img ratio="0.666" src="thumb_img_src" /&amp;gt;
   &amp;lt;/a&amp;gt;
   ...
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The hardest part of using this code is determining the image ratio before rendering. Any server side language (like PHP) can generate these image ratios though, as can Hugo (which I have built this for). Knowing the image ratio before loading the images prevents layout shifts and ensures a smooth loading experience. &lt;/p&gt;

&lt;p&gt;This whole javascript is only a few kilobytes large, so it loads relatively quickly. It is fully responsive and has a debounce function that limits the redraws to 50ms, preventing it from being CPU-heavy. &lt;/p&gt;

&lt;p&gt;Aestheticly, it aims for about 1 image every 700px of width. The images always fill out nicely and the code prevents subpixel issues. Images have a minimum size, which turns the gallery into a list of images on mobile. The margin between the images is 4px. &lt;/p&gt;

&lt;p&gt;I did not take the time to fully understand the code, but it works pretty nice.&lt;/p&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;

</description>
      <category>webdev</category>
    </item>
    <item>
      <title>Native apps are dead</title>
      <dc:creator>Joost van der Schee</dc:creator>
      <pubDate>Tue, 03 Dec 2024 13:25:12 +0000</pubDate>
      <link>https://dev.to/jhvanderschee/native-apps-are-dead-3j17</link>
      <guid>https://dev.to/jhvanderschee/native-apps-are-dead-3j17</guid>
      <description>&lt;p&gt;&lt;strong&gt;A single line of CSS can enable slick multi-page transitions for web applications (and websites for those who maintain there's a difference), opening up &lt;a href="https://htmhell.dev/adventcalendar/2024/3/" rel="noopener noreferrer"&gt;new possibilities&lt;/a&gt; for web app architectures, and website experiences.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@view-transition {navigation: auto;}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The upcoming of native apps
&lt;/h2&gt;

&lt;p&gt;The launch of the iPhone in 2008 coincided with (and likely ignited) a resurgence of the web. Native iPhone apps arrived, with their smooth, animated state transitions between views, panels and widgets sliding in and out, and satisfying, physics-driven responses to user interactions. The web's traditional multi-page architecture was no match; moving from one page to another was clunky, with screens going blank as new pages loaded over sluggish 3G networks. &lt;/p&gt;

&lt;p&gt;This resulted in an article from Wired &lt;a href="https://www.wired.com/2010/08/ff-webrip/" rel="noopener noreferrer"&gt;The Web Is Dead. Long Live the Internet&lt;/a&gt;, in which they stated that the web lost its relevance and competitive edge. The problem wasn’t just the lack of engaging transitions. Web apps also lacked access to platform APIs, such as address books, cameras, and Bluetooth—features leveraged by native apps to create viral growth and novel experiences. But the absence of smooth UI transitions certainly didn’t help. &lt;/p&gt;

&lt;h2&gt;
  
  
  Unfixable shortcomings
&lt;/h2&gt;

&lt;p&gt;However, native apps also had some unfixable shortcomings, like the lack of SEO / discoverability. To be discovered you needed to be featured in the app store, which meant you had to pay Google and Apple. Additionally, you could not use any business model, as there were strict income rules in the app store. Finally, your app had to work on both iOS and Android, requiring a complex codebase that needed to be updated frequently. Therefore, native apps were limited in terms of growth and business model, and the multiple platforms led to high development costs. &lt;/p&gt;

&lt;h2&gt;
  
  
  The comeback of the web
&lt;/h2&gt;

&lt;p&gt;The promise to make the web competitive again came from Single Page Applications (SPAs). They would allow you to create a website with the advantages of an app, but none of the disadvantages. But, as we learned over time, SPAs also had their shortcomings. There were SEO challenges, complex codebases, accessibility issues, slow loading times and maintenance headaches. Nevertheless, SPAs paved the way for more app-like experiences in websites.&lt;/p&gt;

&lt;p&gt;Today, thanks to SPAs, we have access to almost all platform APIs on the web. The only big reason to choose an SPA over a website (or multi-page application) would be the smooth page transitions. But that has been fixed as well with &lt;a href="https://www.w3.org/TR/css-view-transitions-1/" rel="noopener noreferrer"&gt;View Transitions&lt;/a&gt;. There seems to be no reason left to choose for a native app or SPA. This means that the web has won after all. You (probably) no longer need an app. You just need a website.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is article was first published on &lt;a href="https://www.usecue.com/blog/native-apps-are-dead/" rel="noopener noreferrer"&gt;www.usecue.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>SSG's have become boring technology</title>
      <dc:creator>Joost van der Schee</dc:creator>
      <pubDate>Tue, 03 Dec 2024 13:24:46 +0000</pubDate>
      <link>https://dev.to/jhvanderschee/ssgs-have-become-boring-technology-3838</link>
      <guid>https://dev.to/jhvanderschee/ssgs-have-become-boring-technology-3838</guid>
      <description>&lt;p&gt;Static site generators took off in the year 2008 with Jekyll and Tom Preston-Werner. He simplified website data, by storing it in flat files. These files could then be managed by Git, meaning full ownership and control over all changes.&lt;/p&gt;

&lt;p&gt;You probably expect me to tell you that now, 15 years later, it is time to move on... but I will do exactly the opposite: NOW is the time to adopt static site generation. Because only now, 15 years later, static site generators have become &lt;a href="https://tqdev.com/2018-the-boring-software-manifesto" rel="noopener noreferrer"&gt;boring technology&lt;/a&gt;. This means that all solutions are proven, widely spread, have a minimal amount of dependencies and all (related) software is mature and well-crafted. It is so far evolved that the evengalists of the first hour have decided to &lt;a href="https://www.usecue.com/blog/is-netlify-killing-jamstack/" rel="noopener noreferrer"&gt;move on&lt;/a&gt;. All problems with static site generators have been solved many times and there is a widely spread agreement on how it all should work.&lt;/p&gt;

&lt;p&gt;For those who missed the rise and the evolution of static site generators, I will summarize what the advantages of static site generators are. First of all, you own your data, which is stored in simple flat files in a Git repository. Secondly, you can choose ANY open-source static site generator to turn those files into a website. The static site generator you choose depends on which templating language you prefer and how many data files you have. Next (pun not intended), you need a very simple CMS that is not much more than a fancy markdown file editor. There are many options available, both paid and free. Finally, deploying your output to a hosting environment is a piece of cake. Although there are many options, a simple 'rsync' can do the trick as well. The fact that these things are all separated makes it very robust. You can switch your SSG without switching your CMS or changing your data structure. The same goes for switching your CMS or your deployment method: everything is interoperable.&lt;/p&gt;

&lt;p&gt;One of the nicest things about static site generators is that Github is offering a fully integrated solution &lt;a href="https://github.com/pricing" rel="noopener noreferrer"&gt;for free&lt;/a&gt;. They manage your files using Git, will build your website using ANY static site generator with &lt;a href="https://docs.github.com/en/actions" rel="noopener noreferrer"&gt;Github Actions&lt;/a&gt;, and allow you to host the output on &lt;a href="https://pages.github.com/" rel="noopener noreferrer"&gt;Github Pages&lt;/a&gt;. When you use &lt;a href="https://frontmatter.codes" rel="noopener noreferrer"&gt;Frontmatter.codes&lt;/a&gt; in Visual Studio Code you will even get a fully featured (and free) CMS.&lt;/p&gt;

&lt;p&gt;So... there is a very appealing all-in-one solution from the biggest code platform in the world, powered by Micro$oft. Fortunately, there are also &lt;a href="https://www.tnd.dev/tool/" rel="noopener noreferrer"&gt;hundreds of alternatives&lt;/a&gt; for every part of this solution and they are all interoperable. The SSG eco-system has matured and you will no longer feel trapped in any way. SSG's have officially become 'boring technology'. This means you can use SSG's worry-free in production.&lt;/p&gt;

&lt;p&gt;Happy coding!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to build a fast website?</title>
      <dc:creator>Joost van der Schee</dc:creator>
      <pubDate>Sun, 06 Oct 2024 09:00:28 +0000</pubDate>
      <link>https://dev.to/jhvanderschee/how-to-build-a-fast-website-4h3l</link>
      <guid>https://dev.to/jhvanderschee/how-to-build-a-fast-website-4h3l</guid>
      <description>&lt;p&gt;&lt;strong&gt;There are only four thing you have to know when you want to build fast website. They are equally important and relatively simple.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I know this, because &lt;em&gt;all&lt;/em&gt; my websites have a near perfect Google Lighthouse score. Forget about the endless lists of optimizations you may have seen before. These four guidelines will make your website &lt;a href="https://www.usecue.com/blog/websites-that-load-instantly/" rel="noopener noreferrer"&gt;load instantly&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Make your website small
&lt;/h2&gt;

&lt;p&gt;When I say small I mean really small (in terms of page weight). Do not just use lightweight images, but also write as little CSS and Javascript as possible. Aim for 15kb of CSS and 3kb of Javascript. The reason for this, is that CSS and Javascript are often 'blocking', thus delaying the rendering of the page. The average Wordpress website is &lt;a href="https://httparchive.org/reports/page-weight?lens=wordpress&amp;amp;start=2018_10_01&amp;amp;end=latest&amp;amp;view=list" rel="noopener noreferrer"&gt;3000kb&lt;/a&gt; large and serves almost 10 times that amount of CSS and 100 times that amount of Javascript. No wonder most websites are so slow!&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Make it static
&lt;/h2&gt;

&lt;p&gt;A dynamic page that has to assemble all HTML before serving it to you, will take significantly more time to render than a static page that already consists of plain HTML. The database connections and database requests delay your page load. Static pages are as fast as fully cached pages, which are basically static pages as well. Make it static, either by caching everything or by using a static site generator.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Get a fast host
&lt;/h2&gt;

&lt;p&gt;Some servers take much longer to reply to requests than others and some servers are slow at executing database queries or executing server-side code. The specs of the server and the amount of concurrent users influence the speed of the server. There is no easy way to find out if you have the fastest host. The only way to do that is to benchmark them (or have somebody else do that for you). Get a really fast host.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Serve from the best location
&lt;/h2&gt;

&lt;p&gt;If you have to travel to the other side of the world to serve your website, you will lose approximately 1 second. This means that you should serve your website as close to your audience as possible. CDN's might seem like a good solution for this, &lt;a href="https://www.usecue.com/blog/faster-websites-with-a-cdn/" rel="noopener noreferrer"&gt;but that is not always the case&lt;/a&gt;. Choose your servers location(s) wisely.&lt;/p&gt;

&lt;h2&gt;
  
  
  That is it!
&lt;/h2&gt;

&lt;p&gt;These four guidelines are the answer to the question 'How to build a fast website'. They will make the difference between a website that takes more than 3 seconds to load and a website that loads instantly. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;The article &lt;a href="https://www.usecue.com/blog/how-to-build-a-fast-website/" rel="noopener noreferrer"&gt;How to build a fast website&lt;/a&gt; first appeared on &lt;a href="https://www.usecue.com" rel="noopener noreferrer"&gt;www.usecue.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>SSG's have become boring technology</title>
      <dc:creator>Joost van der Schee</dc:creator>
      <pubDate>Fri, 22 Dec 2023 11:46:10 +0000</pubDate>
      <link>https://dev.to/jhvanderschee/ssgs-have-become-boring-technology-308h</link>
      <guid>https://dev.to/jhvanderschee/ssgs-have-become-boring-technology-308h</guid>
      <description>&lt;p&gt;&lt;em&gt;Static site generators took off in the year 2008 with Jekyll and Tom Preston-Werner. He simplified website data, by storing it in flat files. These files could then be managed by Git, meaning full ownership and control over all changes.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You probably expect me to tell you that now, 15 years later, it is time to move on... but I will do exactly the opposite: NOW is the time to adopt static site generation. Because only now, 15 years later, static site generators have become &lt;a href="https://tqdev.com/2018-the-boring-software-manifesto" rel="noopener noreferrer"&gt;boring technology&lt;/a&gt;. This means that all solutions are proven, widely spread, have a minimal amount of dependencies and all (related) software is mature and well-crafted. It is so far evolved that the evengalists of the first hour have decided to &lt;a href="https://www.usecue.com/blog/is-netlify-killing-jamstack/" rel="noopener noreferrer"&gt;move on&lt;/a&gt;. All problems with static site generators have been solved many times and there is a widely spread agreement on how it all should work.&lt;/p&gt;

&lt;p&gt;For those who missed the rise and the evolution of static site generators, I will summarize what the advantages of static site generators are. First of all, you own your data, which is stored in simple flat files in a Git repository. Secondly, you can choose ANY open-source static site generator to turn those files into a website. The static site generator you choose depends on which templating language you prefer and how many data files you have. Next (pun not intended), you need a very simple CMS that is not much more than a fancy markdown file editor. There are many options available, both paid and free. Finally, deploying your output to a hosting environment is a piece of cake. Although there are many options, a simple 'rsync' can do the trick as well. The fact that these things are all separated makes it very robust. You can switch your SSG without switching your CMS or changing your data structure. The same goes for switching your CMS or your deployment method: everything is interoperable.&lt;/p&gt;

&lt;p&gt;One of the nicest things about static site generators is that Github is offering a fully integrated solution &lt;a href="https://github.com/pricing" rel="noopener noreferrer"&gt;for free&lt;/a&gt;. They manage your files using Git, will build your website using ANY static site generator with &lt;a href="https://docs.github.com/en/actions" rel="noopener noreferrer"&gt;Github Actions&lt;/a&gt;, and allow you to host the output on &lt;a href="https://pages.github.com/" rel="noopener noreferrer"&gt;Github Pages&lt;/a&gt;. When you use &lt;a href="https://frontmatter.codes" rel="noopener noreferrer"&gt;Frontmatter.codes&lt;/a&gt; in Visual Studio Code you will even get a fully featured (and free) CMS.&lt;/p&gt;

&lt;p&gt;So... there is a very appealing all-in-one solution from the biggest code platform in the world, powered by Micro$oft. Fortunately, there are also &lt;a href="https://www.tnd.dev/tool/" rel="noopener noreferrer"&gt;hundreds of alternatives&lt;/a&gt; for every part of this solution and they are all interoperable. The SSG eco-system has matured and you will no longer feel trapped in any way. SSG's have officially become 'boring technology'. This means you can use SSG's worry-free in production.&lt;/p&gt;

&lt;p&gt;Happy coding!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>jamstack</category>
    </item>
    <item>
      <title>Long live the lean web</title>
      <dc:creator>Joost van der Schee</dc:creator>
      <pubDate>Wed, 23 Nov 2022 22:37:44 +0000</pubDate>
      <link>https://dev.to/jhvanderschee/long-live-the-lean-web-1a8o</link>
      <guid>https://dev.to/jhvanderschee/long-live-the-lean-web-1a8o</guid>
      <description>&lt;p&gt;The following text is a &lt;a href="https://twitter.com/thomasfuchs/status/934407069331001344" rel="noopener noreferrer"&gt;Twitter thread&lt;/a&gt; from Thomas Fuchs. Every web developer should have read this. He posted it in November 2017 and it becomes more valuable every year. Chris Ferdinandy even wrote &lt;a href="https://leanweb.dev/ebook/" rel="noopener noreferrer"&gt;a whole book&lt;/a&gt; about it. Thomas ended the thread with the title of this post: 'Long live the lean web'.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;It’s a weird dichotomy: the more capable underlying web tech gets (CSS features, HTML canvas, etc.) the more larger and more complex frameworks on top of it become. If you actually use the underlying improvements directly you’ll notice that you need less and less JavaScript. I noticed that in our new app. We get so much more done with a lot less scripting especially because of newer CSS features like flexbox, calc, vw/vh units, compositing modes, etc. Most of the scripting has to do with progressive enhancement, rather than making basic stuff work. This has so many positive effects:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Much improved load times, especially on mobile&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;no lock-in to a client-side framework&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;simpler HTML structure&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Less code = easier to debug&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Get more done faster with a smaller team&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Almost no cross-browser issues anymore&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;I’m hoping for a second renaissance for the Web, like the one we had after we collectively decided that we don’t want Flash no more. That will happen when people realize that ginormous lock-in client-side “browser-in-a-browser” frameworks aren’t necessary to make great apps.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;KISS.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Less is more.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Brevity is the soul of wit.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;&amp;lt;/rant&amp;gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  A huge fan
&lt;/h2&gt;

&lt;p&gt;I have been advocating this lean web for quite a while now. I was interviewed recently about &lt;a href="https://dev.to/blog/artisanal-web-development/"&gt;artisanal web development&lt;/a&gt; by David Large from CloudCannon, where I advocated passionately for less code (and writing this code yourself). Additionally, I posted an article on &lt;a href="https://dev.to/blog/how-to-get-a-100-google-lighthouse-score/"&gt;how to get a 100% Google Lighthouse score&lt;/a&gt;, which has generated quite a bit of attention. My trick to get to these perfect scores is to stop using frameworks. This is in line with the lean web. I also &lt;a href="https://dev.to/blog/jamstack-means-performance-right/"&gt;wrote a post&lt;/a&gt; about the &lt;a href="https://almanac.httparchive.org/en/2021/jamstack" rel="noopener noreferrer"&gt;Jamstack report from 2021&lt;/a&gt;, where we can see that Jamstack websites (on average) &lt;a href="https://dev.to/blog/jamstack-means-performance-right/"&gt;became terribly slow&lt;/a&gt; as a result of using insane amounts of Javascript. The lean web has clear advantages.&lt;/p&gt;

&lt;p&gt;You can never give too much credits, hence this post. I aim to be a part of the second renaissance Thomas dreams of. Let's make it happen! Long live the lean web!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This post was originally posted on &lt;a href="https://www.usecue.com/blog/long-live-the-lean-web/" rel="noopener noreferrer"&gt;www.usecue.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>html</category>
      <category>performance</category>
      <category>css</category>
    </item>
    <item>
      <title>How to get a 100% Google Lighthouse score</title>
      <dc:creator>Joost van der Schee</dc:creator>
      <pubDate>Thu, 06 Jan 2022 17:30:57 +0000</pubDate>
      <link>https://dev.to/jhvanderschee/how-to-get-a-100-google-lighthouse-score-1mee</link>
      <guid>https://dev.to/jhvanderschee/how-to-get-a-100-google-lighthouse-score-1mee</guid>
      <description>&lt;p&gt;&lt;strong&gt;Google will soon &lt;a href="https://www.usecue.com/blog/google-will-shame-slow-websites/" rel="noopener noreferrer"&gt;shame slow websites&lt;/a&gt;. A good reason to take a good look at your Google Lighthouse score right now. A good reason to take a good look at your Google Lighthouse score &lt;a href="https://web.dev/" rel="noopener noreferrer"&gt;right now&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You might feel that it is nearly impossible to get to a perfect 100% score. You minified your Javascript, properly scaled your images and even combined some requests, but that did not help nearly enough. The problem is: you might be looking at it from the wrong angle. &lt;/p&gt;

&lt;p&gt;I build &lt;a href="https://www.usecue.com/uploads/100procentscore.jpg" rel="noopener noreferrer"&gt;100% scoring websites&lt;/a&gt; on a daily basis, so obviously it is very well possible to get a perfect score on all your websites with little effort. I will try to explain what we want to achieve and how we can achieve that.&lt;/p&gt;

&lt;p&gt;There are some basic facts that a lot of people get wrong when it comes to speed and performance. Minifying &lt;a href="https://css-tricks.com/the-difference-between-minification-and-gzipping/" rel="noopener noreferrer"&gt;does not beat&lt;/a&gt; gzipping, image scaling &lt;a href="http://users.wfu.edu/matthews/misc/graphics/ResVsComp/JpgResVsComp.html" rel="noopener noreferrer"&gt;does not beat&lt;/a&gt; JPG compression and combining requests is actually &lt;a href="https://designsystem.digital.gov/performance/http2/" rel="noopener noreferrer"&gt;counter-effective&lt;/a&gt; over HTTP/2. These are probably the reasons why your earlier efforts had so little effect. Another important thing to know is that Google Lighthouse simulates a slow connection. This emphasizes the importance of a low 'page weight' or 'total size' over fast infrastructure, as a small page is delivered significantly faster over such a narrow connection than a large page.&lt;/p&gt;

&lt;p&gt;Before we look at the actual steps we need to take, let us look at some websites that score (nearly) 100 points on all four categories. It will give you an idea of what the end-result could or should look like. For each site I have listed the weights: the Javascript, CSS and the total page weight. You can also see the number of requests, as well as the time it takes the server to respond (TTFB) and the site to load. Note that these results are results from my computer. Finally, I listed the host, the company that built the website and the &lt;a href="https://dev.to/blog/google-lighthouse-score"&gt;Google Lighthouse score&lt;/a&gt;. Note that the comma separated numbers stand for Performance, Accessibility, Best Practises and SEO.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;a href="https://www.debabywegwijzer.nl/" rel="noopener noreferrer"&gt;debabywegwijzer.nl&lt;/a&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Javascript:&lt;/td&gt;
&lt;td&gt;0kb&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CSS:&lt;/td&gt;
&lt;td&gt;9kb&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Total size:&lt;/td&gt;
&lt;td&gt;120kb&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Requests:&lt;/td&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TTFB:&lt;/td&gt;
&lt;td&gt;22ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DOM loaded:    &lt;/td&gt;
&lt;td&gt;274ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Loading time:&lt;/td&gt;
&lt;td&gt;596ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hosted on:&lt;/td&gt;
&lt;td&gt;CloudFlare (CDN)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Built by:&lt;/td&gt;
&lt;td&gt;Usecue BV&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Score:&lt;/td&gt;
&lt;td&gt;99,100,100,100&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;...&lt;/p&gt;

&lt;p&gt;[article truncated]&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Do you like this? Read the full article on &lt;a href="https://www.usecue.com/blog/how-to-get-a-100-google-lighthouse-score/" rel="noopener noreferrer"&gt;How to get a 100% Google Lighthouse score &lt;/a&gt; at &lt;a href="https://www.usecue.com/blog/how-to-get-a-100-google-lighthouse-score/" rel="noopener noreferrer"&gt;www.usecue.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>html</category>
      <category>performance</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Building a Jekyll Site in the browser in less than 20 minutes</title>
      <dc:creator>Joost van der Schee</dc:creator>
      <pubDate>Sat, 14 Mar 2020 23:17:47 +0000</pubDate>
      <link>https://dev.to/jhvanderschee/building-a-jekyll-site-in-the-browser-in-less-than-20-minutes-1f8c</link>
      <guid>https://dev.to/jhvanderschee/building-a-jekyll-site-in-the-browser-in-less-than-20-minutes-1f8c</guid>
      <description>&lt;p&gt;At my first conference talk ever (JekyllConf2019) I showed the world how to build a Jekyll website in under 20 minutes, using nothing but a browser.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://vimeo.com/361839295" rel="noopener noreferrer"&gt;https://vimeo.com/361839295&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Jekyll?
&lt;/h2&gt;

&lt;p&gt;Jekyll transforms your plain text into static websites and blogs. It is simple: no databases or pesky updates to install. It is static: Markdown, Liquid, HTML &amp;amp; CSS go in and blazing fast static sites come out, ready for deployment. It is feature rich: Permalinks, categories, pages, posts and custom layouts are all first-class citizens. Additionally, Jekyll gets you free hosting with GitHub Pages. Are you sick of dealing with hosting companies? GitHub Pages are powered by Jekyll, so you can easily deploy your site using GitHub for free—custom domain name and all.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why in a browser?
&lt;/h2&gt;

&lt;p&gt;A lot of people think that Jekyll requires the command line, which is scary for beginners. In my tutorial I show you that you do not need to use the command line.&lt;/p&gt;

&lt;h2&gt;
  
  
  What will we build?
&lt;/h2&gt;

&lt;p&gt;We will be building a Jekyll website with version control (Git), a CMS and a form builder. Are you ready?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://vimeo.com/361839295" rel="noopener noreferrer"&gt;https://vimeo.com/361839295&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>css</category>
      <category>webdev</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
