PageSourceSearch

https://2020-sites.vercel.app/hack-club-hackathons

html 2020-sites.vercel.app collected 2026-10-03 06:02:15 UTC 43,632 bytes, 6 lines download raw bytes

1<!DOCTYPE html><html><head><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/>
1<script async="" defer="" data-domain="2020-sites.lachlanjc.com" src="https://plausible.io/js/plausible.js"></script>
1<meta property="og:locale" content="en_US"/><meta property="og:type" content="website"/><meta property="og:site_name" content="2020 Sites"/><meta property="og:url" content="https://2020-sites.lachlanjc.com/[slug]"/><link rel="canonical" href="https://2020-sites.lachlanjc.com/[slug]"/><title>Hack Club Hackathons – 2020 Sites</title><meta property="og:title" content="Hack Club Hackathons – 2020 Sites"/><meta name="twitter:title" content="Hack Club Hackathons – 2020 Sites"/><meta name="description" content="Portfolio of 12 websites made by @lachlanjc throughout 2020."/><meta property="og:description" content="Portfolio of 12 websites made by @lachlanjc throughout 2020."/><meta name="twitter:description" content="Portfolio of 12 websites made by @lachlanjc throughout 2020."/><meta property="og:image" content="https://2020-sites.vercel.app/card.jpg"/><meta property="og:image:alt" content="Lachlan sitting at a desk coding, wearing red headphones, with the text 2020 Websites overlaid."/><meta property="og:image:width" content="1080"/><meta property="og:image:height" content="543"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:image" content="https://2020-sites.vercel.app/card.jpg"/><meta name="theme-color" content="#0070f3"/><link rel="mask-icon" href="https://2020-sites.lachlanjc.com/safari-pinned-tab.png" color="#0070f3"/><link rel="apple-touch-icon" sizes="180x180" href="https://2020-sites.lachlanjc.com/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="https://2020-sites.lachlanjc.com/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="https://2020-sites.lachlanjc.com/favicon-16x16.png"/><meta name="next-head-count" content="25"/><noscript data-n-css=""></noscript><link rel="preload" href="/_next/static/chunks/main-0186a3c540b9859206b2.js" as="script"/><link rel="preload" href="/_next/static/chunks/webpack-50bee04d1dc61f8adf5b.js" as="script"/><link rel="preload" href="/_next/static/chunks/framework.9d524150d48315f49e80.js" as="script"/><link rel="preload" href="/_next/static/chunks/commons.db8e5b07ac008231ac1b.js" as="script"/><link rel="preload" href="/_next/static/chunks/2dd8024639213757075864c624e37c2da904a9c5.e1364c80d9bcdb916887.js" as="script"/><link rel="preload" href="/_next/static/chunks/pages/_app-a3e6f443713fae7aeac5.js" as="script"/><link rel="preload" href="/_next/static/chunks/fd73fa5fb9f73f18227a47c23a9002adcbd74f44.65145b09b88a3a6db0c4.js" as="script"/><link rel="preload" href="/_next/static/chunks/pages/%5Bslug%5D-6a5d73d536d20ad3c9d3.js" as="script"/><style id="__jsx-1539136175">.timeline{padding-top:12pt;margin:0 !important;overflow-x:auto;-webkit-scroll-snap-type:x mandatory;-moz-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;}.timeline a{color:inherit;min-width:72px;max-width:128px;text-align:center;line-height:1.25;-webkit-scroll-snap-align:start;-moz-scroll-snap-align:start;-ms-scroll-snap-align:start;scroll-snap-align:start;}.timeline a.active{-webkit-filter:drop-shadow(0 0 5px white);filter:drop-shadow(0 0 5px white);}.timeline a:focus>div,.timeline a:hover>div{-webkit-transform:scale(1.25);-ms-transform:scale(1.25);transform:scale(1.25);}.timeline a>div{-webkit-transition:-webkit-transform 0.125s ease-in-out;-webkit-transition:transform 0.125s ease-in-out;transition:transform 0.125s ease-in-out;-webkit-transform-origin:center top;-ms-transform-origin:center top;transform-origin:center top;will-change:transform;}.timeline a img{border-radius:5px;}</style><style id="__jsx-3805678862">.author{-webkit-align-items:center !important;-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;}.names{-webkit-flex-direction:column-reverse !important;-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important;line-height:1.5;}.author>a{color:inherit !important;line-height:0;}</style><style id="__jsx-1448678120">@media (min-width:32em){.project-header{grid-template-columns:2fr 3fr;-webkit-align-items:end;-webkit-box-align:end;-ms-flex-align:end;align-items:end;max-width:768pt;margin:auto;}.project-header header{grid-column:span 2;}}.project-header{display:grid !important;grid-gap:16pt;}.project nav a{color:inherit !important;-webkit-align-items:center !important;-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;text-transform:uppercase;}
1@media (max-width:32em){.project-header nav span{display:none;}}.project-header header,.project-header footer{-webkit-align-items:center !important;-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;margin-left:-6pt !important;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}.project-header header a:first-child{line-height:0;margin-right:12pt;}.project-header footer a{margin-right:8pt;}.project-header header a,.project-header footer a{opacity:0.75;color:inherit !important;}.project-header h1{line-height:1.125;}article{max-width:56ch;font-size:1.125rem;}article p{margin:0;}article a{-webkit-text-decoration:underline;text-decoration:underline;text-underline-position:under;-webkit-text-decoration-thickness:0.2em;text-decoration-thickness:0.2em;-webkit-text-decoration-color:rgba(255,255,255,0.5);text-decoration-color:rgba(255,255,255,0.5);-webkit-transition:all 0.125s ease-in-out;transition:all 0.125s ease-in-out;color:inherit;}article a:hover,article a:focus{-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration-thickness:0.05em;text-decoration-thickness:0.05em;text-shadow:0 0 3px rgba(255,255,255,0.875);-webkit-text-decoration-color:rgba(255,255,255,0.75);text-decoration-color:rgba(255,255,255,0.75);}.bowser{-webkit-perspective:1px;-moz-perspective:1px;-ms-perspective:1px;perspective:1px;}.names a,.names a:hover,.names span{color:inherit !important;}</style><style id="__jsx-1435681901">html,body{background-color:#fff;color:#000;}html{font-size:16px;--geist-icons-background:#fff;}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-size:1rem;line-height:1.5;margin:0;padding:0;min-height:100%;position:relative;overflow-x:hidden;font-family:ui-rounded, "Avenir Next", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;}#__next{overflow-x:hidden;}*,*:before,*:after{box-sizing:inherit;text-rendering:geometricPrecision;-webkit-tap-highlight-color:transparent;}p,small{font-weight:400;color:inherit;-webkit-letter-spacing:-0.005625rem;-moz-letter-spacing:-0.005625rem;-ms-letter-spacing:-0.005625rem;letter-spacing:-0.005625rem;font-family:ui-rounded, "Avenir Next", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;}p{margin:1rem 0;font-size:1em;line-height:1.625em;}small{margin:0;line-height:1.5;font-size:0.875rem;}b{font-weight:600;}span{font-size:inherit;color:inherit;font-weight:inherit;}img{max-width:100%;}a{cursor:pointer;font-size:inherit;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-box-align:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#0070f3;-webkit-text-decoration:none;text-decoration:none;}a:hover{-webkit-text-decoration:none;text-decoration:none;}ul,ol{padding:0;list-style-type:none;margin:8pt 8pt 8pt 16pt;color:#000;}ol{list-style-type:decimal;}li{margin-bottom:0.625rem;font-size:1em;line-height:1.625em;}ul li:before{content:'–';display:inline-block;color:#888;position:absolute;margin-left:-0.9375rem;}h1,h2,h3,h4,h5,h6{color:inherit;margin:0 0 0.625rem 0;}h1{font-size:3rem;-webkit-letter-spacing:-0.066875rem;-moz-letter-spacing:-0.066875rem;-ms-letter-spacing:-0.066875rem;letter-spacing:-0.066875rem;line-height:1.5;font-weight:700;}h2{font-size:2.25rem;-webkit-letter-spacing:-0.020625rem;-moz-letter-spacing:-0.020625rem;-ms-letter-spacing:-0.020625rem;letter-spacing:-0.020625rem;font-weight:600;}h3{font-size:1.5rem;-webkit-letter-spacing:-0.029375rem;-moz-letter-spacing:-0.029375rem;-ms-letter-spacing:-0.029375rem;letter-spacing:-0.029375rem;font-weight:600;}h4{font-size:1.25rem;-webkit-letter-spacing:-0.020625rem;-moz-letter-spacing:-0.020625rem;-ms-letter-spacing:-0.020625rem;letter-spacing:-0.020625rem;font-weight:600;}h5{font-size:1rem;-webkit-letter-spacing:-0.01125rem;-moz-letter-spacing:-0.01125rem;-ms-letter-spacing:-0.01125rem;letter-spacing:-0.01125rem;font-weight:600;}h6{font-size:0.875rem;-webkit-letter-spacing:-0.005625rem;-moz-letter-spacing:-0.005625rem;-ms-letter-spacing:-0.005625rem;letter-spacing:-0.005625rem;font-weight:600;}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;margin:0;}
1button:focus,input:focus,select:focus,textarea:focus{outline:none;}code{color:#f81ce5;font-family:Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;font-size:0.9em;white-space:pre-wrap;}code:before,code:after{content:'\`';}pre{border:1px solid #eaeaea;border-radius:5px;padding:calc(16pt * 0.75) 16pt;margin:16pt 0;font-family:Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;white-space:pre;overflow:auto;line-height:1.5;text-align:left;font-size:0.875rem;-webkit-overflow-scrolling:touch;}pre code{color:#000;font-size:0.8125rem;line-height:1.25rem;white-space:pre;}pre code:before,pre code:after{display:none;}pre p{margin:0;}pre::-webkit-scrollbar{display:none;width:0;height:0;background:transparent;}hr{border-color:#eaeaea;}details{background-color:#fafafa;border:none;}details:focus,details:hover,details:active{outline:none;}summary{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;list-style:none;outline:none;}summary::-webkit-details-marker,summary::before{display:none;}summary::-moz-list-bullet{font-size:0;}summary:focus,summary:hover,summary:active{outline:none;list-style:none;}blockquote{padding:calc(0.667 * 16pt) 16pt;color:#666;background-color:#fafafa;border-radius:5px;margin:1.5rem 0;border:1px solid #eaeaea;}blockquote *:first-child{margin-top:0;}blockquote *:last-child{margin-bottom:0;}::selection{background-color:#79ffe1;color:#000;}</style><style id="__jsx-1522418964">small.jsx-1522418964{color:inherit;}.custom-size.jsx-1522418964{font-size:inherit;}</style><style id="__jsx-180329529">.col.jsx-180329529{float:left;box-sizing:border-box;padding-left:calc(var(--row-gap) / 2);padding-right:calc(var(--row-gap) / 2);width:100%;margin-left:0%;}</style><style id="__jsx-805937993">b.jsx-805937993{color:inherit;}.custom-size.jsx-805937993{font-size:inherit;}</style><style id="__jsx-2841537113">.row.jsx-2841537113{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;box-sizing:border-box;margin-left:calc(1 * 16pt / 2);margin-right:calc(1 * 16pt / 2);--row-gap:calc(1 * 16pt);-webkit-box-pack:normal;-webkit-justify-content:normal;-ms-flex-pack:normal;justify-content:normal;-webkit-align-items:normal;-webkit-box-align:normal;-ms-flex-align:normal;align-items:normal;}</style><style id="__jsx-870436695">
1span.jsx-870436695{display:block;height:1px;width:1px;margin-left:calc(15.25pt + 1px * 0);margin-top:calc(15.25pt + 1px * 0);}</style><style id="__jsx-1777194380">.link.jsx-1777194380{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;line-height:inherit;color:#0070f3;-webkit-text-decoration:none;text-decoration:none;padding:calc(4pt * 0.8) calc(4pt * 1.7);border-radius:5px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;-webkit-transition:color 200ms ease 0ms;transition:color 200ms ease 0ms;}.link.jsx-1777194380:hover,.link.jsx-1777194380:active,.link.jsx-1777194380:focus{-webkit-text-decoration:none;text-decoration:none;}.link.jsx-1777194380:hover{background-color:rgba(0, 112, 243, 0.1);color:#3291ff;}</style><style id="__jsx-7157526">span.jsx-7157526{display:inline-block;padding:4px 7px;border-radius:16px;font-variant:tabular-nums;line-height:1;vertical-align:middle;background-color:#000;color:#fff;font-size:1rem;border:0;}.dot.jsx-7157526{padding:4px;border-radius:50%;}</style><style id="__jsx-3499487811">span.jsx-3499487811{display:block;height:1px;width:1px;margin-left:calc(15.25pt + 1px * 0);margin-top:calc(30.5pt + 1px * 1);}</style><style id="__jsx-1044315848">span.jsx-1044315848{display:block;height:1px;width:1px;margin-left:calc(3.8125pt + 1px * -0.75);margin-top:calc(15.25pt + 1px * 0);}</style><style id="__jsx-2557599477">span.jsx-2557599477{display:block;height:1px;width:1px;margin-left:calc(11.4375pt + 1px * -0.25);margin-top:calc(15.25pt + 1px * 0);}</style><style id="__jsx-86683480">.row.jsx-86683480{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;box-sizing:border-box;margin-left:calc(0 * 16pt / 2);margin-right:calc(0 * 16pt / 2);--row-gap:calc(0 * 16pt);-webkit-box-pack:normal;-webkit-justify-content:normal;-ms-flex-pack:normal;justify-content:normal;-webkit-align-items:normal;-webkit-box-align:normal;-ms-flex-align:normal;align-items:normal;}</style><style id="__jsx-3222896053">span.jsx-3222896053{display:block;height:1px;width:1px;margin-left:calc(15.25pt + 1px * 0);margin-top:calc(11.4375pt + 1px * -0.25);}</style><style id="__jsx-4183941394">h1.jsx-4183941394{color:inherit;}.custom-size.jsx-4183941394{font-size:inherit;}</style><style id="__jsx-2691738060">.icon.jsx-2691738060{margin:0 5px;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;color:currentColor;}</style><style id="__jsx-3101351360">.link.jsx-3101351360{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;line-height:inherit;color:inherit;-webkit-text-decoration:none;text-decoration:none;padding:calc(0 * 0.8) calc(0 * 1.7);border-radius:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;-webkit-transition:color 200ms ease 0ms;transition:color 200ms ease 0ms;}.link.jsx-3101351360:hover,.link.jsx-3101351360:active,.link.jsx-3101351360:focus{-webkit-text-decoration:none;text-decoration:none;}.link.jsx-3101351360:hover{background-color:unset;color:inherit;}</style><style id="__jsx-3735535901">.address-input.jsx-3735535901{height:1.75rem;max-width:60%;min-width:40%;background-color:#fafafa;color:inherit;border-radius:3px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding:0 10px;overflow:hidden;position:relative;}.address-input.jsx-3735535901 *{font-size:0.75rem;color:inherit;}.address-input.jsx-3735535901 a{max-width:90%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:inline-block;color:inherit;}.https.jsx-3735535901{width:12px;height:12px;margin-right:5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-top:-1px;color:inherit;}</style><style id="__jsx-9546845">.bowser.jsx-9546845{background-color:transparent;box-shadow:0 30px 60px rgba(0, 0, 0, 0.12);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;margin:0 auto;border-radius:5px;overflow:hidden;}.bowser.jsx-9546845 .image{border-top-left-radius:0;border-top-right-radius:0;}header.jsx-9546845{height:2.5rem;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;
1-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;position:relative;color:#000;background-color:#fff;border-bottom:1px solid #eaeaea;}.traffic.jsx-9546845{width:auto;position:absolute;left:8pt;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);bottom:0;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.traffic.jsx-9546845 span.jsx-9546845{border-radius:50%;width:0.75rem;height:0.75rem;display:inline-block;margin-right:0.5rem;}.close.jsx-9546845{background-color:#ff5f56;}.mini.jsx-9546845{background-color:#ffbd2e;}.full.jsx-9546845{background-color:#27c93f;}</style><style id="__jsx-2751559520">.row.jsx-2751559520{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;box-sizing:border-box;margin-left:calc(0 * 16pt / 2);margin-right:calc(0 * 16pt / 2);--row-gap:calc(0 * 16pt);-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:normal;-webkit-box-align:normal;-ms-flex-align:normal;align-items:normal;}</style><style id="__jsx-35822646">.avatar.jsx-35822646{width:32px;height:32px;display:inline-block;position:relative;overflow:hidden;border:1px solid #eaeaea;border-radius:50%;vertical-align:top;background-color:#fff;margin:0 0 0 0;}.avatar.jsx-35822646:first-child{margin:0;}.avatar-img.jsx-35822646{display:inline-block;width:100%;height:100%;border-radius:50%;}.avatar-text.jsx-35822646{position:absolute;left:50%;top:50%;font-size:1em;text-align:center;-webkit-transform:translate(-50%,-50%) scale(0.65);-ms-transform:translate(-50%,-50%) scale(0.65);transform:translate(-50%,-50%) scale(0.65);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}</style><style id="__jsx-2606792827">.link.jsx-2606792827{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;line-height:inherit;color:#0070f3;-webkit-text-decoration:none;text-decoration:none;padding:calc(0 * 0.8) calc(0 * 1.7);border-radius:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;-webkit-transition:color 200ms ease 0ms;transition:color 200ms ease 0ms;}.link.jsx-2606792827:hover,.link.jsx-2606792827:active,.link.jsx-2606792827:focus{-webkit-text-decoration:none;text-decoration:none;}.link.jsx-2606792827:hover{background-color:unset;color:#3291ff;}</style><style id="__jsx-3263947648">div.jsx-3263947648 a:hover{opacity:0.7;}</style><style id="__jsx-3839489348">.user.jsx-3839489348{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;padding:0 8pt;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;}.names.jsx-3839489348{margin-left:8pt;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;white-space:nowrap;}.name.jsx-3839489348{font-size:0.89rem;color:#111;line-height:1.1rem;text-transform:capitalize;font-weight:500;max-width:15rem;text-overflow:ellipsis;overflow:hidden;}.social.jsx-3839489348{font-size:0.75rem;color:#444;}.social.jsx-3839489348 *:first-child{margin-top:0;}.social.jsx-3839489348 *:last-child{margin-bottom:0;}</style></head><body><div id="__next"><style>
2      body {
3        background-color: #252429;
4        color: #fff;
5      }
6    </style><nav class="jsx-2841537113 row timeline"><a href="/gun-funded" class="jsx-180329529 col "><div style="display:inline-block;max-width:100%;overflow:hidden;position:relative;box-sizing:border-box;margin:0"><div style="box-sizing:border-box;display:block;max-width:100%"><img style="max-width:100%;display:block;margin:0;border:none;padding:0" alt="" aria-hidden="true" role="presentation" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjI3LjY2NjY2NjY2NjY2NjY2IiBoZWlnaHQ9IjE3MC42NjY2NjY2NjY2NjY2NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4="/></div><img alt="Screenshot of gun funded" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" style="visibility:hidden;position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/></div><small class="jsx-1522418964  ">January</small></a>
6<a href="/hack-club-hackathons" class="jsx-180329529 col active"><div style="display:inline-block;max-width:100%;overflow:hidden;position:relative;box-sizing:border-box;margin:0"><div style="box-sizing:border-box;display:block;max-width:100%"><img style="max-width:100%;display:block;margin:0;border:none;padding:0" alt="" aria-hidden="true" role="presentation" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjI3LjY2NjY2NjY2NjY2NjY2IiBoZWlnaHQ9IjE3MC42NjY2NjY2NjY2NjY2NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4="/></div><img alt="Screenshot of hack club hackathons" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" style="visibility:hidden;position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/></div><small class="jsx-1522418964  "><b class="jsx-805937993  ">February</b></small></a><a href="/predict-covid19" class="jsx-180329529 col "><div style="display:inline-block;max-width:100%;overflow:hidden;position:relative;box-sizing:border-box;margin:0"><div style="box-sizing:border-box;display:block;max-width:100%"><img style="max-width:100%;display:block;margin:0;border:none;padding:0" alt="" aria-hidden="true" role="presentation" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjI3LjY2NjY2NjY2NjY2NjY2IiBoZWlnaHQ9IjE3MC42NjY2NjY2NjY2NjY2NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4="/></div><img alt="Screenshot of predict covid19" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" style="visibility:hidden;position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/></div><small class="jsx-1522418964  ">March</small></a><a href="/hack-club-covid" class="jsx-180329529 col "><div style="display:inline-block;max-width:100%;overflow:hidden;position:relative;box-sizing:border-box;margin:0"><div style="box-sizing:border-box;display:block;max-width:100%"><img style="max-width:100%;display:block;margin:0;border:none;padding:0" alt="" aria-hidden="true" role="presentation" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjI3LjY2NjY2NjY2NjY2NjY2IiBoZWlnaHQ9IjE3MC42NjY2NjY2NjY2NjY2NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4="/></div><img alt="Screenshot of hack club covid" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" style="visibility:hidden;position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/></div><small class="jsx-1522418964  ">April</small></a><a href="/covid-global-hackathon" class="jsx-180329529 col "><div style="display:inline-block;max-width:100%;overflow:hidden;position:relative;box-sizing:border-box;margin:0"><div style="box-sizing:border-box;display:block;max-width:100%"><img style="max-width:100%;display:block;margin:0;border:none;padding:0" alt="" aria-hidden="true" role="presentation" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjI3LjY2NjY2NjY2NjY2NjY2IiBoZWlnaHQ9IjE3MC42NjY2NjY2NjY2NjY2NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4="/></div><img alt="Screenshot of covid global hackathon" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" style="visibility:hidden;position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/></div><small class="jsx-1522418964  ">April</small></a><a href="/covid19-diary" class="jsx-180329529 col "><div style="display:inline-block;max-width:100%;overflow:hidden;position:relative;box-sizing:border-box;margin:0"><div style="box-sizing:border-box;display:block;max-width:100%"><img style="max-width:100%;display:block;margin:0;border:none;padding:0" alt="" aria-hidden="true" role="presentation" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjI3LjY2NjY2NjY2NjY2NjY2IiBoZWlnaHQ9IjE3MC42NjY2NjY2NjY2NjY2NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4="/></div><img alt="Screenshot of covid19 diary" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" style="visibility:hidden;position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/></div><small class="jsx-1522418964  ">May</small></a>
6<a href="/hack-club-summer" class="jsx-180329529 col "><div style="display:inline-block;max-width:100%;overflow:hidden;position:relative;box-sizing:border-box;margin:0"><div style="box-sizing:border-box;display:block;max-width:100%"><img style="max-width:100%;display:block;margin:0;border:none;padding:0" alt="" aria-hidden="true" role="presentation" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjI3LjY2NjY2NjY2NjY2NjY2IiBoZWlnaHQ9IjE3MC42NjY2NjY2NjY2NjY2NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4="/></div><img alt="Screenshot of hack club summer" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" style="visibility:hidden;position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/></div><small class="jsx-1522418964  ">June</small></a><a href="/hack-club-scrapbook" class="jsx-180329529 col "><div style="display:inline-block;max-width:100%;overflow:hidden;position:relative;box-sizing:border-box;margin:0"><div style="box-sizing:border-box;display:block;max-width:100%"><img style="max-width:100%;display:block;margin:0;border:none;padding:0" alt="" aria-hidden="true" role="presentation" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjI3LjY2NjY2NjY2NjY2NjY2IiBoZWlnaHQ9IjE3MC42NjY2NjY2NjY2NjY2NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4="/></div><img alt="Screenshot of hack club scrapbook" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" style="visibility:hidden;position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/></div><small class="jsx-1522418964  ">July</small></a><a href="/hack-club-clubs" class="jsx-180329529 col "><div style="display:inline-block;max-width:100%;overflow:hidden;position:relative;box-sizing:border-box;margin:0"><div style="box-sizing:border-box;display:block;max-width:100%"><img style="max-width:100%;display:block;margin:0;border:none;padding:0" alt="" aria-hidden="true" role="presentation" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjI3LjY2NjY2NjY2NjY2NjY2IiBoZWlnaHQ9IjE3MC42NjY2NjY2NjY2NjY2NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4="/></div><img alt="Screenshot of hack club clubs" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" style="visibility:hidden;position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/></div><small class="jsx-1522418964  ">September</small></a><a href="/hack-club-bank" class="jsx-180329529 col "><div style="display:inline-block;max-width:100%;overflow:hidden;position:relative;box-sizing:border-box;margin:0"><div style="box-sizing:border-box;display:block;max-width:100%"><img style="max-width:100%;display:block;margin:0;border:none;padding:0" alt="" aria-hidden="true" role="presentation" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjI3LjY2NjY2NjY2NjY2NjY2IiBoZWlnaHQ9IjE3MC42NjY2NjY2NjY2NjY2NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4="/></div><img alt="Screenshot of hack club bank" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" style="visibility:hidden;position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/></div><small class="jsx-1522418964  ">October</small></a><a href="/2019-in-review" class="jsx-180329529 col "><div style="display:inline-block;max-width:100%;overflow:hidden;position:relative;box-sizing:border-box;margin:0"><div style="box-sizing:border-box;display:block;max-width:100%"><img style="max-width:100%;display:block;margin:0;border:none;padding:0" alt="" aria-hidden="true" role="presentation" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjI3LjY2NjY2NjY2NjY2NjY2IiBoZWlnaHQ9IjE3MC42NjY2NjY2NjY2NjY2NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4="/></div><img alt="Screenshot of 2019 in review" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" style="visibility:hidden;position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/></div><small class="jsx-1522418964  ">December</small></a>
6<a href="/centre-sustains" class="jsx-180329529 col "><div style="display:inline-block;max-width:100%;overflow:hidden;position:relative;box-sizing:border-box;margin:0"><div style="box-sizing:border-box;display:block;max-width:100%"><img style="max-width:100%;display:block;margin:0;border:none;padding:0" alt="" aria-hidden="true" role="presentation" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjI3LjY2NjY2NjY2NjY2NjY2IiBoZWlnaHQ9IjE3MC42NjY2NjY2NjY2NjY2NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4="/></div><img alt="Screenshot of centre sustains" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" style="visibility:hidden;position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/></div><small class="jsx-1522418964  ">December</small></a></nav><span class="jsx-870436695 "></span><div id="hack-club-hackathons" gap="2" style="background-color:#252429;color:#fff;margin:0;padding:24pt 12pt" class="jsx-180329529 col project"><header class="jsx-1448678120 project-header"><header class="jsx-86683480 row "><a href="" title="View all sites" class="jsx-1777194380 link "><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="-3 -3 21 21" aria-hidden="true" fill="currentColor"><circle cx="0" cy="0" r="2"></circle><circle cx="0" cy="8" r="2"></circle><circle cx="0" cy="16" r="2"></circle><circle cx="8" cy="0" r="2"></circle><circle cx="8" cy="8" r="2"></circle><circle cx="8" cy="16" r="2"></circle><circle cx="16" cy="0" r="2"></circle><circle cx="16" cy="8" r="2"></circle><circle cx="16" cy="16" r="2"></circle></svg></a><span style="color:inherit;background-color:rgba(255,255,255,0.25);font-weight:bold;padding:6px 12px;text-transform:uppercase" class="jsx-7157526  ">February</span><span style="flex:1 1 auto" class="jsx-3499487811 "></span><nav class="jsx-86683480 row "><a href="" title="View previous site" class="jsx-1777194380 link "><svg fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" preserveAspectRatio="xMidYMid meet" fill="currentColor" width="24" height="24" title="Next"><path d="M19.768,23.89c0.354,-0.424 0.296,-1.055 -0.128,-1.408c-1.645,-1.377 -5.465,-4.762 -6.774,-6.482c1.331,-1.749 5.1,-5.085 6.774,-6.482c0.424,-0.353 0.482,-0.984 0.128,-1.408c-0.353,-0.425 -0.984,-0.482 -1.409,-0.128c-1.839,1.532 -5.799,4.993 -7.2,6.964c-0.219,0.312 -0.409,0.664 -0.409,1.054c0,0.39 0.19,0.742 0.409,1.053c1.373,1.932 5.399,5.462 7.2,6.964l0.001,0.001c0.424,0.354 1.055,0.296 1.408,-0.128Z"></path></svg><span class="jsx-1044315848 "></span>Prev</a><span class="jsx-2557599477 "></span><a href="" title="View next site" class="jsx-1777194380 link ">Next<span class="jsx-1044315848 "></span><svg fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" preserveAspectRatio="xMidYMid meet" fill="currentColor" width="24" height="24" title="Next"><path d="M12.982,23.89c-0.354,-0.424 -0.296,-1.055 0.128,-1.408c1.645,-1.377 5.465,-4.762 6.774,-6.482c-1.331,-1.749 -5.1,-5.085 -6.774,-6.482c-0.424,-0.353 -0.482,-0.984 -0.128,-1.408c0.353,-0.425 0.984,-0.482 1.409,-0.128c1.839,1.532 5.799,4.993 7.2,6.964c0.219,0.312 0.409,0.664 0.409,1.054c0,0.39 -0.19,0.742 -0.409,1.053c-1.373,1.932 -5.399,5.462 -7.2,6.964l-0.001,0.001c-0.424,0.354 -1.055,0.296 -1.408,-0.128Z"></path></svg></a></nav></header><aside class="jsx-1448678120"><span class="jsx-3222896053 "></span><h1 class="jsx-4183941394  ">Hack Club Hackathons</h1><footer class="jsx-86683480 row "><a href="https://hackathons.hackclub.com" class="jsx-1777194380 link ">hackathons.hackclub.com<svg viewBox="0 0 24 24" width="1em" height="1em" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" fill="none" shape-rendering="geometricPrecision" class="jsx-2691738060 icon"><path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6" class="jsx-2691738060"></path><path d="M15 3h6v6" class="jsx-2691738060"></path><path d="M10 14L21 3" class="jsx-2691738060"></path></svg></a><a href="https://github.com/hackclub/hackathons" style="align-items:center" class="jsx-1777194380 link "><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
6ox="0 0 14 14" fill="currentColor" aria-hidden="true" style="margin-right:6pt"><path d="M7 .175c-3.872 0-7 3.128-7 7 0 3.084 2.013 5.71 4.79 6.65.35.066.482-.153.482-.328v-1.181c-1.947.415-2.363-.941-2.363-.941-.328-.81-.787-1.028-.787-1.028-.634-.438.044-.416.044-.416.7.044 1.071.722 1.071.722.635 1.072 1.641.766 2.035.59.066-.459.24-.765.437-.94-1.553-.175-3.193-.787-3.193-3.456 0-.766.262-1.378.721-1.881-.065-.175-.306-.897.066-1.86 0 0 .59-.197 1.925.722a6.754 6.754 0 0 1 1.75-.24c.59 0 1.203.087 1.75.24 1.335-.897 1.925-.722 1.925-.722.372.963.131 1.685.066 1.86.46.48.722 1.115.722 1.88 0 2.691-1.641 3.282-3.194 3.457.24.219.481.634.481 1.29v1.926c0 .197.131.415.481.328C11.988 12.884 14 10.259 14 7.175c0-3.872-3.128-7-7-7z" fill-rule="nonzero"></path></svg>Source code</a></footer></aside><article class="jsx-1448678120"><p>I’ve built a lot of sites for <a href="https://hackclub.com/" class="external">Hack Club</a> over the years. In January, I made <a href="https://www.notion.so/hackclub/A-new-era-for-web-at-Hack-Club-37f224e3b22d43e183eea08aa5c62485" class="external">a proposal</a> that we build sites around Airtable as a database, with Next.js &#x26; <a href="https://theme-ui.com" class="external">Theme UI</a> for the frontend, so they can be more “disposable” as various pieces of startup infrastructure change. In two days, I rebuilt our site indexing high school hackathons with the new methodology.</p></article></header><span class="jsx-3499487811 "></span><div style="width:1280px;max-width:100%" class="jsx-9546845 bowser "><header class="jsx-9546845"><div class="jsx-9546845 traffic"><span class="jsx-9546845 close"></span><span class="jsx-9546845 mini"></span><span class="jsx-9546845 full"></span></div><div class="jsx-3735535901 address-input"><span class="jsx-3735535901 https"><svg width="12" height="12" viewBox="0 0 24 24" fill="currentColor"><path d="M5 10.2H19V21H5V10.2Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M12 12C13.933 12 15.5 10.3882 15.5 8.4C15.5 6.41177 13.933 4.8 12 4.8C10.067 4.8 8.5 6.41177 8.5 8.4C8.5 10.3882 10.067 12 12 12ZM12 13.8C14.8995 13.8 17.25 11.3823 17.25 8.4C17.25 5.41766 14.8995 3 12 3C9.10051 3 6.75 5.41766 6.75 8.4C6.75 11.3823 9.10051 13.8 12 13.8Z"></path></svg></span><a href="https://hackathons.hackclub.com" title="https://hackathons.hackclub.com" target="_blank" class="jsx-3101351360 link ">hackathons.hackclub.com</a></div></header><iframe src="https://hackathons.hackclub.com" style="width:100%;height:87.5vh" frameBorder="0" loading="eager" class="jsx-1448678120"></iframe></div><span class="jsx-3499487811 "></span><nav class="jsx-2751559520 row "><a href="" title="View previous site" class="jsx-1777194380 link "><svg fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" preserveAspectRatio="xMidYMid meet" fill="currentColor" width="24" height="24" title="Next"><path d="M19.768,23.89c0.354,-0.424 0.296,-1.055 -0.128,-1.408c-1.645,-1.377 -5.465,-4.762 -6.774,-6.482c1.331,-1.749 5.1,-5.085 6.774,-6.482c0.424,-0.353 0.482,-0.984 0.128,-1.408c-0.353,-0.425 -0.984,-0.482 -1.409,-0.128c-1.839,1.532 -5.799,4.993 -7.2,6.964c-0.219,0.312 -0.409,0.664 -0.409,1.054c0,0.39 0.19,0.742 0.409,1.053c1.373,1.932 5.399,5.462 7.2,6.964l0.001,0.001c0.424,0.354 1.055,0.296 1.408,-0.128Z"></path></svg><span class="jsx-1044315848 "></span>Prev</a><span class="jsx-2557599477 "></span><a href="" title="View next site" class="jsx-1777194380 link ">Next<span class="jsx-1044315848 "></span><svg fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" preserveAspectRatio="xMidYMid meet" fill="currentColor" width="24" height="24" title="Next"><path d="M12.982,23.89c-0.354,-0.424 -0.296,-1.055 0.128,-1.408c1.645,-1.377 5.465,-4.762 6.774,-6.482c-1.331,-1.749 -5.1,-5.085 -6.774,-6.482c-0.424,-0.353 -0.482,-0.984 -0.128,-1.408c0.353,-0.425 0.984,-0.482 1.409,-0.128c1.839,1.532 5.799,4.993 7.2,6.964c0.219,0.312 0.409,0.664 0.409,1.054c0,0.39 -0.19,0.742 -0.409,1.053c-1.373,1.932 -5.399,5.462 -7.2,6.964l-0.001,0.001c-0.424,0.354 -1.055,0.296 
6-1.408,-0.128Z"></path></svg></a></nav><span class="jsx-870436695 "></span><footer class="jsx-2751559520 row "><div class="jsx-2751559520 row author"><div align="left" class="jsx-3839489348 user "><span class="jsx-35822646 avatar "><img src="https://github.com/lachlanjc.png" class="jsx-35822646 avatar-img"/></span><div class="jsx-3839489348 names"><span class="jsx-3839489348 name">2020 in Review</span><span class="jsx-3839489348 social"><div class="jsx-3263947648 "><a href="https://lachlanjc.com/" target="_blank" rel="noopener" class="jsx-2606792827 link ">@lachlanjc</a></div></span></div></div><span class="jsx-870436695 "></span><a href="https://github.com/lachlanjc/2020-sites" class="jsx-1777194380 link "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 14 14" fill="currentColor" aria-hidden="true"><path d="M7 .175c-3.872 0-7 3.128-7 7 0 3.084 2.013 5.71 4.79 6.65.35.066.482-.153.482-.328v-1.181c-1.947.415-2.363-.941-2.363-.941-.328-.81-.787-1.028-.787-1.028-.634-.438.044-.416.044-.416.7.044 1.071.722 1.071.722.635 1.072 1.641.766 2.035.59.066-.459.24-.765.437-.94-1.553-.175-3.193-.787-3.193-3.456 0-.766.262-1.378.721-1.881-.065-.175-.306-.897.066-1.86 0 0 .59-.197 1.925.722a6.754 6.754 0 0 1 1.75-.24c.59 0 1.203.087 1.75.24 1.335-.897 1.925-.722 1.925-.722.372.963.131 1.685.066 1.86.46.48.722 1.115.722 1.88 0 2.691-1.641 3.282-3.194 3.457.24.219.481.634.481 1.29v1.926c0 .197.131.415.481.328C11.988 12.884 14 10.259 14 7.175c0-3.872-3.128-7-7-7z" fill-rule="nonzero"></path></svg></a></div></footer><span class="jsx-870436695 "></span></div></div>
6<script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"project":{"month":"February","slug":"hack-club-hackathons","name":"Hack Club Hackathons","desc":"\u003cp\u003eI’ve built a lot of sites for \u003ca href=\"https://hackclub.com/\" class=\"external\"\u003eHack Club\u003c/a\u003e over the years. In January, I made \u003ca href=\"https://www.notion.so/hackclub/A-new-era-for-web-at-Hack-Club-37f224e3b22d43e183eea08aa5c62485\" class=\"external\"\u003ea proposal\u003c/a\u003e that we build sites around Airtable as a database, with Next.js \u0026#x26; \u003ca href=\"https://theme-ui.com\" class=\"external\"\u003eTheme UI\u003c/a\u003e for the frontend, so they can be more “disposable” as various pieces of startup infrastructure change. In two days, I rebuilt our site indexing high school hackathons with the new methodology.\u003c/p\u003e","color":"#252429","url":"https://hackathons.hackclub.com","github":"https://github.com/hackclub/hackathons"},"prevSlug":"gun-funded","nextSlug":"predict-covid19"},"__N_SSG":true},"page":"/[slug]","query":{"slug":"hack-club-hackathons"},"buildId":"xQTf5c2QVwaBr3rZ4CkSI","runtimeConfig":{},"nextExport":false,"isFallback":false,"gsp":true}</script>
6<script nomodule="" src="/_next/static/chunks/polyfills-81bd132d8cf44e5a14d7.js"></script>
6<script src="/_next/static/chunks/main-0186a3c540b9859206b2.js" async=""></script>
6<script src="/_next/static/chunks/webpack-50bee04d1dc61f8adf5b.js" async=""></script>
6<script src="/_next/static/chunks/framework.9d524150d48315f49e80.js" async=""></script>
6<script src="/_next/static/chunks/commons.db8e5b07ac008231ac1b.js" async=""></script>
6<script src="/_next/static/chunks/2dd8024639213757075864c624e37c2da904a9c5.e1364c80d9bcdb916887.js" async=""></script>
6<script src="/_next/static/chunks/pages/_app-a3e6f443713fae7aeac5.js" async=""></script>
6<script src="/_next/static/chunks/fd73fa5fb9f73f18227a47c23a9002adcbd74f44.65145b09b88a3a6db0c4.js" async=""></script>
6<script src="/_next/static/chunks/pages/%5Bslug%5D-6a5d73d536d20ad3c9d3.js" async=""></script>
6<script src="/_next/static/xQTf5c2QVwaBr3rZ4CkSI/_buildManifest.js" async=""></script>
6<script src="/_next/static/xQTf5c2QVwaBr3rZ4CkSI/_ssgManifest.js" async=""></script>
6</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.