PasiLunch

PasiLunch is a practical web service and Slack integration that aggregates daily lunch menus from restaurants near my new office in Pasila, Helsinki. It eliminates the tedious task of checking multiple restaurant websites by presenting all menus in one central location, accessible through either a clean web interface or a convenient Slack command.

Built with Node.js and Express, the application employs web scraping techniques using Cheerio to extract current menu information from various restaurant websites. The system smartly caches data to minimize unnecessary requests and implements a day-based refresh mechanism to ensure menus stay current.

The Slack integration brings a touch of personality with randomized humorous messages preceding the menu listings, while the web interface offers a more visual and structured presentation. This project demonstrates practical application of web scraping, API integration, and caching strategies to solve a real-world problem.

Check out today's lunch options: PasiLunch website

Tech Stack:
CSS 3
Cheerio
Express.js
HTML5
JavaScript
Node.js
PasiLunch website

Jurassic Jump

Embarking on my game development journey, I created Jurassic Jump, a simple Jump&Run game. Initially built with vanilla JavaScript, I encountered performance bottlenecks as the game's complexity and graphical fidelity increased. To address these challenges, I transitioned to the Godot engine, delving into GDScript for the first time.

For the game's visuals, I crafted reference images using Affinity Photo and utilized an image-to-image workflow in ComfyUI with FLUX.1 [dev] (FLUX.1 [dev] is a 12 billion parameter rectified flow transformer capable of generating images from text descriptions.) and a LoRa to achieve a ClayMation aesthetic. This project was a steep learning curve, introducing me to essential concepts like GameManagers, particle systems, Audio Managers, creating sprite sheets, and level building. Building Jurassic Jump not only honed my technical skills but also deepened my understanding of game mechanics and artistic workflows, laying a strong foundation for my future endeavors in game development.

You can also play it in full screen: here

Tech Stack:
Godot
Jurassic Jump Game

superVIMus

superVIMus is a simple yet quirky box-pushing game designed to build muscle memory for the hjkl movement keys. Wrapped in cute pixel graphics with a surprising gory twist, the game offers a lighthearted but effective way to get comfortable with keyboard-based navigation.

Built entirely in the Godot engine using GDScript, the project was a hands-on way for me to internalize directional movement before diving deeper into Vim motions with the Neovim VSCode extension. The design focuses on clear, intuitive mechanics, making it an engaging experience for both newcomers and seasoned Vim users looking for a fun refresher.

Developing superVIMus reinforced my understanding of grid-based movement, level design, and puzzle mechanics, all while keeping the gameplay humorous and visually appealing.

Try it out and sharpen your navigation skills: Play now

Tech Stack:
Godot
superVIMus Game