Most modern websites have some kind of feed. Whether it is a social media timeline, a news aggregator, or a dashboard full of information. I wanted something similar for my own website but without the endless shittiness designed to maximize engagement.
Cartoon Credit Mr. Ollie
Cartoon Credit Mr. Ollie
I wanted something simple:
A small window into what I am currently working on, reading, listening to, and learning.
Check it out the home page
## The Idea
The “Nick’s Feed” carousel on my homepage is a lightweight personal dashboard. It combines different parts of my website with external APIs to create a constantly changing feed.
I hate manually updating things, so JavaScript handles the dynamic content.
Currently, the feed includes:
- The latest photo of Bruce
- My latest music project
- Latest recipe
- A random quote
- My latest library entry
- My newest blog post
- A random Wikipedia article
- Latest media entry
- My most starred GitHub repository
- Current weather
The goal was to make something that feels alive without becoming distracting.
## Building the Carousel
Each item is a flex container. The carousel is controlled and hand-written with vanilla JavaScript.
The browser already provides everything needed:
- DOM manipulation
- CSS transitions
- Event listeners
- API requests
The current slide is updated by changing the translate position:
The title, description, and link are then displayed inside the carousel.
It is basically a tiny “learn something random” button built directly into my homepage.
## Why Not Use a Framework?
For a project like this, adding a framework would probably create more complexity than value.
The browser already knows how to:
- Fetch APIs
- Manipulate the DOM
- Handle animations
- Update content
The simplest solution is the best one.
## The Bigger Idea
A personal website gives you complete control over what you share and how people experience it. I don’t want an algorithm deciding what someone sees, I can create my own small collection of things I care about.
> # [Creating My Own Social Feed](https://nickstambaugh.dev/posts/creating-my-own-social-feed/)