Profile picture

Jarne: Dev Portfolio

Welcome! I'm a developer who enjoys diving into a wide range of challenges. This portfolio highlights my work building web and mobile apps, along with some fun games, powered by core technologies like JavaScript, Swift, React, CI/CD pipelines, and Docker. I'm also passionate about open-source collaboration in a team setting and frequently work on DevOps tooling.

Based in Germany · Contact me: dev@jarne.rocks

Links:GitHub profile

Technologies

I had the chance to gain experience with the following technologies:

JavaScriptPHPSwiftReactExpressMochaSwiftUISwiftDataSlimVue.jsPHPUnitPocketMine-MPCircleCIDockerGitHub ActionsMySQLMongoDBMinIOViteAWS S3AWS CloudFrontPHPStan

Featured Projects

Here are some of my favourite projects I've worked on:

Project screenshot

Collaborative Website Bookmarking and Tagging app

JavaScriptExpressReactMochaMongoDBMinIODockerCircleCI

Colly is a web-based application designed for effortlessly collecting and organizing your favorite URL's and websites. With Colly, users can create a personalized library of web pages.

URL Organization with Tagging

Users can categorize collected URLs using customizable tags in workspaces with configurable permissions, with the relationships stored in the MongoDB database and managed by the Node.js/Express backend.

Metadata Fetching

Saved website are automatically craweled using a library to fetch important information, such as its title and meta description. Site icons and preview banners are stored using an external S3-compatible object storage (like MinIO or Amazon S3).

Easy-to-use interface

Collected URLs are managed using a responsive React frontend, providing an intuitive user experience for managing, sorting and filtering links and tags.

Deployment & CI/CD

The application is orchestrated using Docker Compose as a multi-container environment. All back-end services are unit tested and linted using a CI workflow, and an automated CD pipeline builds a Docker image once a new version is published.

Project screenshot

One-Click-Commands Menu Bar App

SwiftSwiftUISwiftDataGitHub Actions

Introducing Commandoak, your macOS app for streamlined command execution! Define your commands with emojis and names, then effortlessly execute them in a new, interactive default Terminal window right from the menu bar.

Command Shortcuts

Define terminal commands with names and emojis, and execute them with a single click from the menu bar or using keyboard shortcuts. Commands open in a new, interactive Terminal window.

Modern Frameworks

Built in Swift with modern frameworks like SwiftUI and SwiftData, ensuring a responsive and efficient user experience.

Auto-start on Login

Commandoak can be configured to start automatically when you log in to your Mac by registering a helper application.

CI/CD

The application is automatically built using Xcode on GitHub Actions. The workflow creates a new release for each version after a successful build. Application code is linted using SwiftLint in a CI pipeline.

Project screenshot

Password and Passphrase generator on the web

JavaScriptReactViteGitHub ActionsAWS S3AWS CloudFront

PassPanda is a user-friendly static web application designed to facilitate the generation of secure passwords and Diceware passphrases.

Memorable Password Generation

PassPanda can generate common passwords with customizable parameters such as length and inclusion of letters, numbers, and special characters. Users can also choose to generate easily memorable passwords using the omgopass library.

Diceware Passphrases

Diceware passphrases can be generated thanks to a browser-native implementation of the Diceware algorithm, creating strong yet memorable passwords based on the EFF word list.

Implementation of Passwort Generation

Both the standard and Diceware password generation are implemented in JavaScript and run locally in the browser, using the browser's secure crypto.getRandomValues API.

User Experience

PassPanda provides handy features to improve the user experience, such as buttons for copying the password to the clipboard, generating a new one, and a system-native dark mode. It can also be installed locally as a Progressive Web App (PWA).

Project screenshot

Private Fast URL Shortener

PHPJavaScriptSlimVue.jsPHPUnitMySQLDockerCircleCI

Toohga is your smart private URL shortener with very short URL's. It uses a custom algorithm to generate short codes that stay as short as possible, using combinations of numbers and letters.

URLs even shorter

While public URL shorteners generate URLs that are still not very short, Toohga uses a custom algorithm to generate the shortest possible URLs by combining numbers and letters.

Private URL Shortening

The URL shortener is designed to be self-hosted and private, ensuring URLs do not get longer as with widely used public services. It also provides user management to authenticate users, while keeping it to a very usable minimum using a 4-6 digit PIN code.

Admin Interface

An admin interface, created with Vue.js, allows instance admins to manage users and created short URLs easily.

Deployment & CI/CD

The application is distributed as a docker container. All back-end services are unit tested using a CI workflow, and an automated CD pipeline builds a Docker image once a new version is published.

Project screenshot

Game-Logic Plugins for Minecraft Servers

PHPPocketMine-MPMySQLPHPStanCircleCI

A collection of open-source plugins developed to enhance Minecraft: Bedrock Edition server functionality, offering features such as world logic management systems, voxel world landscape generators, minigames, chat filter, and other tools. These plugins are built for PocketMine-MP, a popular server software, and written in PHP.

Game World Management

Provides administrative features to manage in-game worlds by creating/deleting, loading/unloading, and changing server worlds. The majory of the game aspects (such as movements, player damages, commands, etc.) can be controlled in deep-level detail by the plugin with custom logic to allow, deny, or base the decision on an allow or block list.

Voxel Landscape Generation

Implementation of custom voxel-based world generators that create unique landscapes based on random Simplex noice and extend the game in new ways. Generators also populate game worlds by randomly generating structures such as trees, hills, and islands.

In-Game Logic

The creation of in-game logic such as minigames is a challenging task. These plugins provide a solid foundation for building minigames by handling player states, game phases, scoring systems, and other essential components. Other components handle world interactions or chat filtering to ensure a safe gameplay.

Community Engagement

Online multiplayer games bring players together, and these open source plugins repositories usually show a much higher contribution by game server operators and players regarding issues, feature requests, and code contributions.

Let's talk

Feel free to reach out: dev@jarne.rocks