My public projects

I have a few public projects on my Github that I will list below. Some were made for school others just for fun.

Furred Vault

CSS
HTML
JavaScript
Rust
Svelte
TypeScript

This is a simple password manager written with Tauri. It uses AES 256 GCM to securely encrypt and decrypt the passwords in a binary file on your disk. The frontend of the desktop application is written with Svelte and uses Tailwind for the styling. I wrote this as a school project and intend to add more features over time to one day make it usable for myself. It already supports having multiple vaults where each vault has it's own master password and can store many different password entries. Each entry contains a username, a password and an identifier like a website or an app, optionally it can also have additional notes.

A pre-release preview of my password manager furred-vault

A pre-release preview of my password manager furred-vault

JSSH

JavaScript
Rust

JSSH exists because I got tired of using bash to write my shell scripts. It supports default javascript and all the commands that can be executed in a normal bash session. It's written in Rust and uses the V8 JS engine. However I won't be being worked on this anymore as Bun added $ Shell which can execute commands and Bun already has a really fast startup time which makes it good for shell scripting.

A small example of jssh

A small example of jssh

OMP theme

JSON

Oh My Posh is a command line prompt app that is highly customizeable and I've created my own very custom theme for it which works with almost all the possible programming languages that are supported by OMP.

On the first line it shows the shell of the current session and the current working directory. On the optional second line is the project version and name as well as all the used language managers like npm or cargo. The third line is also optional and includes the git branch and status. The fourth line shows the user and the host while the fifth line shows the icon of the os and it's also the end of the prompt meaning it's where you type.

My prompt in it's full glory

My prompt in it's full glory

My private projects

I have a a lot more private projects on my Github than public ones and some are listed below.

RoyalFoxy.xyz

JavaScript
TypeScript

I made this website using a custom build script, KitaJS html and Bun. The source code for this website is not public as I don't like having my code public unless I have to. I had a lot of fun writing this website and exploring the different possibilities and challenges I faced along the way and I'm glad I'm already at my fourth iteration of a personal website.

My homepage captured in Arc

My homepage captured in Arc

Bevy Pong

Rust

As I like to explore new ways of programming things I tried myself with Bevy which is a data-driven game engine written in rust. It's extremely fast and quickly growing with a vast feature set. I've decided to write a small pong game in bevy in under a week and I succeeded.

The pong game written with bevy as described above

The pong game written with bevy as described above

School Timesheeting cli

Rust

I'm an apprentice which means that I both work at a company and also go to school. As I work for an agency I have to enter all the hours I've worked into some tool to keep track but all the time I'm in school has to be also entered there which is annoying as all the timesheets are exactly the same. This made me create a small cli that can automatically create timesheets given a config to our time tracking server.

A small image showing the failed creation of timesheets as they already exist

A small image showing the failed creation of timesheets as they already exist

Japanese training cli

Rust

I'm currently in the progress of learning japanese and have started practicing hiragana. To improve the speed at which I can write and read hiragana I wrote a small cli that prompts me with either different hiragana and I have to write out the roman letters associated with them or it gives me roman letters and I have to write them out. It's a really useful tool already and I've improved in reading speed quite a lot already.

What did I do

JSON
TypeScript

This has a similiar origin to the School Timesheeting cli. Every apprentice in Switzerland, atleast in the IT sector, is obligated to write a journal of done work and what you learnt on each day.

As this is quite tedious and I constantly forget to actually write my stuff down I had the idea of using the data of an app called Timing that is installed on my Mac. It gathers data about what app I have focused and I can export this data with a duration, date and things like paths and titles if the app has those.

I ended up exporting around 21 MB of json data with which I can build a text of what I did on a certain day and then feed it to the OpenAI API and get a neat summarization in return. I simply put 5 of those summarization, for each workday, into a single file and then push that file to my journal DB.

The exported data looks something like the json below

[
  {
    "activityTitle" : "Some cool youtube video",
    "application" : "Arc",
    "day" : "2000-01-01",
    "duration" : "1:15:43",
    "path" : "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
  },
  {
    "application" : "Discord",
    "day" : "2000-01-01",
    "duration" : "2:09:57",
    "path" : "@SomeFriend"
  }
]