skip to main content

Meta

i do most things wrong

this is The Power Of Five, my personal website! it's the first website i ever made, all written “by hand” in pure HTML, CSS, and TypeScript. and despite the sheer amount of research that went into it, i'm sure it's filled to the brim with mistakes, like anyone else's first attempt at something new. it's also very much an ongoing project; i'll certainly be adding to it as time goes on. as such, any and all feedback on this website – constructive criticism, destructive criticism, anything in between – is highly appreciated.

credits

the parts of this website that weren't made by me are:

  • the math typesetting library KaTeX (including its fonts),
  • SVG images of Desmos graphs,
  • some thumbnails on the projects page, and
  • all fonts, listed below.

i made everything else myself, including all the remaining website-internal assets. nothing here was made with generative AI.

(yes, i even made the SVG icons myself! if you're annoyed with just how many SVG icon websites paywall most of their icons, i implore you to learn SVG and code your icons yourself. it's easier than you think. become independent! also, you can totally just steal the icons i made if you like them; they're public domain.)

licensing

the fonts i used are available under the following licenses:

the source code of this website is released under the Unlicense, which means it's in the public domain. similarly, all the non-font assets are CC0 licensed. (all my work is public domain by default unless i'm forced to use a more restrictive license.)

static site generation

the HTML code of several pages on this website is statically prerendered from templates every time i make changes to the website:

  • the projects and writing portfolios,
  • the sitemap,
  • the blög landing page, and
  • all blög posts.

i wrote the templates and the generating code myself; they're located in the gen directory of the website's source code.

i use KaTeX to render math expressions in blög posts in two ways. firstly, during static rendering, i render them as MathML, which is somewhat ugly but lightweight. because it's prerendered, it works even without JavaScript. secondly, if you do have JavaScript enabled, KaTeX re-renders all math expressions as pretty HTML dynamically in your browser.

privacy statement

i don't invade your privacy in any way; there are no cookies and no trackers here, and all processing is done locally, without sending any data to external servers. the only automatic reading/writing here is session storage, to allow toggles such as light/dark mode to persist between pages; this gets cleared when you close the tab. session storage isn't cookies; it doesn't write to any files, and exists only as long as the tab does. (even so, i fully understand if you'd rather disable JavaScript on this site, which is why i tried my best to retain as much functionality as possible even without it.)

if you're either concerned about your privacy, or you're just starting out learning how to code websites, or for any other reason, i highly implore you to read the thoroughly commented TypeScript code of this website. i took my time and heart to try to make it understandable to as many folks as possible.

the contact form is the only way i receive data from you via this website. i set it up through Web3Forms, who (according to themselves) never store your form submissions.

accessibility statement

i care deeply about accessibility (“a11y”) because, as fake as it may sound, i really do believe that everyone matters. i took great care in designing this website accessibly from the ground up, and with level AA conformance as defined by version 2.2 of the Web Content Accessibility Guidelines in mind. (i think the website conforms to them, but i prefer to abstain from making a conformance claim.)

still, this is just a personal website, and i'm very new to being an a11y ally, so if you find anything on this website to be inaccessible in any way, i urge you to let me know about it and tell me how i can do better – either by submitting an issue on the github repository or by contacting me.