What I've been working on

Hello again. It's been a while, hasn't it.

My blog has been inactive for the past 4 months because I've been working on quite a few personal projects and hobbies.

This post is a list of things I worked on in chronological order.

Astral-CLI – April 2nd

Astral-CLI is a command-line client for the now shutdown invite-only image host, Astral.

Astral was a private invite-only image host that had many unique features at the time, as it was one of the first image hosts to ever gain traction. They had shutdown earlier in January, but announced in May that they would re-release.

I was fortunate enough to be recognized by the founder of Astral and was given beta access to report bugs in the service. At the time, Astral did not have a frontend; only an API. They only had support for ShareX, a Windows exclusive screenshot tool.

As a Linux user, I had no option but to use an overly-complicated HTTP request tool. Therefore, I set out to create an easy-to-use command-line client to interact with Astral's API.

This CLI was used by many other fellow Linux users in Astral's beta program, and was officially recognized by the founder.

Astral shutdown again in June.

Github

CryptoChat 1 – April 7th

CryptoChat 1 was my first project that involved end-to-end encryption and instant messaging. This was a project I started as a way to familiarize myself with cryptography fundamentals and implementations.

At the time, I didn't know any Javascript frameworks, so I wrote it in pure HTML, CSS and Javascript. Along with some friends, we released the first official version of the web app a few days after I started coding.

On release, it was a pretty basic app. You could join end-to-end encrypted rooms and chat with others in them, and that was it.

The First CryptoChat Demo

Project Page Github

Journl – May 1st

Journl is an end-to-end encrypted privacy-centered journaling web app. Its focus is to give users a truly private space to write about their thoughts, frustrations and anything that's on their mind.

Inspiration for this project revolved around the lack of privacy-focused journaling-specific apps. There were programs, like Joplin and Standard Notes, however they weren't meant for journaling. They were designed for a very broad task: note-taking. Due to this, they had a lot of features and distractions.

Journl is supposed to be a web app with a minimal editor and calming easy-to-use interfaces.

This was also written in pure HTML, CSS and Javascript.

Journl's Homepage

Project Page

Hushbin – May 22nd

Hushbin was an idea started by a friend and I. We wanted to create a secure and privacy-focused end-to-end encrypted pastebin web app that had a stunning UI and amazing features and was not written in PHP.

Privatebin was at the time, and still is, the most well-known secure pastebin tool out there, however it was written in PHP, a language that isn't fast.

We wanted to create a pastebin app, like Privatebin, but in NodeJS.

This project was never finished.

CryptoChat 2 – June 8th

CryptoChat 1 was good, but it lacked many features and it was not written in any framework, leading to inefficiency and messy code.

Around this time, I began learning ReactJS, a frontend Javascript framework. Today, React is one of the most used and loved frameworks in the world.

I rewrote CryptoChat from the ground up in ReactJS. Thanks to this rewrite, I was able to add many new features, such as end-to-end encrypted file sharing, SocketIO room support, an emoji picker, encryption verification, and much more.

Unlike the first version, this rewrite was solely developed by me. My friends were not interested in developing this project anymore.

The New CryptoChat

Project Page Github

Horizon – June 10th

Horizon is my main ongoing project currently. It is a group of Internet services with privacy and functionality in mind, consisting of an image host, email service and digital portfolio platform.

Initially, this project was supposed to be an open-source image host that anybody could self-host, however it quickly gained hype and I decided to keep it closed-source.

A focus of this project is user-privacy, transparency and beautiful UI design. I believe that it has accomplished all three across its services.

We care for user-privacy by: – Promoting Matrix, a decentralized, open-source and federated chat protocol; – Keeping minimal user data; – Being extremely transparent and thorough in our privacy policies; – Not using a middleman, such as Cloudflare, that can intercept SSL requests; – Providing the option to end-to-end encrypt some content on our platforms.

This project, by far, has been my most expensive one. I have to pay for dedicated server hosting for example, which can cost a lot monthly. Luckily, the project is loved by many of our users, some of which decided to donate to us monthly via our Patreon.

Horizon's Landing Page

Fun Fact: All images in this article are hosted on Horizon!

Project Page Github

Lightspeed – June 28th

Lightspeed is an end-to-end encrypted file transfer app, sort of like WeTransfer, but with zero-knowledge encryption. Unlike most of my encryption projects, I used XChaCha20 in Lightspeed instead of my normal CryptoJS AES. Why? I just wanted to experiment with new encryption algorithms.

The motivation of this project came from Up1, a discontinued end-to-end encrypted file transfer app. Up1 works well, however it lacks features and the user-interface can be improved. I created Lightspeed to be both extremely secure, but beautiful at the same time. It features a minimalist user-interface with user-friendly design language.

Project Page Github

Anyways, that's it for now. I hope to see you again soon :)