{"id":611,"date":"2026-03-21T21:39:40","date_gmt":"2026-03-21T21:39:40","guid":{"rendered":"https:\/\/serket.dev\/?page_id=611"},"modified":"2026-03-21T21:39:40","modified_gmt":"2026-03-21T21:39:40","slug":"fluorite-guillotine","status":"publish","type":"page","link":"https:\/\/serket.dev\/index.php\/fluorite-guillotine\/","title":{"rendered":"fluorite guillotine"},"content":{"rendered":"\n<div style=\"background-image:url(&apos;https:\/\/serket.dev\/wp-content\/themes\/plover\/assets\/images\/big-hero-background.png&apos;);background-size:cover;\" class=\"wp-block-group is-style-dark has-neutral-950-color has-neutral-0-background-color has-text-color has-background has-link-color wp-elements-9498fbd2c577d6ea0a77244e97008867 has-global-padding is-layout-constrained wp-container-core-group-is-layout-23cc8a20 wp-block-group-is-layout-constrained\">\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<h1 class=\"wp-block-heading has-text-align-center\" style=\"font-size:clamp(1.976rem, 1.976rem + ((1vw - 0.2rem) * 1.905), 3.5rem);line-height:1.25;text-transform:none\" id=\"fluorite-guillotine\">fluorite guillotine<\/h1>\n\n\n\n<div style=\"height:124px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-group alignfull has-primary-gradient-background has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0\">\n<div style=\"height:4px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n<\/div>\n\n\n\n<p>Fluorite Guillotine is a love letter to 90&#8217;s websites. It was built on the <a href=\"https:\/\/indieweb.org\/principles\" data-type=\"link\" data-id=\"https:\/\/indieweb.org\/principles\">principles<\/a> of the indieweb &#8212; the idea that people deserve ownership of their online presence. As the largest social networks continue to invade privacy and scrape data for unethical AI features, it has become increasingly important to carve out a space on the internet you have control over. The indieweb movement seeks to empower people by teaching them older ways of forming community.  These methods are decentralized and designed for longevity, since they do not rely on the continued support of frameworks and libraries.<\/p>\n\n\n\n<p>Structurally, Fluorite Guillotine is pure HTML and CSS.  There is a single JavaScript file which animates falling stars and does nothing else.  It was a little tricky to implement, but the website is fully mobile responsive through CSS alone.  The wall of <a href=\"https:\/\/indieweb.org\/88x31\" data-type=\"link\" data-id=\"https:\/\/indieweb.org\/88x31\">88&#215;31 badges<\/a> and the recently added <a href=\"https:\/\/indieweb.org\/webring\" data-type=\"link\" data-id=\"https:\/\/indieweb.org\/webring\">webring<\/a> connects the website to similarly-minded folks in the community.  Intentional linking like this is how we build discovery without relying on algorithms.  Out of every website I have worked on, this one is my favorite.<\/p>\n\n\n\n<div class=\"wp-block-jetpack-slideshow aligncenter is-style-rectangular\" data-autoplay=\"true\" data-delay=\"4\" data-effect=\"slide\" style=\"--aspect-ratio:calc(1024 \/ 558)\"><div class=\"wp-block-jetpack-slideshow_container swiper\"><ul class=\"wp-block-jetpack-slideshow_swiper-wrapper swiper-wrapper\"><li class=\"wp-block-jetpack-slideshow_slide swiper-slide\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"558\" alt=\"the front page of Fluorite Guillotine\" class=\"wp-block-jetpack-slideshow_image wp-image-616\" data-id=\"616\" data-aspect-ratio=\"1024 \/ 558\" src=\"https:\/\/serket.dev\/wp-content\/uploads\/fluorite1-1024x558.jpg\" srcset=\"https:\/\/serket.dev\/wp-content\/uploads\/fluorite1-1024x558.jpg 1024w, https:\/\/serket.dev\/wp-content\/uploads\/fluorite1-300x163.jpg 300w, https:\/\/serket.dev\/wp-content\/uploads\/fluorite1-768x419.jpg 768w, https:\/\/serket.dev\/wp-content\/uploads\/fluorite1-1536x837.jpg 1536w, https:\/\/serket.dev\/wp-content\/uploads\/fluorite1-2048x1116.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/li><li class=\"wp-block-jetpack-slideshow_slide swiper-slide\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"558\" alt=\"another screenshot of the front page of Fluorite Guillotine showing the badge wall and webring\" class=\"wp-block-jetpack-slideshow_image wp-image-617\" data-id=\"617\" data-aspect-ratio=\"1024 \/ 558\" src=\"https:\/\/serket.dev\/wp-content\/uploads\/fluorite2-1024x558.jpg\" srcset=\"https:\/\/serket.dev\/wp-content\/uploads\/fluorite2-1024x558.jpg 1024w, https:\/\/serket.dev\/wp-content\/uploads\/fluorite2-300x164.jpg 300w, https:\/\/serket.dev\/wp-content\/uploads\/fluorite2-768x419.jpg 768w, https:\/\/serket.dev\/wp-content\/uploads\/fluorite2-1536x837.jpg 1536w, https:\/\/serket.dev\/wp-content\/uploads\/fluorite2-2048x1116.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/li><li class=\"wp-block-jetpack-slideshow_slide swiper-slide\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"559\" alt=\"the ttrpg library page of Fluorite Guillotine\" class=\"wp-block-jetpack-slideshow_image wp-image-618\" data-id=\"618\" data-aspect-ratio=\"1024 \/ 559\" src=\"https:\/\/serket.dev\/wp-content\/uploads\/fluorite3-1024x559.jpg\" srcset=\"https:\/\/serket.dev\/wp-content\/uploads\/fluorite3-1024x559.jpg 1024w, https:\/\/serket.dev\/wp-content\/uploads\/fluorite3-300x164.jpg 300w, https:\/\/serket.dev\/wp-content\/uploads\/fluorite3-768x419.jpg 768w, https:\/\/serket.dev\/wp-content\/uploads\/fluorite3-1536x838.jpg 1536w, https:\/\/serket.dev\/wp-content\/uploads\/fluorite3-2048x1117.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/li><li class=\"wp-block-jetpack-slideshow_slide swiper-slide\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"558\" alt=\"a mobile screenshot of the front page of Fluorite Guillotine\" class=\"wp-block-jetpack-slideshow_image wp-image-619\" data-id=\"619\" data-aspect-ratio=\"1024 \/ 558\" src=\"https:\/\/serket.dev\/wp-content\/uploads\/fluorite4-1024x558.jpg\" srcset=\"https:\/\/serket.dev\/wp-content\/uploads\/fluorite4-1024x558.jpg 1024w, https:\/\/serket.dev\/wp-content\/uploads\/fluorite4-300x163.jpg 300w, https:\/\/serket.dev\/wp-content\/uploads\/fluorite4-768x419.jpg 768w, https:\/\/serket.dev\/wp-content\/uploads\/fluorite4-1536x837.jpg 1536w, https:\/\/serket.dev\/wp-content\/uploads\/fluorite4-2048x1116.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/li><li class=\"wp-block-jetpack-slideshow_slide swiper-slide\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"558\" alt=\"another sample page from Fluorite Guillotine\" class=\"wp-block-jetpack-slideshow_image wp-image-620\" data-id=\"620\" data-aspect-ratio=\"1024 \/ 558\" src=\"https:\/\/serket.dev\/wp-content\/uploads\/fluorite5-1024x558.jpg\" srcset=\"https:\/\/serket.dev\/wp-content\/uploads\/fluorite5-1024x558.jpg 1024w, https:\/\/serket.dev\/wp-content\/uploads\/fluorite5-300x163.jpg 300w, https:\/\/serket.dev\/wp-content\/uploads\/fluorite5-768x418.jpg 768w, https:\/\/serket.dev\/wp-content\/uploads\/fluorite5-1536x837.jpg 1536w, https:\/\/serket.dev\/wp-content\/uploads\/fluorite5-2048x1116.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/li><\/ul><a class=\"wp-block-jetpack-slideshow_button-prev swiper-button-prev swiper-button-white\" role=\"button\"><\/a><a class=\"wp-block-jetpack-slideshow_button-next swiper-button-next swiper-button-white\" role=\"button\"><\/a><a aria-label=\"Pause Slideshow\" class=\"wp-block-jetpack-slideshow_button-pause\" role=\"button\"><\/a><div class=\"wp-block-jetpack-slideshow_pagination swiper-pagination swiper-pagination-white\"><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>fluorite guillotine Fluorite Guillotine is a love letter to 90&#8217;s websites. It was built on the principles of the indieweb &#8212; the idea that people deserve ownership of their online presence. As the largest social networks continue to invade privacy and scrape data for unethical AI features, it has become increasingly important to carve out [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"jetpack_post_was_ever_published":false,"footnotes":""},"class_list":["post-611","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/PaXf4J-9R","_links":{"self":[{"href":"https:\/\/serket.dev\/index.php\/wp-json\/wp\/v2\/pages\/611","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/serket.dev\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/serket.dev\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/serket.dev\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/serket.dev\/index.php\/wp-json\/wp\/v2\/comments?post=611"}],"version-history":[{"count":4,"href":"https:\/\/serket.dev\/index.php\/wp-json\/wp\/v2\/pages\/611\/revisions"}],"predecessor-version":[{"id":621,"href":"https:\/\/serket.dev\/index.php\/wp-json\/wp\/v2\/pages\/611\/revisions\/621"}],"wp:attachment":[{"href":"https:\/\/serket.dev\/index.php\/wp-json\/wp\/v2\/media?parent=611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}