Building Worlds Without Frameworks: My Indie Dev Wins This Week

This week I put a lot of work into my site, formant.ca. It's where I share the games, music, and other projects I'm building. I'm doing it all without frameworks. Just plain JavaScript, custom logic, and a goal of keeping things flexible and lightweight. Highlights from the week: Game Modals with Canvas Injection I set up a system where you can launch browser-based games directly into modals. The game code only loads when needed, which keeps things fast and clean. Scroll-Snapped Layout with Hash Routing The site uses vertical scroll snapping for each section, and I added hash routing so you can jump between pages like #home or #contact. I also included logic to stop scroll and click events from interfering with each other. Click-to-Load Media Embeds To improve performance and privacy, I built a script that defers loading of YouTube, SoundCloud, and Spotify embeds until the user clicks. That way, pages load faster and don’t immediately pull in external content. Project Modals for the Work Page Each project now opens into a large modal that can be expanded later with more info, screenshots, or carousels. It gives me room to grow without overwhelming the main layout. Responsive by Default The entire site is responsive, with extra care for mobile landscape and small screen use. I didn’t use any UI libraries. Just wrote what I needed. I'm just trying to make something that works well and feels like mine. No flashy templates or unnecessary tools. Just one piece at a time. If you're doing your own thing, even in small steps, keep going. It adds up. Https://www.formant.ca indiedev #webdev #javascript #gamedev #portfolio #creativework

May 18, 2025 - 04:14
 0
Building Worlds Without Frameworks: My Indie Dev Wins This Week

This week I put a lot of work into my site, formant.ca. It's where I share the games, music, and other projects I'm building. I'm doing it all without frameworks. Just plain JavaScript, custom logic, and a goal of keeping things flexible and lightweight.

Highlights from the week:

  1. Game Modals with Canvas Injection
    I set up a system where you can launch browser-based games directly into modals. The game code only loads when needed, which keeps things fast and clean.

  2. Scroll-Snapped Layout with Hash Routing
    The site uses vertical scroll snapping for each section, and I added hash routing so you can jump between pages like #home or #contact. I also included logic to stop scroll and click events from interfering with each other.

  3. Click-to-Load Media Embeds
    To improve performance and privacy, I built a script that defers loading of YouTube, SoundCloud, and Spotify embeds until the user clicks. That way, pages load faster and don’t immediately pull in external content.

  4. Project Modals for the Work Page
    Each project now opens into a large modal that can be expanded later with more info, screenshots, or carousels. It gives me room to grow without overwhelming the main layout.

  5. Responsive by Default
    The entire site is responsive, with extra care for mobile landscape and small screen use. I didn’t use any UI libraries. Just wrote what I needed.

I'm just trying to make something that works well and feels like mine. No flashy templates or unnecessary tools. Just one piece at a time.

If you're doing your own thing, even in small steps, keep going. It adds up.

Https://www.formant.ca

indiedev #webdev #javascript #gamedev #portfolio #creativework