# Projects

URL: https://sola.ysz.life/projects

A curated selection of my projects across full‑stack, frontend, backend, and tooling.

## Kinoa

> Free streaming, no noise

[Kinoa](https://kinoa.to) is a free streaming site for films and series. Open a title and press play on the same page, no account needed; with an account you get a public @handle, a watchlist, a feed and messages, and Watch Together rooms where friends follow one host's playback. Titles come from TMDB, and the video plays in embedded players from third-party hosters.

- Type: Personal project
- Period: Nov 2025 - Present
- Live: https://kinoa.to
- Source: private
- Deep dive: https://sola.ysz.life/projects/kinoa.md

## Sola

> Modern portfolio in React and TypeScript

Sola is my personal website, the one you're on right now. It's built with React, TypeScript, and Tailwind CSS, and is designed to showcase my projects, skills, and experience in a clean and modern way.

- Type: Personal project
- Period: Feb 2025 - Present
- Live: https://sola.ysz.life
- Source: https://github.com/lyfe691/sola
- Deep dive: https://sola.ysz.life/projects/sola.md

## fleetmap

> Van phones stream GPS to an office TV

fleetmap is a live map of a delivery fleet. Each van's phone reports its position, and a screen in the office shows every van moving, with its stops, ETA and how late it is running. Any day from the last 30 can be replayed from the recorded track. Built with Next.js, Supabase and MapLibre.

- Type: Commercial project
- Period: Jun 2026 - Present
- Live: private
- Source: private
- Deep dive: https://sola.ysz.life/projects/fleetmap.md

## Ura

> Snowmobile navigation for Lapland, even offline

Ura is snowmobile navigation for Finnish Lapland, on iOS and Android. It carries around 2,900 routes and 3,500 places like fuel stations, cafés and huts on the phone, so it works where there is no signal. It tells you whether you are on a route, and when you aren't, how far away the nearest one is.

- Type: Commercial project
- Period: Aug 2026 - Present
- Live: https://ura-app.com
- Source: private
- Deep dive: https://sola.ysz.life/projects/ura.md

## perspectas.ch

> A consulting site built around one yellow dot

The website of [perspectas gmbh](https://www.perspectas.ch), a consulting and recruiting firm near Zürich, rebuilt on Next.js and Sanity. Every text and image lives in the CMS, so the two partners publish changes themselves. The design has one accent: the yellow dot from their logo, which doubles as the headline's full stop.

- Type: Commercial project
- Period: Sep 2026
- Live: https://www.perspectas.ch
- Source: private
- Deep dive: https://sola.ysz.life/projects/perspectas.md

## Montu

> Swiss mountain journal, mapped from its GPX files

[Montu](https://montu.ch) is a mountain-tour journal in German, built for a client who writes the tours and takes the photos himself. He uploads a GPX file, and the page draws the route on a terrain map with its elevation profile. Tours, photos and every other text are edited in a CMS, so publishing a new tour needs no developer.

- Type: Commercial project
- Period: Mar 2026 - Apr 2026
- Live: https://montu.ch
- Source: private
- Deep dive: https://sola.ysz.life/projects/montu.md

## magi

> Async port scanning, built to be correct

[magi](https://magi.ysz.life) is a fast TCP and UDP port scanner written in Rust. It scans with ordinary connections, so it needs no root, and it only reports what it actually observed: a port it could not test is marked untestable instead of closed. One command installs it on Linux, macOS or Windows.

- Type: Personal project
- Period: Jun 2026 - Present
- Live: https://magi.ysz.life
- Source: https://github.com/lyfe691/magi
- Deep dive: https://sola.ysz.life/projects/magi.md

## Luma

> Bring your own keys, talk to any model

[Luma](https://luma.ysz.life) is a chat app for every major AI model: bring your own API keys and switch between Claude, GPT, Gemini, Grok and more within one conversation. Edit any earlier message and the chat branches, keeping both paths. Your keys are encrypted before they are stored.

- Type: Personal project
- Period: Mar 2026 - Apr 2026
- Live: https://luma.ysz.life
- Source: https://github.com/lyfe691/luma
- Deep dive: https://sola.ysz.life/projects/luma.md

## AppliCare

> Every job application in one place

[AppliCare](https://applicare.app) keeps track of your job applications. Add each one with its status, from applied to offer, attach tasks with deadlines, and follow your progress on a dashboard with a success rate and a timeline. Built with React, Ant Design, Spring Boot and MongoDB.

- Type: Personal project
- Period: Dec 2024 - Feb 2025
- Live: https://applicare.app
- Source: https://github.com/lyfe691/AppliCare
- Deep dive: https://sola.ysz.life/projects/applicare.md

## Self

> Neofetch, reimagined for Windows

Self shows your system information in the terminal next to an image or ASCII art, the way Neofetch does on Linux, but for Windows. It installs with one PowerShell command, renders images as coloured blocks or braille, and has themes you can configure. Written in Python.

- Type: Personal project
- Period: May 2025
- Source: https://github.com/lyfe691/self
- Deep dive: https://sola.ysz.life/projects/self.md

## QR

> Styled QR codes, with a decoder attached

[qr.ysz.life](https://qr.ysz.life) is a QR code generator that runs entirely in your browser. Style the dots and corners, add gradients and a logo, then export as PNG, SVG, JPEG or WebP. A built-in scan test reads the finished code back, so you know it still scans before you print it.

- Type: Personal project
- Period: Apr 2026
- Live: https://qr.ysz.life
- Source: private
- Deep dive: https://sola.ysz.life/projects/qr.md

## Website Code Extractor

> Any website's code as one ZIP

[Website Code Extractor](https://chromewebstore.google.com/detail/website-code-extractor/foppgeakfpkdghmmmflmblcidoofpohm) is a Chrome and Edge extension that downloads a website's HTML, CSS, JavaScript and images as one ZIP file, with the folder structure kept. One click, no setup. It has about 6,000 users on the Chrome Web Store and works best on static sites.

- Type: Personal project
- Period: Aug 2024
- Live: https://chromewebstore.google.com/detail/website-code-extractor/foppgeakfpkdghmmmflmblcidoofpohm
- Source: https://github.com/lyfe691/Website-Code-Extractor
- Deep dive: https://sola.ysz.life/projects/code-extractor.md

## Thoughts

> Reflections, fragments, and notes

[Thoughts](https://thoughts.ysz.life) is a small site where I write reflections, fragments and notes, separate from this portfolio. Posts are MDX files, and a guestbook lets visitors leave a note of their own. Inspired by [Shu Ding](https://shud.in)’s personal site.

- Type: Personal project
- Period: Aug 2025
- Live: https://thoughts.ysz.life
- Source: https://github.com/lyfe691/thoughts
- Deep dive: https://sola.ysz.life/projects/thoughts.md

## Taco

> A dog's website, built as a reusable template

[Taco](https://takitwo.vercel.app) is a website about my brother's dog, built as a template I can reuse: pages in English, Spanish and Japanese with automatic language detection, a blog, a gallery and a contact page. Built with Next.js, TypeScript and Tailwind CSS.

- Type: Personal project
- Period: Apr 2025
- Live: https://takitwo.vercel.app
- Source: https://github.com/lyfe691/taco
- Deep dive: https://sola.ysz.life/projects/taco.md

## Vault

> Keycloak, FastAPI and a realm defined in Terraform

Vault is a local sandbox for learning OpenID Connect. Keycloak issues the tokens, a FastAPI service verifies them, and a Next.js frontend shows dashboards gated by role. The identity setup is declared in Terraform, so the whole thing can be torn down and rebuilt with one command.

- Type: Personal project
- Period: May 2025
- Source: https://github.com/lyfe691/vault
- Deep dive: https://sola.ysz.life/projects/vault.md

## OSINT Website

> Sharpen your investigative instincts

[OSINT Exercises](https://osint.ysz.life) is a site for practising open-source intelligence: finding information from public sources. Each exercise gives a background and a set of tasks, from easy to expert, and anyone can submit a new exercise through the site.

- Type: Personal project
- Period: Nov 2024 - Dec 2024
- Live: https://osint.ysz.life
- Source: https://github.com/lyfe691/osint-ysz-life

## ChatApp

> Real-time rooms, built on Spring Boot

ChatApp is a real-time chat platform: create an account, verify your e-mail, and talk in rooms you create or join. Messages travel over WebSockets, with Spring Boot and MongoDB behind them. Built for a school module.

- Type: Personal project
- Period: Sep 2024
- Source: https://github.com/lyfe691/chatapp

## Virtual Machine Detector

> Know when you're running in a VM

A small Java tool that tells you whether it is running inside a virtual machine. It checks the BIOS, the CPU, the network card's MAC address and the Windows registry for the traces a hypervisor leaves behind.

- Type: Personal project
- Period: Aug 2024
- Source: https://github.com/lyfe691/Virtual-Machine-Detector

## View Counter

> A page view counter on Redis

A page view counter: every visit to the home page adds one, and the count lives in Redis, so it survives a restart. A small Spring Boot project for learning how Redis fits into a Java web app.

- Type: Personal project
- Period: Aug 2024
- Source: https://github.com/lyfe691/View_Counter

## Docker Service Deployment

> MediaWiki, Nextcloud, and Gogs in Compose

A Docker Compose setup that runs MediaWiki, Nextcloud and Gogs side by side, with persistent data and Portainer to watch over them. A school project, built and documented together with Benicio Von Felten.

- Type: Personal project
- Period: Jun 2024
- Source: https://github.com/lyfe691/m169-347

## Phishing Website Tutorial

> A hands-on look at how phishing pages work

A step-by-step look at how a phishing page is put together, written so you can recognise one when you see it. For education only.

- Type: Personal project
- Period: Apr 2024
- Source: https://github.com/lyfe691/phishing-website-tutorial

## OverTheWire Guide

> Bandit, level by level

A walkthrough of [OverTheWire's Bandit](https://overthewire.org/wargames/bandit/) wargame, level by level, with a short introduction to the Linux commands each level needs.

- Type: Personal project
- Period: Apr 2024
- Source: https://github.com/lyfe691/OverTheWire-bandit
