stardance has been extended another month! the new deadline is october 31 :)

You are browsing as a guest. Sign up (or log in) to start making projects!

Vensin.dev Sakura

  • 5 Devlogs
  • 8 Total hours

vensin.dev 🌸 – my cozy old-web portfolio, rebuilt from scratch in Next.js and self-hosted on a Raspberry Pi. It has a live Discord status, an anime shelf, a pixel cat called Mochi, and seasons that change the whole look (sakura petals in spring, snow in winter).

Ship #1 Pending review

I rebuilt my personal site completely from scratch (vensin.dev v2). The old site had been sitting behind a maintenance page since September while I worked on this one.

The look is a cozy old-web style: pixel fonts, little windows with their own title bars, a starry sky in the background. The sidebar is the centerpiece and it’s genuinely alive. It shows my Discord status in real time, coding (with the project and file I’m working on), watching anime, listening to music, playing games, or watching YouTube, each rendered differently depending on what I’m actually doing. My Apple Watch rings show up there too, synced through a Shortcuts automation on my phone. There’s also a “today” widget and a live visitor counter in the footer.

The music page is more than just now-playing. Every 30 seconds the site polls Spotify and logs it, and I also imported my full official Spotify data export, so the yearly stats, top tracks, top artists and listening clock are based on real history, not just what the site has seen since launch. The anime page works the same way: a watch log scraped automatically, with weekly bars and badges for seasons I’ve actually finished.

The whole site changes with the calendar. Each season has its own particles and color palette, and certain days lock in a special look no matter what you pick yourself: Halloween, Christmas (with a sleigh flying across the sky), New Year, Valentine’s Day, my birthday, and April Fools, which breaks almost everything on purpose for one day.

There’s a guestbook with spam and keyword filtering plus a honeypot field, and a contact form that pings me directly on Discord with buttons to approve or reject what came in. Everything on the site, messages, gallery, projects, and a cache of everything pulled from outside APIs, lives in one SQLite file, and a background scheduler keeps that cache warm so visitors never wait on an external API. Nightly backups get encrypted and shipped off-site automatically.

My pixel cat Mochi lives in the sidebar and reacts to what I’m doing. She dresses for the season, falls asleep in the browser tab icon when you switch away, and has her own idle clicker game complete with a shop, upgrades, achievements, and a prestige system. There’s also a hidden moon scene easter egg somewhere on the site that I won’t spoil here.

The hardest part was keeping everything in sync without it turning into a mess: one database backing the entire site, a scheduler that refreshes different data on different intervals, and a Discord activity system built so that adding support for a new app is just dropping in one small handler file. Getting the whole thing ready to self-host on a Raspberry Pi, including its own Impressum and a proper cookie consent flow, was also its own project on top of everything else.

What I’m proud of: there’s no tracking, no ads, it’s fully self-hosted on my own hardware, and it actually feels alive instead of being a static portfolio page. To test it, sign the guestbook, poke Mochi in the sidebar, click into the music and anime pages to see the real live data, and try changing the season picker in the footer.

  • 5 devlogs
  • 8h
Try project → See source code →
Open comments for this post

16m 52s logged

Hello my little Stardancers ✨

Devlog #5 for vensin.dev v2: this one’s all about Mochi, my pixel cat, who has quietly become the most work-intensive feature on the whole site.

First, the anime page got a real watch log. Every episode gets pulled in automatically and turned into weekly bars, a “finished lately” row, and badges for seasons I’ve actually completed, not just started and abandoned like a coward. Then Mochi herself got proper outfits: a flower for spring, sunglasses for summer, a scarf and witch hat for autumn/Halloween, a santa hat for December, and party hats with actual confetti on special days. Hats sit on her ears now instead of floating above her head like she’s being haunted.

Then I got distracted and gave her an entire idle game. Click Mochi, buy her upgrades, the upgrades make more mochi while you’re gone, and when the numbers get silly you spend one of her nine lives to prestige and start over with permanent bonuses. There’s a shop, achievements, and a golden mochi that shows up at random for a bonus. I will not be taking questions about how long I spent balancing the math on this.

And somewhere in the code there’s a keyboard shortcut that triggers a full-screen moon scene with two people standing on the ground watching it rise. Find it yourself 🫡

0
0
6
Open comments for this post

16m 5s logged

Hello my little Stardancers ✨

Devlog #4 for vensin.dev v2: the site started celebrating holidays without asking me first.

The whole look now follows the calendar. Spring gets sakura petals, summer gets fireflies, autumn has leaves tumbling down, winter gets pixel snow sitting on top of every window. Visitors can override it in the footer if they want a different season than the real one. But a few days of the year lock the look no matter what you pick: Halloween gets ghosts and a cobweb, New Year gets fireworks, my birthday gets confetti, Valentine’s gets pixel hearts, and Christmas gets a full sleigh with two reindeer flying across the sky plus presents falling between the snow. April Fools is its own chapter: the title flips upside down, the cursor turns into a rubber duck, buttons physically dodge your mouse once, and the date claims it’s March 32nd. I will not apologize for any of this.

The site can also talk back now. There’s a guestbook with spam filtering (links, slurs, keyboard mashing, a honeypot field bots can’t resist filling in) and a contact form that pings me directly on Discord with a button to approve or reject what came in, so I don’t have to open the admin panel just to read a message. And since all of this now lives in one SQLite file, I added nightly backups: a compressed copy gets made automatically, encrypted, and shipped off to an offsite file host, so a dead SD card can’t just erase the whole site.

0
0
4
Open comments for this post

16m 12s logged

Hello my little Stardancers ✨

Devlog #3 for vensin.dev v2: the music page, and the boring stuff that makes the fun stuff work.

First the boring part, I promise it’s short. Everything on the site now lives in one SQLite file: messages, gallery, projects, and a cache for everything the site pulls from outside. A little scheduler runs inside the server and refreshes the data on its own: Discord every minute, GitHub every hour, anime posters every hour, and so on. A page view never has to wait for GitHub or Spotify, it just reads from the database. Fast for you, cheap for me.

Now the fun part. The music page shows what I’m listening to right now, with the cover and a progress bar. But I wanted more than “now playing”, I wanted stats. So every 30 seconds the site asks Spotify what’s playing and writes it down, and that turns into hours listened this year, my most played tracks and artists, and a listening clock that shows at which hour I listen the most. Spoiler: it’s 10 PM, and it’s a lot of System Of A Down.

The problem was that the site only counts from the day I turned it on. So I added an import for Spotify’s official data export, and now the yearly stats are real instead of “you listened to 4 songs in 2026”. Spotify then tried its best to break everything: podcasts that aren’t songs, local files with no cover, and a playlist field that got renamed. All handled now, and I’m only a little bit traumatized.

0
0
12
Open comments for this post

18m 35s logged

Hello my little Stardancers ✨

Devlog #2 for vensin.dev v2, and the site finally has a face.

I went full old-web: pixel fonts, little windows with traffic-light buttons, a starry sky in the background, and at first even cherry blossom petals floating around. I removed those after they kept drifting next to the title and looking like dead pixels. All the icons are pixel art too. I first traced the Steam logo by hand three times, and when it still looked like a potato, I switched to a proper pixel icon set.

The real star is the sidebar, because it’s alive. The Discord window shows what I’m doing right now. If I’m coding, you see the project, the file and how many errors VS Code is yelling at me about. If I’m watching anime, you see the show and the episode. If I’m on YouTube, there’s a progress bar. If Discord reports something the site doesn’t know yet, it sends me a DM so I can teach it. Below that, a “today” window flips between the date and the time in Tokyo, and my Apple Watch rings show up as little pixel rings, so now the entire internet can see whether I closed my move ring today. Bold of me, I know.

Next devlog: the music page, the anime log, and everything that keeps the data running behind the scenes 🫡

0
0
20
Open comments for this post

7h 13m 58s logged

Hello my little Stardancers ✨Welcome to the very first devlog of vensin.dev “sakura” v2! So, I already have a portfolio. It works, it’s fine, and I don’t like it anymore. It looks like every other developer portfolio out there: a hero section, a “hi, I’m a developer” line, some project cards, done. Nothing about it feels like me. So instead of fixing it, I’m doing the most developer thing possible and rebuilding the whole thing from scratch. The idea is a cozy old-web corner of the internet, like the personal sites from back when people made websites just for fun, mixed with a healthy dose of anime energy: pixel fonts, little windows, a starry sky. And it should feel alive. When you visit, you should see what I’m listening to right now, what I’m watching, what I’m coding, and maybe find a few secrets I’ve hidden around. Less “please hire me”, more “come hang out in my room”. The old site goes into maintenance mode while I build, so the pressure is on.

(project is already done, but i post it to show the creation process of making the portfolio bc i forgot to put it on stardance)

0
0
17

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…