diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..493b24c --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +node_modules +dist \ No newline at end of file diff --git a/dist/404.html b/dist/404.html deleted file mode 100644 index efc8bbf..0000000 --- a/dist/404.html +++ /dev/null @@ -1,248 +0,0 @@ - - - - - - 404 - Page not found | janishutz.com - - - - - - -
-

404

-

The page you are looking for was not found!

- Home -
- - - - - \ No newline at end of file diff --git a/dist/about/aboutme/index.html b/dist/about/aboutme/index.html deleted file mode 100644 index 420bd7c..0000000 --- a/dist/about/aboutme/index.html +++ /dev/null @@ -1,319 +0,0 @@ - - - - - - - - - - - - About me | janishutz.com - - - - - - - - - - - - - - - -
-

About Janis Hutz

- -
- Janis Hutz -
-

Hello! I'm Janis Hutz, and I develop software

-

Having been working on developing software and learning to do so properly since the - beginning of 2021, I have accumulated a lot of work hours in this subject. In September 2024, I have - started my studies in Software Engineering at ETH Zurich, a renowned university in Switzerland, where I am currently working towards my Bachelor of Science degree.

-

My projects are becoming increasingly more complex, useful and feature-rich. Now - finally, with proper education, I will be taking my software to the next level.

-

Most of the software provided on this website is done so for free. Any financial support would be greatly - appreciated.

-

I am a hard-core Linux user, which means I am always tweaking my user interface and - OS when I am not coding. You can read up on my Linux journey here. While I do - occasionally like to play games on my own, I primarily do so with friends, as I prefer not to waste - my time playing games, if there is nobody available to play them with.

-

Other than that, I am also very interested in PC hardware, and I am always - up-to-date with the latest hardware, ranging from CPUs and GPUs to power supplies, cases and - coolers. I also enjoy composing music, but mostly keep that to myself, as with playing piano, which - I enjoy doing occasionally.

-
-
- -

Timeline

-

The timeline of my projects and my evolution in software development

-
-
-
-
2015
-
-
First coding experience using LEGO Mindstorms & LabView
-
-
-
2021
-
-
BiogasControllerApp, Small projects
-
-
-
2022
-
-
StorageManager, QR & Barcode Insight, smuL
-
-
-
2023
-
-
libreevent, smuL, StorageManager
-
-
-
2024
-
-
Language School Hossegor - Booking, store.janishutz.com, id.janishutz.com -
-
-
-
2025
-
-
ETH Zurich, ConductorCalc, StorageManager, Website, Dotfiles, new Account System
-
-
- -

Learn more here

- Linktree -
- - - - diff --git a/dist/about/index.html b/dist/about/index.html deleted file mode 100644 index 0c7b9ba..0000000 --- a/dist/about/index.html +++ /dev/null @@ -1,311 +0,0 @@ - - - - - - - - - - - - About | janishutz.com - - - - - - - - - - - - - - - -
-

About

- -
- janishutz.com logo -
-

Since its launch in January 2023, janishutz.com has seen a lot of changes. Not only - has the main website seen three major revisions, but the offering has expanded massively, with a - Software Store, Custom Website development, Account services and more becoming part of the Software - ecosystem.

-

Most of the software provided on this website is done so for free. Any financial support would be greatly - appreciated.

-

The goal of this website is and has always been to show off software projects and the current design - gives you a much neater introduction with much more information. The website has always been written - from scratch and loading times have been reduced as much as possible, giving you a snappy experience - like barely anywhere else on the internet

- -

Timeline

-

The timeline of evolution of this website

-
-
-
-
2022
-
-
Launch of the first version, can be found here
-
-
-
2023
-
-
- Two updated versions, found here - and here slightly updating and then - completely reworking the design of the website -
-
-
-
2024
-
-
Add more services (Accounts, Store)
-
-
-
2025
-
-
The current website, reworked accounts
-
-
-
-
- -

Learn more here

-
- Linktree - About Janis Hutz -
- -
- - - - diff --git a/dist/css/analytics.css b/dist/css/analytics.css deleted file mode 100644 index fb777e8..0000000 --- a/dist/css/analytics.css +++ /dev/null @@ -1,68 +0,0 @@ -/* - Analytics -*/ -.analytics-notice { - z-index: 10000; - bottom: -450px; - right: 5px; - width: 300px; - height: 400px; - position: fixed; - background-color: var( --color-background-analytics ); - border-radius: 20px; - padding: 10px; - text-align: center; - display: flex; - flex-direction: column; - align-items: center; - overflow: scroll; - transition: bottom 1s; -} - -.analytics-notice.show { - bottom: 5px; -} - -/* Close button */ -.analytics-button { - color: var( --color-text-primary ); - position: absolute; - top: 10px; - right: 10px; - background: none; - border: none; - font-size: 1rem; - cursor: pointer; -} - -#matomo-opt-out { - color: var( --color-text-primary ) !important; -} - -/* The small icon on the side that is shown when main panel is closed */ -.analytics-notice .small-symbol { - position: fixed; - bottom: 20px; - right: 0px; - border-top-left-radius: 10px; - border-bottom-left-radius: 10px; - background-color: var( --color-background-analytics ); - border: solid black 1px; - cursor: pointer; - transition: all 1s; - padding-left: 5px; - padding-right: 10px; - padding-bottom: 20px; - padding-top: 20px; - transition-delay: 2s; - z-index: 10001; -} - -.analytics-notice .small-symbol .material-symbols-outlined { - font-size: 1.75rem; -} - -.analytics-notice.show .small-symbol { - right: -100px; - transition-delay: 0s; -} diff --git a/dist/css/colors.css b/dist/css/colors.css deleted file mode 100644 index 402a48b..0000000 --- a/dist/css/colors.css +++ /dev/null @@ -1,15 +0,0 @@ -#theme-switcher-icon { - font-size: 1rem; - margin-right: 5px; -} - -.theme-selector { - display: flex; - flex-direction: row; - justify-content: flex-start; - align-items: center; -} - -.slider-controls { - background-color: var( --color-background-accent ) !important; -} diff --git a/dist/css/footer.css b/dist/css/footer.css deleted file mode 100644 index c81b529..0000000 --- a/dist/css/footer.css +++ /dev/null @@ -1,80 +0,0 @@ -footer { - border-top: solid black 1px; - background-color: var( --color-background-accent ); - width: 100vw; - margin-top: 40px; -} - -footer .logo { - margin-top: 20px; - height: 40vh; - border-radius: 20px; -} - -.footer-container { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - width: 100%; - margin-bottom: 50px; -} - -.footer-text-container { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - min-width: calc( ( 100% - 40vh - 50px ) / 2 ); - width: 80%; -} - -.footer-category { - display: flex; - flex-direction: column; - width: 80%; -} - -.footer-category a { - color: var( --color-text-primary ); - text-decoration: none; - transition: all 0.5s; - transform: scale(1); - transition: transform 0.75s; -} - -.footer-category a:hover { - color: var( --color-button-hover ); - transform: scale(1.1); -} - - - -@media only screen and (min-width: 999px) { - footer .logo { - margin-top: unset; - border-radius: 0; - } - .footer-container { - flex-direction: row; - margin-bottom: unset; - } - - .footer-text-container { - align-items: flex-start; - justify-content: flex-start; - flex-direction: row; - width: unset; - max-width: 65%; - margin-left: auto; - margin-right: auto; - } - - .footer-category { - margin-left: auto; - margin-right: auto; - width: unset; - min-width: max-content; - margin: 5px; - } -} diff --git a/dist/css/nav.css b/dist/css/nav.css deleted file mode 100644 index 5acde72..0000000 --- a/dist/css/nav.css +++ /dev/null @@ -1,290 +0,0 @@ -nav { - width: 100vw; - height: 15vh; -} - -.nav-placeholder { - height: 15vh; -} - -.nav-menu .logo-wrapper { - display: none; - height: 90%; - border-radius: 20px; - overflow: hidden; -} - -.nav-menu .logo { - height: 100%; -} - -.nav-top-bar .logo-wrapper:hover { - transform: unset; -} - -nav a { - /* TODO: Update colours */ - color: var(--color-text-primary); - text-decoration: none; - transform: scale(1); - transition: transform 0.75s; -} - -nav a:hover { - transform: scale(1.1); -} - -.nav-link-wrapper { - margin-bottom: 30px; -} - -.nav-link-dropdown a { - font-size: 1.1rem; -} - -.nav-icon { - font-size: 2rem; -} - -.nav-menu { - position: fixed; - left: -100vw; - top: 15vh; - padding-top: 2.5vh; - padding-bottom: 2.5vh; - padding-left: 2.5vw; - padding-right: 2.5vw; - height: 80vh; - width: 95vw; - display: flex; - flex-direction: column; - z-index: 100; - background-color: var(--color-background-accent); - transition: left 0.5s, top 0.5s; -} - -.nav-top-bar { - position: fixed; - top: 0; - left: 0; - width: 100vw; - height: 15vh; - background-color: var(--color-background-accent); - display: flex; - align-items: center; - z-index: 100; - border-bottom: black 1px solid; - transition: top 0.5s; -} - -.nav-top-bar.slide-up { - top: -20vh; -} - -.nav-top-bar .logo { - height: 100%; -} - -.nav-top-bar .logo-wrapper { - display: unset; - height: 90%; - border-radius: 20px; - margin-left: 20px; - overflow: hidden; -} - -.nav-menu.active { - left: 0; -} - -.nav-link-header { - font-size: 1.2rem; - display: flex; - flex-direction: row; - justify-content: center; - align-items: center; - transition: all 0.5s; -} - -.nav-link-dropdown { - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; -} - - -/* Nav-Toggle button idea from here: https://codepen.io/alvarotrigo/pen/wvrzPWL*/ -.nav-toggle { - margin-left: auto; - margin-right: 20px; - text-decoration: none; - color: var(--color-text-primary); - font-size: 5vh; - cursor: pointer; - width: 35px; - height: 25px; - z-index: 1; - transition: 0.8s; - display: flex; - flex-direction: column; - justify-content: space-between; -} - -.line { - display: block; - width: 100%; - height: 2px; - background-color: var(--color-text-primary); -} - -#line1 { - transform-origin: 0% 0%; - transition: transform 0.4s ease-in-out; -} - -#line2 { - transition: transform 0.2s ease-in-out; -} - -#line3 { - transform-origin: 0% 100%; - transition: transform 0.4s ease-in-out; -} - -.nav-toggle.active #line1 { - transform: rotate(45deg) scaleX(0.95); -} - -.nav-toggle.active #line2 { - transform: scaleY(0); -} - -.nav-toggle.active #line3 { - transform: rotate(-45deg) scaleX(0.95); -} - - -@media only screen and (min-width: 900px) { - nav { - height: 20vh; - } - - nav a:hover { - transform: unset; - } - - .nav-placeholder { - height: 20vh; - } - - .nav-menu .logo-wrapper { - display: unset; - } - - .nav-top-bar { - display: none; - } - - .nav-menu { - padding: 0; - height: 20vh; - width: 100vw; - justify-content: center; - align-items: center; - flex-direction: row; - top: 0; - left: 0; - border-bottom: var(--color-text-primary) 1px solid; - } - - .nav-menu.slide-up { - top: -20vh; - } - - .nav-link-dropdown { - transform: scaleY(0); - align-items: unset; - justify-content: unset; - position: absolute; - top: 100%; - min-width: 175px; - width: max-content; - transform-origin: top; - transition: transform 0.5s; - background-color: var(--color-background-primary); - border-radius: 10px; - padding: 15px; - z-index: 2; - } - - .nav-link-wrapper { - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - cursor: pointer; - position: relative; - margin-left: 3%; - margin-right: 3%; - margin-bottom: unset; - } - - .nav-link-header { - flex-direction: column; - min-width: 100px; - padding: 10px; - border-top-left-radius: 10px; - border-top-right-radius: 10px; - position: relative; - z-index: 3; - } - - .nav-link-header::before, - .nav-link-header::after { - opacity: 0; - border: var(--color-background-primary) 15px solid; - border-top-color: transparent; - width: 20px; - height: 20px; - position: absolute; - content: " "; - z-index: -1; - transition: opacity 0.4s; - bottom: -15px; - } - - .nav-link-header::before { - border-left-color: transparent; - border-bottom-right-radius: 30px; - right: calc(100% - 15px); - } - - .nav-link-header::after { - border-right-color: transparent; - border-bottom-left-radius: 30px; - left: calc(100% - 15px); - } - - .nav-link-dropdown a:hover { - text-decoration: underline; - } - - .nav-link-wrapper:hover .nav-link-header { - background-color: var(--color-background-primary); - } - - .nav-link-wrapper:hover .nav-link-dropdown { - transform: scaleY(1); - } - - .nav-link-wrapper:hover .nav-link-header::before, - .nav-link-wrapper:hover .nav-link-header::after { - transition-delay: 0.1s; - opacity: 1; - } - - .nav-toggle { - display: none; - } -} diff --git a/dist/css/pages/index.css b/dist/css/pages/index.css deleted file mode 100644 index 3f13197..0000000 --- a/dist/css/pages/index.css +++ /dev/null @@ -1,4 +0,0 @@ -.title-video { - width: 100vw; - height: 90vh; -} diff --git a/dist/css/side-by-side.css b/dist/css/side-by-side.css deleted file mode 100644 index 1f45179..0000000 --- a/dist/css/side-by-side.css +++ /dev/null @@ -1,29 +0,0 @@ -.side-by-side { - display: flex; - width: 100%; - flex-direction: column; - align-items: center; - justify-content: center; - position: relative; -} - -.side-by-side-item { - width: 100%; - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - text-align: center; -} - - -@media only screen and (min-width: 999px) { - .side-by-side { - flex-direction: row; - } - - .side-by-side-item { - width: 48%; - margin: 0.5%; - } -} diff --git a/dist/css/style.css b/dist/css/style.css deleted file mode 100644 index 279e63c..0000000 --- a/dist/css/style.css +++ /dev/null @@ -1,273 +0,0 @@ -@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap'); -@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200'); -@import url('/css/nav.css'); -@import url('/css/colors.css'); -@import url('/css/footer.css'); -@import url('/css/analytics.css'); - -/* Color Theme */ -:root, -:root.light { - --color-text-primary: black; - --color-text-accent: #303030; - --color-link: #1e24a1ff; - --color-background-primary: white; - --color-background-accent: rgb(226, 226, 226); - --color-background-analytics: rgb(193, 193, 223); - --color-background-yt-embed: rgb(173, 173, 173); - --color-slider-info: rgba(255, 255, 255, 0.85); - --color-button: rgb(21, 43, 92); - --color-button-hover: rgb(2, 10, 27); -} - -:root.dark { - --color-text-primary: white; - --color-text-accent: #b5b5b5; - --color-link: #005aacff; - --color-background-primary: #151515; - --color-background-accent: black; - --color-background-analytics: #303030; - --color-background-yt-embed: #404040; - --color-slider-info: rgba(0, 0, 0, 0.85); - --color-button: rgb(20, 150, 200); - --color-button-hover: rgb(15, 125, 175); -} - -@media (prefers-color-scheme: dark) { - :root { - --color-text-primary: white; - --color-text-accent: #b5b5b5; - --color-link: #005aacff; - --color-background-primary: #151515; - --color-background-accent: black; - --color-background-analytics: #303030; - --color-background-yt-embed: #404040; - --color-slider-info: rgba(0, 0, 0, 0.85); - --color-button: rgb(20, 150, 200); - --color-button-hover: rgb(15, 125, 175); - } -} - -/* - * MAIN - */ -body { - height: 100%; - width: 100%; - padding: 0; - margin: 0; - font-family: 'Manrope', sans-serif; - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - background-color: var(--color-background-primary); - color: var(--color-text-primary); -} - -body.loaded { - transition: color 0.5s, background-color 0.5s; -} - -a { - color: var(--color-link); -} - -.material-symbols-outlined { - font-variation-settings: - 'FILL' 0, - 'wght' 400, - 'GRAD' 0, - 'opsz' 48 -} - -.content { - width: 80%; - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - min-height: 80vh; -} - -.no-scroll { - overflow: hidden; -} - -.button { - padding: 20px; - background-color: var(--color-button); - color: white; - text-decoration: none; - border-radius: 10px; - transition: all 0.5s; - width: fit-content; - height: fit-content; -} - -.button:hover { - border-radius: 5px; - background-color: var(--color-button-hover); -} - -.divider { - width: 100%; - margin-bottom: 2%; - margin-top: 2%; - border-color: var(--color-text-primary); -} - -.slider { - width: 100vw; - height: calc(100vw / 16 * 11); -} - -.slider-element { - background-color: lightblue; -} - -.slider-info { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - background-color: var(--color-slider-info); - padding: 20px; - border-radius: 20px; - max-width: 70%; -} - -.slider-controls { - font-size: 2.6rem; - padding: 0.25rem 0.5rem; -} - -.slider-control-left { - border-top-right-radius: 15px; - border-bottom-right-radius: 15px; -} - -.slider-control-right { - border-top-left-radius: 15px; - border-bottom-left-radius: 15px; -} - -.offset-button { - position: absolute; - bottom: 5%; -} - -.yt-embed { - background-color: var(--color-background-yt-embed) !important; -} - -.pullquote-lines { - border-color: var(--color-text-primary); - margin-bottom: 2%; - margin-top: 2%; - width: 100%; -} - -.quotes-text { - font-size: 150%; - font-style: italic; - font-weight: normal; - text-align: center; -} - -.quotes-author { - text-align: right; - font-style: italic; - width: 80%; - margin-right: auto; - font-weight: lighter; - margin-top: 0; -} - - -.project-logo { - margin-top: 12vh; - width: 80vw; - height: auto; - border-radius: 20px; -} - -.project-logo.small-logo { - width: 50%; - height: auto; -} - -.inline-elements { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; -} - -@media only screen and (max-width: 999px) { - .inline-elements .button { - width: 100%; - text-align: center; - } -} - -.inline-elements * { - margin: 5px; -} - -.text-center { - text-align: center; -} - -.rounded-corners { - border: none; - border-radius: 20px; -} - -.circle { - border-radius: 5000px; -} - -.bigger { - font-size: 1.2rem; - font-weight: bold; -} - -.no-margin { - margin: 5px; -} - -@media only screen and (min-width: 550px) and (max-width: 999px) { - .project-logo { - margin-top: 10vh; - width: 50vw; - } -} - -@media only screen and (min-width: 1000px) { - .project-logo { - margin-top: 4vh; - width: auto; - height: 40vh; - } - - .project-logo.small-logo { - width: 25%; - height: auto; - } - - .inline-elements { - flex-direction: row; - } -} - -@media only screen and (min-width: 800px) { - .slider { - width: 100vw; - height: 80vh; - } - - .slider-controls { - font-size: 3rem; - } -} diff --git a/dist/css/timeline.css b/dist/css/timeline.css deleted file mode 100644 index 1d3dc22..0000000 --- a/dist/css/timeline.css +++ /dev/null @@ -1,49 +0,0 @@ -.timeline { - position: relative; - display: block; - flex-direction: column; - height: 100%; -} - -.timeline-el { - z-index: 3; - position: relative; - display: flex; - flex-direction: row; - align-items: center; - width: 100%; - margin-top: 30px; - background: none; -} - -.timeline-dot { - width: 20px; - height: 20px; - background-color: rgb(21, 43, 92); - border-radius: 20px; -} - -.timeline-year { - margin-right: 20px; - color: var( --color-text-accent ); - font-style: italic; - width: 5rem; -} - -.timeline-desc { - font-style: italic; - font-weight: lighter; - margin-left: 20px; - max-width: calc( 100% - 5rem - 60px ); -} - -.timeline-line { - position: absolute; - z-index: 1; - height: calc(100% - 10px); - top: 5px; - width: 4px; - background-color: rgb(110, 110, 110); - display: flex; - left: calc( 5rem + 28px ); -} diff --git a/dist/css/wrapfig.css b/dist/css/wrapfig.css deleted file mode 100644 index 9bd9c6a..0000000 --- a/dist/css/wrapfig.css +++ /dev/null @@ -1,48 +0,0 @@ -.wrapfig-wrapper { - width: 100%; - position: relative; -} - -.wrapfig { - width: 100%; -} - -.wrapfig.left { - float: none; -} - -.wrapfig.right { - float: none; -} - -.wrapfig-text { - margin: 5px; - width: 100%; -} - - -@media only screen and (min-width: 999px) { - .wrapfig { - width: 40%; - } - - .wrapfig.left { - float: left; - } - - .wrapfig.right { - float: right; - } - - .wrapfig-text { - width: 58%; - } - - .wrapfig-text.left { - margin-right: auto; - } - - .wrapfig-text.right { - margin-left: auto; - } -} diff --git a/dist/index.html b/dist/index.html deleted file mode 100644 index 24fcc77..0000000 --- a/dist/index.html +++ /dev/null @@ -1,345 +0,0 @@ - - - - - - - - - - - janishutz.com - software designed to make your life easier - - - - - - - - - - - - - - - - - - -
-
-
-
-

Software for your needs

-

Professional-Grade Software

- Store -
-
-
-
-

ConductorCalc

-

The perfect tool to aid you in the complex calculations necessary when building high voltage lines

- Check it out -
-
-
-
-

MusicPlayer

-

Your one-stop solution for music at your next party

- Check it out -
-
-
-
-

Open Source Projects

-

Free Software, developed by Janis Hutz & the community

- Discover them! -
-
-
- arrow_back - arrow_forward -
- -
-
-

My work

-

Discover all my main projects

- Discover them -
-
-
-

Store

-

Find your perfect professional-grade Software

- Store -
-
-

ConductorCalc

-

Professional wire calculation software to aid in building high voltage lines safely

- ConductorCalc -
-
-
-
-

Accounts

-

Log into any of my services with one single account, or apply to get access to the SDKs to integrate - them into your own projects

- To Account -
-
-

Free & Open Source Software

-

Various open source projects are in the works at janishutz.com, with help from the community.

- Projects -
-
-
-
-

iOS Apps

-

Apps to improve your day-to-day life by providing useful features helping you stay safe and - organized.

- iOS Apps -
-
-

Custom Websites

-

Find your perfect new web appearance, built from the groundup without any frameworks

- Check it out -
-
-
- - - - - - - - - diff --git a/dist/legal/index.html b/dist/legal/index.html deleted file mode 100644 index 423a73e..0000000 --- a/dist/legal/index.html +++ /dev/null @@ -1,273 +0,0 @@ - - - - - - - - - Legal | janishutz.com - - - - - - - - - - - - - -
- gavel -

The Legal Stuff

- -

View all the legal agreements here, which apply whenever you use any of the services on janishutz.com

- -
- Privacy Policy - Terms of Service - Return Policy - Licences - Support Status -
- -

Looking to opt out of analytics? Click here

-
- - - diff --git a/dist/legal/licences/index.html b/dist/legal/licences/index.html deleted file mode 100644 index 0832d37..0000000 --- a/dist/legal/licences/index.html +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - - - - Software Licences | janishutz.com - - - - - - - - - - - - - -
- license -

Licences

- - ← Back to legal hub -

Here you can find a copy of all the licences used for all projects on this website. Each software that uses one of these links to this page.

- -
- GNU General Public Licence V3 - Proprietary -
- -

Looking to opt out of analytics? Click here

-
- - - diff --git a/dist/legal/licences/proprietary/index.html b/dist/legal/licences/proprietary/index.html deleted file mode 100644 index 8d5d61e..0000000 --- a/dist/legal/licences/proprietary/index.html +++ /dev/null @@ -1,307 +0,0 @@ - - - - - - - - - Proprietary Software Licence | janishutz.com - - - - - - - - - - - - -
-

Proprietary Licence

- - ← Back to licences -
    -
  1. - Installation -

    You are granted the right to install this software on a limited number of devices.

    - Restrictions -
      -
    • - You are not allowed to work around technical restrictions or limitations of the software -
    • -
    • - You are not allowed to use this software on multiple devices simultaneously, but are allowed to have it installed on a limited number of devices at the same time -
    • -
    • - You are not allowed to decompile, reverse engineer or disassemble the software. -
    • -
    -
  2. -
  3. - Licensing -

    When purchasing this software, the software is not sold to you, but licenced to you. Due to non-compliance with these terms, your licence may be revoked without financial compensation.

    -
  4. -
  5. - Transferring -

    You are not allowed to resell or transfer your licence to other accounts. A licence is granted to a specific account and is linked to that.

    -
  6. -
  7. - Warranty -

    You agree that Janis Hutz is in no way, shape or form liable for any damage incurred by using this software. - There is no warranty included with this software. - All software is extensively tested, but errors in usage or code may cause loss of data created with the software. - Janis Hutz is not required to provide immediate updates if features of the software do not work as intended. -

    -
  8. -
  9. - Updating -

    Updates will be rolled out to address potential issues some time after a bug report was made through the support system. - You are not guaranteed to receive updates to the software indefinitely. You can see software support statuses and roadmaps here. -

    -
  10. -
  11. - Support -

    Comprehensive software support may be provided to you as part of your purchase. Any paid software includes a basic support package that is used to address potential shortcomings of the software. If you experience any bugs in the software, please report a bug

    -
  12. -
  13. - Updating of these terms -

    These terms may be changed at any time. The most recent terms at the time of your purchase are the terms that apply to your software. New terms will not be forced upon you

    -
  14. -
  15. - Entire agreement -

    By agreeing to these terms, you also agree to the Terms of Service, the Privacy Policy and the Return Policy

    -
  16. -
- Last updated 2024-05-20 -
- - - diff --git a/dist/legal/privacy/index.html b/dist/legal/privacy/index.html deleted file mode 100644 index f448772..0000000 --- a/dist/legal/privacy/index.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - - - - - Privacy Policy | janishutz.com - - - - - - - - - - - - - - -
-

Privacy Policy

- - ← Back to legal hub - -
-

Privacy is an inherent human right, and a requirement for maintaining the human - condition with dignity and respect

-

- Bruce Schneier

-
- -

Keeping your data safe is at the centre of all of my software. Therefore, I will never sell your data and all - data that is collected automatically is not tied to your identity.

- - -
    - -
  1. - What data is collected on you? -

    Some of my web-based services, but none of my apps may use Privacy Preserving - Product Analytics, meaning all data on interactions with my websites and services will be - aggregated and anonymized. All raw data is deleted within a day of being collected.
    - This data includes your anonymized IP address and your approximated country (which is estimated - based on your IP address) and what pages you clicked on. For this purpose my services use - Matomo, which is a free and open source, self-hosted analytics tool. -
    All other data that is collected on you is data you willingly and at your own - responsibility provide me with when signing up or using any of my services. Whilst I try to have - everything run cloud-less, some features still require some data handling on my servers. -

    -
  2. -
    - -
  3. - How is this data stored and processed? -

    All the data that has to be sent to the cloud for processing, like the contact form, - is sent to my servers using an HTTPS connection, hence, it is an encrypted connection. You may - have your request deleted at any time. To do so, depending on the platform, you will either find - a button on the account page, or you will have to contact me to delete the data. -
    The data collected automatically by my analytics tool is stored for one day and never - allows me to uniquely identify you as an individual. Once the data is aggregated, the raw data - is deleted, and you will only show up as part of all users that visit my websites. -

    -
  4. -
    - -
  5. - How can I have my data deleted? -

    - You can delete your account data here.
    - Data from other services that are connected to this service can also be deleted from the account - page under here. -
    - To have non-account data deleted, or in case the automated deletion fails, please contact me. I will not be - able to delete the data that is collected automatically, as I do not know who this data belongs - to and all raw data is deleted within one day of creation. -

    -
  6. -
    - -
  7. - Opting out of data collection -

    All websites that feature Matomo tracking code will allow you to opt out, by - clicking the small symbol in the bottom right corner.

    -
  8. -
    - -
  9. - Cookies -

    Most of my websites do not use any cookies. If they do use cookies, the specific - service will explicitly state so when you first visit the page. Cookies are small amounts of - text-based data used to identify you, which, whenever one of my services uses cookies, is - required to allow you to sign into that page. No third party cookies are used on any of my - websites

    -
  10. -
    - -
  11. - Sharing data with third parties -

    No data is shared with third parties, except you give your explicit, written consent - to do so. In the future, my store may support other developer's software. If so and you purchase - a product by a third-party developer, some data will have to be shared with them.

    -
  12. -
    - -
  13. - Updating this privacy Policy -

    I retain the right to, at any time, at my own will and discretion, update this - privacy policy. Valid is always the privacy policy which is available at this URL

    -
  14. -
    -
- Last updated 2025-09-12 -
- - - - diff --git a/dist/legal/privacy/v1/index.html b/dist/legal/privacy/v1/index.html deleted file mode 100644 index 2f28e16..0000000 --- a/dist/legal/privacy/v1/index.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - - - - Privacy Policy V1 | janishutz.com - - - - - - - - - - - - -
-

Privacy Policy

- -
-

Privacy is an inherent human right, and a requirement for maintaining the human condition with dignity and respect

-

- Bruce Schneier

-
- -

Keeping your data safe is at the centre of all of my software. Therefore, none of my software automatically collect any data

- -
    -
  1. - What data is collected on you? -

    This website and all of my services do not collect any data on how you interact with them. All data that is collected on you is data you willingly and at your own responsibility provide me with when signing up or using any of my services. Whilst I try to have everything run cloud-less, some features still require some data handling on my servers.

    -
  2. -
  3. - How is this data stored and processed? -

    All the data that has to be sent to the cloud for processing, like the contact form, is sent to my servers using an HTTPS connection, hence, it is an encrypted connection. The data from the contact from is then sent to one of my email addresses via my mail server and is never stored on the actual server. You may have your request deleted at any time. To do so, please contact me again or respond to my response email.

    -
  4. -
  5. - How can I have my data deleted? -

    To have your data deleted, please contact me.

    -
  6. -
  7. - Cookies -

    Most of my websites do not use any cookies. If they do use cookies, the specific service will explicitly state so when you first visit the page. Cookies are small amounts of text-based data which is used to identify you, which, whenever one of my services uses cookies, is required to allow you to for example sign into that page. No third party cookies are used on any of my websites

    -
  8. -
  9. - Sharing data with third parties -

    No data is shared with any third parties, except I have your explicit, written permission to do so in case I need to forward your query to somebody else.

    -
  10. -
  11. - Updating this privacy Policy -

    I retain the right to, at any time, at my own will and discretion to update this privacy policy. Valid is always the privacy policy which is available at this URL

    -
  12. -
-
- - - diff --git a/dist/legal/returns/index.html b/dist/legal/returns/index.html deleted file mode 100644 index e05435e..0000000 --- a/dist/legal/returns/index.html +++ /dev/null @@ -1,287 +0,0 @@ - - - - - - - - - Return Policy | janishutz.com - - - - - - - - - - - - - -
-

Return Policy

- - ← Back to legal hub -
    -
  1. - Definitions -

    -

      -
    • Return Window: The window in which I can provide you with a refund
    • -
    • Cancellation Window: The window in which you can cancel a subscription before being charged again.
    • -
    -

    -
  2. -
  3. - Return Window -

    You can return a product within 30 days of purchasing through your account. Some products might not be refundable, as they are consumable. Such products are indicated on the store as not being refundable

    -
  4. -
  5. - Cancellation Window -

    You can cancel a subscription within your account up to 24 hours before the new billing cycle starts. After that, we cannot guarantee that you won't be charged again.

    -
  6. -
  7. - Refund amount -

    Refunds result in cost and work for me. Therefore, a refund comes at a 10% plus CHF 0.50 fee. The remaining funds will be sent back to your payment method within about 10 work days. This duration is solely dependent on the payment provider.

    -
  8. -
  9. - Denial of refunds -

    Some products may not be refundable for some reasons. We therefore cannot refund the entire order. If a product is not refundable, this is communicated to you on the product page on the store.

    -
  10. -
  11. - Refunds of subscriptions -

    Subscriptions aren't currently eligible for refunds. Please note that there might be cases where returning products or cancelling a subscription will not cancel a connected subscription. If that happens and you contact us within the first 5 days of the now useless subscription renewing, we can provide a full refund for the time after the renewal date

    -
  12. -
- Last updated 2025-09-12 -
- - - diff --git a/dist/legal/tos/index.html b/dist/legal/tos/index.html deleted file mode 100644 index fa65a27..0000000 --- a/dist/legal/tos/index.html +++ /dev/null @@ -1,327 +0,0 @@ - - - - - - - - - Terms of Service | janishutz.com - - - - - - - - - - - - - -
-

Terms of Service

- - ← Back to legal hub -
    -
  1. - Using content of my websites -

    In general, you are not allowed to use any of the content of my websites, except explicitly stated otherwise (like on my blog).

    -
  2. -
  3. - Definitions -

    -

      -
    • Perpetual Licence: A licence which will allow you to use the software for as long as you wish, and it is compatible with your chosen Operating System. What it does not mean: -
        -
      • You are not guaranteed to have access to online services
      • -
      • You are not guaranteed to be able to use subscription-based online services indefinitely
      • -
      • You do not get updates to the software indefinitely
      • -
      • Some new features might require purchasing a new version of the software
      • -
      • You do not get support for the software indefinitely. Support past a specified point in time might be available for a fee
      • -
      -
    • -
    • Subscription: A licence which grants you temporary access to a software, during the time-frame in which you pay for it. What it does not mean: -
        -
      • You will be able to keep using the software after cancellation and expiry of your subscription
      • -
      • Support is not guaranteed to be included
      • -
      -
    • -
    • End of Life (EOL): The point from which on the software will not receive any further updates.
    • -
    -

    -
  4. -
  5. - Software Licences -

    -

      -
    • All Software Licences granted to you when purchasing one off of my store are granted to you and you only, except explicitly stated otherwise.
    • -
    • You are not allowed to share a licence with other people outside the allowed limit stated for each software. There are measures in place to prevent this.
    • -
    • Licences to my software are usually granted to you as perpetual licences, meaning you will have access to this software indefinitely, even if I choose to end support for it.
    • -
    • Software that has reached EOL will be updated one last time, which will remove the DRM, allowing you to use it even without an account
    • -
    -

    -
  6. -
  7. - Document Licenses -

    -

      -
    • All Document Licences granted to you when purchasing one off of my store are granted to you and you only, except explicitly stated otherwise.
    • -
    • You are not allowed to share a licence with other people. There are measures in place to prevent this.
    • -
    • Licences to my PDFs are usually granted to you as perpetual licences, meaning you will have access to these Documents indefinitely, even if I choose to end support for it.
    • -
    • Documents I choose to drop from the store will be emailed to you upon reaching that status, so you keep your access to them.
    • -
    • All documents may only be viewed with the provided viewer in the browser, or in the future with any other Software provided and explicitly authorized by me.
    • -
    • There is no guarantee that the documents will be available at all times, as downtimes in the systems may occur, which are outside my control.
    • -
    -

    -
  8. -
  9. - Accountability -

    - I am in no way accountable for any damage that is incurred from using my software. I am not accountable for any loss of data that occurs by using any of my software, not even if you store data on the cloud. I keep regular, automated backups of all data to ensure that catastrophic data loss is not possible. - I thoroughly test my software to ensure that there is no risk of data loss. All data that could possibly be lost is data that is stored by my software. -

    -
  10. -
  11. - Returns -

    - Returns are handled according to my Return Policy to which you agree when agreeing to these terms -

    -
  12. -
  13. - Privacy -

    When agreeing to these terms, you also agree to my Privacy Policy, which states that some data on your interaction might be collected, but will never be tied to your identity. All other data you provide willingly is for obvious reasons tied to your identity.

    -
  14. -
-

Any violation of the above terms above may lead to a termination of your account or your licence being revoked.

- Last updated 2024-05-20 -
- - - diff --git a/dist/links/index.html b/dist/links/index.html deleted file mode 100644 index d43a2ee..0000000 --- a/dist/links/index.html +++ /dev/null @@ -1,273 +0,0 @@ - - - - - - - - - - Links | janishutz.com - - - - - - - - - - - - - - - - -
- link -

Links

-

Links to the most important pages and platforms

- - -
- Custom Websites - Store - GitHub - Git - npm - Projects - About Janis Hutz - Donate -
- -
- - - - diff --git a/dist/projects/biogascontrollerapp/index.html b/dist/projects/biogascontrollerapp/index.html deleted file mode 100644 index d7b7711..0000000 --- a/dist/projects/biogascontrollerapp/index.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - - - - - BiogasControllerApp - Configure the microcontroller used in ENATECH at KSWO to control the Biogas Plant | - janishutz.com - - - - - - - - - - - - - - - - - -
- -

Biogas­Controller­App

- - ← All projects -

Control the microcontroller used in the subject ENATECH at Kantonsschule Wohlen

- -
-

Easy to use, yet still features easy to understand code for beginners

-
-
- -
-

GitHub Repository

-

BiogasControllerApp is available on GitHub, where you may also view its well-documented code, with - beginner-friendliness in mind for the code.

- GitHub - -

Features

- -
- - - - - - - - - - diff --git a/dist/projects/index.html b/dist/projects/index.html deleted file mode 100644 index 96e39ea..0000000 --- a/dist/projects/index.html +++ /dev/null @@ -1,439 +0,0 @@ - - - - - - - - - - - Projects | janishutz.com - - - - - - - - - - - - - - - - - - - - -
-
- -
-
-

ConductorCalc

-

Professional Wire Calculation software

- ConductorCalc -
-
-
-
-

StorageManager

-

Solving your storage management issues

- StorageManager -
-
-
-
-

QR & Barcode Insight

-

QR Scanner that makes you feel safer when scanning QR codes

- QR & Barcode Insight -
-
-
-
-

MusicPlayer

-

Your one-stop solution for the music at your next party

- MusicPlayer -
-
-
- arrow_back - arrow_forward -
- - -
-

Projects

- -

Discover my software projects

- -
- -

Open Source Projects

-

Projects you can use for free, that have their source code publicly available and you can help develop

-

You may find all of them here

-
-
- -

libreevent

-

Tired of paying for event management software and want to gain control over your data? libreevent is - a powerful tool to sell tickets for your next event. Complete with mobile apps for entry control

- Details -
-
- -

MusicPlayer

-

A browser-based Music Player with remote playlist sharing and support for your local playlists, as - well as Apple Music

- Details -
-
-
-
- -

impress

-

A JavaScript library to create fancy browser-based presentations in 3D. Not my own project, but one I occasionally contribute to

- GitHub -
-
- -

Arch-Dev-VM

-

Looking for an easy to set up Arch Linux virtual machine for development? The scripts here allow you - to set up an Arch Linux Virtual Machine in under 1 hour, of which most time is waiting for downloads - to finish.

- GitHub -
-
-
-
- -

BiogasControllerApp

-

A small KivyMD-based application to control a small Biogas Plant in the subject ENATECH at - Kantonsschule Wohlen

- Details -
-
- -

Configurations, etc

-

Various configuration files I personally use are available on my personal Gitea instance

- Git -
-
- -
- -

iOS Apps

-

Apps designed for your phone and tablet

-
-
- -

StorageManager

-

Missing stock keeping in your home storage? Keep throwing food away because it went bad? - StorageManager aims to help you with this by providing easy to use tools to keep track of what you - have

- Details -
-
- -

QR & Barcode Insight

-

QR Codes have become a massive security risk. QR & Barcode Insight helps protect you by showing - you the unfiltered content of QR codes as well as the option to check the scanned links with - Google's Safe Search API

- Details -
-
- -
- -

Proprietary Software

-

Cross-Platform apps, available in browsers or even app stores!

-
-
- -

ConductorCalc

-

Your all-in-one solution for calculating parameters when designing high-voltage lines

- Details -
-
- -

Store

-

The way to buy my software and support the development of my open source software

- Store -
-
-
-
- -

Accounts

-

Tired of creating lots of accounts? All my services rely on a single account backend, not requiring - you to create a new account for each

- Account -
-
- -

Language School Hossegor Booking System

-

A fully featured booking system for a French language school, written from scratch specifically for - their purposes with a highly customizable booking process.

- Details -
-
-
- - - - - - - - - - - diff --git a/dist/projects/languageschoolhossegor-booking/index.html b/dist/projects/languageschoolhossegor-booking/index.html deleted file mode 100644 index d15e3b0..0000000 --- a/dist/projects/languageschoolhossegor-booking/index.html +++ /dev/null @@ -1,304 +0,0 @@ - - - - - - - - - - - Language School Hossegor Booking | janishutz.com - - - - - - - - - - -
- -

Language School Hossegor Booking

- - ← All projects -

A booking system to handle the complex demands of this French language school. It features an advanced admin - panel where the entire offering can be changed with incredible flexibility.

- - Check it out - -
- -

Features

-
-
-

User accounts

-

There are user accounts where users can retrieve their invoices and view the status of their orders -

-
-
-

Very flexible main page

-

The main page dynamically loads its configuration from the backend and can thus be updated even - during normal operation. Almost all fields displayed on the start page are dynamically rendered - based on the configuration

-
-
-
-
-

Extensive admin panel

-

The admin panel offers all kinds of settings, ranging from the courses offered (with the complex - handling of combinations of multiple courses all adjustable in a user interface) to accommodation - offered, transfer, privacy policy and terms of service. Even newsletters, invoices and general mail - can be sent using it, all using their branding

-
-
-

Multi-Language Support

-

The entire content is available in currently two languages, with instant switch in languages thanks - to clever design of the localization system and the use of a web-app instead of a traditional - webpage

-
-
- -
- -

A system like this could be possible for your own adventure.

- - Interested? -
- - - - - - - - - - diff --git a/dist/projects/libreevent/index.html b/dist/projects/libreevent/index.html deleted file mode 100644 index 9a3b73c..0000000 --- a/dist/projects/libreevent/index.html +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - - - - - libreevent - free and open source event management solution | janishutz.com - - - - - - - - - - - - - - - - - - - - -
-
- -
-
-

Create Events with Ease

-

Using libreǝvent's powerful admin panel

- Docs -
-
-
-
-

Create seat plans

-

libreǝvent's seat plan editor is designed to make this as easy as possible

- Docs -
-
-
-
-

Order Tickets

-

on this page and give users all important data

- Install today -
-
-
-
-

User Accounts

-

Your customers can do everything in self-service!

- Install today -
-
-
-
-

Open Source Project

-

Free Software, developed by Janis Hutz & the community

- GitHub -
-
-
- arrow_back - arrow_forward -
- - -
- -

libreǝvent

- - ← All projects -

Free & Open Source Event Management & Ticketing Solution

- -
-

Why use a commercial event management solution, if you can host a more flexible - one yourself?

-
-
- -
- -
-

Project Website

-

libreevent has its own project website, where you can learn more about the project, find documentation and a - guide on how to install it.

- Project Website -
- - - - - - - - - - - diff --git a/dist/projects/musicplayer/index.html b/dist/projects/musicplayer/index.html deleted file mode 100644 index 2d23ede..0000000 --- a/dist/projects/musicplayer/index.html +++ /dev/null @@ -1,371 +0,0 @@ - - - - - - - - - - - MusicPlayer - Fully browser based with built-in remote playlist display with animations | janishutz.com - - - - - - - - - - - - - - - - - - - -
-
-
-
-

Sources

-

Play your local music or use Apple Music (Apple Music Subscription required)

- Website -
-
-
-
-

Shared Playlists

-

Seamlessly sync and display what you are currently playing on other devices. Perfect for your - next party!

- Get it today -
-
-
-
-

Browser based

-

No need to install anything. Runs on any platform

- Get it today -
-
-
-
-

Hosted for you

-

Need the convenience of an already set up version?

- Website -
-
-
-
-

Open Source

-

Developed by Janis Hutz & the community

- GitHub -
-
-
-
-

Self-Hostable

-

Host it yourself. You need to be member of the Apple Developer Program for access to the Apple - Music API

- Docs -
-
-
- arrow_back - arrow_forward -
- -
- -

Music­Player

- - ← All projects -

Play music fully in the browser and remotely share what you are currently playing. Perfect for your next - party!

- Get it today - -
- -

Features

-
-
-

Remote Playback Status

-

Remotely display what is currently playing via a link you can share. There is an additional link that - can be used to display the same information, but with animations that sync to the music (Microphone - access required on the target device and animations will sync up to the sound audible on that - device)

-
-
-

Two Sources

-

You can choose between two sources for audio: Your local disk or Apple Music and you can mix the two - in a single playlist. Cover Art and song information is fetched from the Apple Music API - automatically if you are using the hosted version or have configured the Apple Music API - authentication tokens

-
-
-
-
-

Fully Featured Player

-

All the features you'd expect from a Music Player are present in MusicPlayer. Shuffle, Repeat, - Playlist support, adding more songs to queue, just to name a few, are all present.

-
-
-

Browser based

-

There is no need to install anything. MusicPlayer runs fully in your browser and is thus cross - platform. You could even run it off of your phone, if you wish!

-
-
- -
- - Get it today -
- - - - - - - - - - diff --git a/dist/projects/qrscanner/index.html b/dist/projects/qrscanner/index.html deleted file mode 100644 index 45f7ff1..0000000 --- a/dist/projects/qrscanner/index.html +++ /dev/null @@ -1,297 +0,0 @@ - - - - - - - - - - QR & Barcode Insight - Be safer when scanning QR codes | janishutz.com - - - - - - - - - - - - - - - - - - - -
- -

QR & Barcode Insight

- - ← All projects -

QR codes have become ever more present and they can pose significant risk. QR & Barcode Insight shows the - full, unfiltered link to you so you can better judge if the link you are trying to open is safe. And with - the Safe Scanning In-App-Purchase, you can be even safer, as your link is automatically looked up in - Google's Safe Search database.

- Get it today - -
- -

Features

-
-
-

Scan from your library

-

Ever had to scan a QR Code displayed on your phone screen? Annoying, right? Simply take a screenshot, open QR & Barcode Insight and select the screenshot from your library to scan it.

-
-
-

SafeScanning

-

For a small one-off fee of just CHF 1.00, you can purchase access to SafeScanning, providing you with added security - and you support the development of my software

-
-
-
-
-

Scan Barcodes

-

You can also scan barcodes, for the times, where typing them out is just too annoying.

-
-
-

Various code formats

-

QR & Barcode Insight supports various code formats, including QR, Mini-QR, EAN-8, EAN-13 and many more.

-
-
- -
- - Get it today -
- - - - - - diff --git a/dist/projects/storagemanager/index.html b/dist/projects/storagemanager/index.html deleted file mode 100644 index 8efaf9d..0000000 --- a/dist/projects/storagemanager/index.html +++ /dev/null @@ -1,353 +0,0 @@ - - - - - - - - - - - Storage Manager - get organized | janishutz.com - - - - - - - - - - - - - - - - - - - -
- -

Storage Manager

- -

Managing storage can be a challenging task, especially when the volume of items stored becomes large. If - products in that storage can go bad, you are very likely to produce quite a bit of waste. StorageManager is - an iOS app that can send you notifications such that you do not forget about products that are about to - expire.

- - Get it today - -
- -

Features

-
-
-

Notifications

-

StorageManager can send you notifications when a product is about to expire so you don't forget about - the product. Notifications time can be customised in settings.

-
-
-

Adding products

-

You can add products by simply scanning the product's barcode and adding some data on the product. - The app will remember the product such that the next time you scan it, it will autofill all relevant - data.

-
-
-
-
-

Editing products

-

Products can be edited straight from the products details page. You can edit every aspect of the - product data to the extent that you can make it an entirely different kind.

-
-
-

Removing products

-

You can remove products by simply swiping to delete. Alternatively you can delete products by hitting - the delete icon in the details page or even better, by scanning the product's barcode.

-
-
-
-
-

Organisation

-

StorageManager allows you to create product categories and one storage location. If you purchase the - full version, you can add an infinite amount of storage locations. The In-App-Purchase is sharable - with up to five people in your family.

-
-
-

Filtering & sorting

-

You can sort and filter all the data. Many different sorting options and filters are available, as - well as a powerful search function, that finds all your products within milliseconds.

-
-
-
-
-

iCloud-Sync

-

StorageManager has iCloud-Sync built in and enabled for ALL users. Simply allow iCloud access for - StorageManager and you are off to the races. Your storage data syncs magically between all your - Apple-Devices.

-
-
-

Free *

-

You can use StorageManager for free, with one small exception being adding an unlimited amount of - storage locations. For this you will need to make an In-App-Purchase. Please check the AppStore for - the exact pricing as this is dependent on your country.

-
-
-
-
-

Easy setup

-

StorageManager features an easy to use, guided setup such that you can be up and running within just - one or two minutes of downloading the app.

-
-
-

Display settings

-

Choose what is displayed on the main page of the app with simple toggles in the app's settings page. - This allows you to see everything you want at a glance or have more items on the screen at once.

-
-
- -
- - Get it today -
- - - - - - - - - - - diff --git a/dist/services/index.html b/dist/services/index.html deleted file mode 100644 index 2c5336f..0000000 --- a/dist/services/index.html +++ /dev/null @@ -1,260 +0,0 @@ - - - - - - - - - Services | janishutz.com - - - - - - - - - - - -
- build -

Services

- -

Discover Services

- -
- Software Store - Account - Custom Websites -
-
- - - diff --git a/dist/support/index.html b/dist/support/index.html deleted file mode 100644 index 8eaff2b..0000000 --- a/dist/support/index.html +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - Support | janishutz.com - - - - - - - - - - -
- support_agent -

Support

- -

Ran into issues with Software? Have suggestions for features?

- -
- Get support - Support Status - Feature request - Knowledgebase - Old websites -
-
- - - diff --git a/dist/support/old/index.html b/dist/support/old/index.html deleted file mode 100644 index 632ba09..0000000 --- a/dist/support/old/index.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - - - - - - - Old versions | janishutz.com - - - - - - - - - - - - - - -
- archive -

Old Websites

- -

View old versions of this website

- -
- Original Version - Version 1.0 - Version 2.0 -
-
- - - - diff --git a/dist/support/support-status/index.html b/dist/support/support-status/index.html deleted file mode 100644 index 9a8503e..0000000 --- a/dist/support/support-status/index.html +++ /dev/null @@ -1,400 +0,0 @@ - - - - - - - - - Support Status | janishutz.com - - - - - - - - - - - - - -
-

Support Status

- - ← Back to support - -

View the support status of all my projects, roadmaps and expected End Of Life dates

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SoftwareStatusExpected EOLRoadmap
ConductorCalcIn Development-Roadmap
Dotfiles, ConfigsSupported--
WebsiteSupported--
StoreSupported--
MusicPlayer V3Supported-Roadmap
Account Services (previously ID)Supported--
StorageManagerSupported 1--
QR & Barcode InsightSupported--
libreeventSupported-Roadmap
BiogasControllerAppSupported2026-07-012-
arch-dev-vmSupported--
ColorthiefSupported--
smuL (SimpleMediaUpscalerLite)Unsupported2025-06-16- (EOL)
MusicPlayer V1Unsupported2023-09-01- (EOL)
MusicPlayer V2Unsupported2024-07-01- (EOL)
-
- -

All pieces of software without an expected EOL date do not have one, because it simply hasn't been decided yet. There might be completely rewritten versions of them taking their place in the future or an EOL date may be added

-

Once a software has reached EOL, it doesn't mean it will stop working, but rather that it will not receive any more updates

-

1There are plans for a big update, coming likely by or in Q3 2026

-

2The stated EOL date is unlikely to be accurate, since the app has been completely rewritten in June 2025

- -

Looking for the support page?

- Support -
- - -