Blog posts in category “Projects”
All sorts of personal/hobby/work projects.
-
Oct 30th, 2024I built a custom RSS hydrator for better GitHub and Youtube feeds
Youtube and GitHub RSS/Atom feeds didn’t quite offer the experience I wanted so I built a web service that takes in a feed, hydrates its contents with more useful stuff and outputs a new feed.
-
Oct 23rd, 2024My on the go solution with iPad and Raspberry Pi
Since my laptop isn’t much of a laptop anymore and I’m on a tight budget, I created a great mobile development and Linux system with an iPad + Raspberry Pi combo. In this post, I share what I have set up and how it has affected my productivity on the road.
-
Jun 15th, 2024Multi-select, filterable command-line interface with inquirer
I needed to build a script to manage my blog post relations and found inquirer and inquirer-search-checkbox a perfect combo for it.
-
Jun 12th, 2024Crafting tabletop games
This month’s IndieWeb Carnival topic is DIY and I decided to take this opportunity to once again talk about my hobby of designing and creating tabletop game projects.
-
May 12th, 2024Two small hockey web projects
Spring is the best time of hockey fans: NHL playoffs and IIHF World Championships fill days and nights with hockey. For me, that means running fun community projects and building software for them.
-
Apr 1st, 2024Documentation pages from dotfiles with config-renderer
Making dotfiles readable isn’t always easy. To tackle that challenge, I created config-renderer, a Python CLI tool that documents dotfiles as HTML pages with a bit of custom markup.
-
Feb 28th, 2024Search, Webmentions and microformats
I’ve made some updates on my website - let’s talk about them. I added a search functionality with Pagefind, Webmention support both directions and microformats to my blog posts.
-
Nov 8th, 2023Done is the engine of more
It’s easier to get more done when you have momentum.
-
Aug 28th, 2023Custom cookie consent for video embeds
Occasionally I want to embed Youtube videos or social media posts on my blog but wanted a clean and straight-forward way to deal with cookie consent. So I built my first version for Youtube embeds.
-
Aug 24th, 2023Building Dark Mode for hamatti.org
It’s finally time to make people who can’t stand light themes happy when they visit my page by building the dark mode.
-
Aug 22nd, 2023Website rewrite and switching to Notion as CMS
This website served me well for almost 5 years with minor improvements, tweaks and hacks. Now, it was time for a total rewrite and upgrading my stack and tools.
-
Aug 14th, 2023Pokemon tools updated for Obisidian Flames
With the newest Pokemon TCG set Obsidian Flames being released last Friday, I’ve updated my tools to support the new set
-
Aug 9th, 2023Projects I'm proud of: Newsletters
This week in Blaugust is themed 'Introduce yourself' and each day, I'll share a project story that I'm particularly proud of. Today is two-for-one special as I share my work with Dev Breakfast and Syntax Error newsletters.
-
Aug 7th, 2023Projects I'm proud of: Boost Turku & Startup Journey
This week in Blaugust is themed 'Introduce yourself' and each day, I'll share a project story that I'm particularly proud of. Today, I'm starting with my journey at Boost Turku.
-
May 3rd, 2023In a beautiful world, APIs would be open
In a world where the APIs and data would be open and everyone could build their own UIs and apps on top, the digital world would be more usable and beautiful for all of us.
-
Apr 19th, 2023A look at my on-going projects
I have a few developer community initiatives and software projects that I've been working on for a while so I decided to give an update on all of them at once.
-
Apr 12th, 2023How to sort a Pokemon deck list?
I've started building my new hobby project, a deck builder for Pokemon TCG players. One of the first interesting avenus in that was to figure out how to write a compare function for sort.
-
Jan 20th, 2023My Pokemon apps updated for Crown Zenith
Pokemon TCG's newest set Crown Zenith dropped this Friday and for me, a release date means updating my projects.
-
Jan 4th, 2023Introducing: Syntax Error
I'm launching a newsletter for software developers. Syntax Error helps developers to learn debugging and turn a stressful situation into a joyful exploration.
-
Dec 7th, 2022Mastodon redirect with your domain in Netlify
I'm in mastodon.world server but it can be hard to remember. So you can now find me as @hamatti@hamatti.org as well! I share the secret to that in this post.
-
Nov 23rd, 2022New Firefox extension to help Pokemon TCG players
My newest Firefox extension helps Pokemon TCG players with their online code redeem process by improving the UX, reducing errors and making it easier to keep track of codes.
-
Oct 26th, 2022Find assigned tasks from Google Drive
We use Google Docs a lot to work, to document things and to keep track of meeting notes. That enables us to be efficient and productive remote team. It's easy to get lost with tons of documents and tasks assigned to you. In this blog post I show how to find all the open assigned tasks.
-
Oct 4th, 2022Set up a dashboard using Google Slides
I've used a one-slide Google Slides + short URL setup for years to communicate what work is being done in my nook of the organization. Here's how to set one up.
-
Sep 28th, 2022kittens-everywhere – how to build a browser extension
A tutorial for building your first browser extension - kittens-everywhere - that replaces images in the web with pictures of cute kittens.
-
Jun 1st, 2022GLC Decklist Validator updated with Astral Radiance
Last week I updated my GLC Decklist Validator with the newest Pokemon TCG set Astral Radiance and wrote a short introduction to the app and how its built.
-
Mar 9th, 2022Added custom highlight function for nhl-235
235 now supports highlights of your favorite players so it's even easier to check if your favorites are doing well in the league.
-
Dec 4th, 2021Customizing liiga.fi experience
When I visit a sports website, I want to see scores, standings and how the league/tournament is run. Usually you see ads, news, content pieces and all the good info is hidden somewhere. With custom CSS, that's not a concern anymore.
-
Nov 17th, 2021Reaction GIF board with Stream Deck
Stream Deck is not only a great tool for streamers but can also make you the coolest coworker in your company. Build your own reaction GIF board and always have the right response to every situation in Slack or Discord.
-
May 26th, 2021Does it make sense to finish what you started?
As a university dropout, a discussion about finishing your degree or thesis comes up regularly, often accompanied by a 'you should finish what you start' comment. I'd argue it's not a virtue to finish what you start if it's not the best thing you can do at the moment.
-
Jan 27th, 2021Introducing: 235
There's nothing that brings hockey fans in Finland together better than the iconic 235. Originally from YLE teletext, it's now available on command line.
-
Jan 20th, 2021Project: card-print-css
The smallest CSS library I've ever written: card-print-css resizes images for printing, cutting and sleeving so you can play test and prototype faster.
-
Nov 25th, 2020Customize your Internet experience
Sometimes websites and web apps need a bit of customization to make them fit your personal workflow (or to hide things that distract you). Bookmarklets, browser extensions and user scripts are tools that you can use to customize the experience to your liking.
-
Oct 18th, 2020Dev Diary #2: Working prototype
Today, I finally have a working prototype! I didn't make big changes to the technical approach compared to my failed attempts but maybe my subconscious had been working on the problem over the summer since this time it clicked.
-
Aug 19th, 2020Arts, crafts and software: enhancing Flamme Rouge
Flamme Rouge is a great board game but it has lots of components and solo play is bit cumbersome. I did some arts, crafts and software development to make life better.
-
Apr 18th, 2020Morning Coffee Projects: Youtube extension
Youtube constantly recommends me old videos that I've already seen or are not relevant anymore. So I built a Chrome extension for myself to alleviate the issue.
-
Mar 25th, 2020Building a website with a static site generator, part 3: Domain, Analytics and Forms
Once your website is up and running, it's time to get a professional looking domain, think about analytics and collect data with forms.
-
Mar 18th, 2020Building a website with a static site generator, part 2: Eleventy
In this post, we're gonna take a deeper look into Eleventy which takes care of building the website by combining layout templates with blog post data from Markdown files.
-
Mar 11th, 2020Building a website with a static site generator, part 1: Setup
In this blog series, we will build a static website using Eleventy, NetlifyCMS, GitHub and Netlify. In the first post, we set everything up and deploy a template page to make sure everything works.
-
Mar 6th, 2020How my site is built with Eleventy + Ghost
This website is run with Eleventy, using Markdown and Ghost CMS for blog posts. I've iterated in a couple of ways to build the CMS integration.
-
May 29th, 2019Simple backend system for frontend workshops in Javascript
When teaching Javascript with or without React or Vue, it's hard to figure out what to do with backend. I built a simple system that can be plugged into any of them to act as backend, storage and API.