How I built
this website
A small story about ideas, pixels, code, and learning in public.
Eight pages about turning a vague idea into Aiman’s Archive—with plain HTML, CSS, a little JavaScript, and an unreasonable number of browser tabs.
TURN A PAGE. LEARN A THING.A small story about ideas, pixels, code, and learning in public.
I wanted a place to keep the things I learn: useful notes, honest experiments, AI tools, and the occasional life theory that sounds convincing after midnight.
The brief was simple: make it personal, make it useful, and make it sound like a human wrote it. Preferably this human.
Each page is a regular HTML file. Shared navigation and footer make the site feel connected; plain links keep every page easy to open, edit, and understand.
No component library hiding behind the curtain. It’s all readable source files—like a recipe card, except the recipe has a footer.
Semantic elements make the page legible to people and browsers: a header, navigation, main content, sections, links, and a footer.
Then the content goes in. A headline, the archive’s notes, the tool cards. The most advanced part was deciding what to say. Naturally.
A little color palette, a few type styles, roomy spacing, and some abstract illustrations give the archive its own character. Soft paper colors meet forest green and a small hit of lime.
Responsive rules rearrange the layout for smaller screens. The design should be comfortable on a phone, not a desktop squeezed into a phone costume.
Vanilla JavaScript powers the mobile menu, remembers the light or dark theme, updates the year, and filters the tool directory.
And here, it turns the pages of this little book. Nothing needs a giant framework to open a menu. The menu is not running a space program.
const menu = document.querySelector('.menu');
menu.addEventListener('click', () => {
menu.classList.toggle('open');
});
// Look ma, no framework.I preview each page, follow every link, try the menu and theme switch, and check the layout at phone widths. The goal: no sideways scrolling and no mysterious disappearing buttons.
When the files are ready, a static host like Cloudflare Pages can publish them. Push an edit, let the host serve the updated site. Internet: a series of folders with excellent marketing.
The big lesson: a website is not a mysterious object bestowed upon the chosen. It’s a set of files, some thoughtful choices, and a willingness to fix the bits that look odd.
Start small. Keep the code understandable. Make it yours. And maybe close a few tabs before starting another project.
Back to the archive ↗Swipe, use your arrow keys, or tap the buttons · Page sound is made in your browser
This interactive guide covers planning a personal website, structuring pages with semantic HTML, styling responsive layouts with CSS, adding book and navigation interactions with JavaScript, and preparing pages for search engines. It also explains the small set of files behind Aiman Archive.