Hi, I'm Max!

I'm a web developer from Vienna, Austria. If you want to get in touch, the best way to reach me is via email at contact@slymax.com. You can also find me on GitHub, Twitter and Product Hunt.

Cryptorized

cryptorized

Cryptorized allows you to create and manage your own cryptocurrency index fund.

Built with Vue.js.

Octohunt

octohunt

Octohunt is a web application that can help you find developers on GitHub. It was featured on Product Hunt and Lifehacker.jp in 2016.

Built with jQuery and Firebase.

WebView

This is a template project for Android Studio that allows you to create an android webview application in minutes. You can use it to create a simple app for your website or as a starting point for your HTML5 based android app.

Getting started

Download or clone the repository and import it into Android Studio.

Using a remote source

If you want to create an app that displays the contents of a remote website

  1. uncomment lines 30 and 31 in MainActivity.java and replace http://example.com with your remote source

    mWebView.loadUrl("http://example.com");
    mWebView.setWebViewClient(new MyWebViewClient());
  2. open the MyWebViewClient.java file and replace example.com on line 12 with your custom hostname

    if (Uri.parse(url).getHost().endsWith("example.com")) {

Using a local source

If you want to create a local HTML5 android app

  1. uncomment line 34 in MainActivity.java

    mWebView.loadUrl("file:///android_asset/index.html");
  2. put all your files (including your index.html) in the assets directory

Jackbot

Jackbot is a multi-purpose Telegram bot. You can switch between different modes by sending the corresponding command.

In /convert mode, you can convert prices to work hours.

In /decide mode, you can send a list of options (separated by spaces or line breaks) to receive one random option as a response.

In /remind mode, you can create reminders. The date has to be surrounded by brackets and must follow the format defined in the configuration file. For recurring reminders, the date has to be in cron format.

Jackbot also provides an HTTP endpoint that can be used to forward requests to your Telegram account.

Getting started

  1. Download or clone the repository and run npm install to install dependencies.
  2. Configure Jackbot by editing the config.json file.
  3. Run node jackbot.js.

Configuration

key – your telegram api-key obtained from the botfather.

users – an array of user ids that is allowed to talk to your bot. If set to false or omitted, everyone can talk to your bot.

convert – your hourly income, your daily work hours and how many days you work per week and year.

store – the name of the storage file (this can usually be left unchanged).

remind – the date format used for creating reminders.

push – the chat id that will receive forwarded messages and the path and port, where Jackbot should listen for requests.

Jackbot requires Node.js 8 or higher. The source code is available on GitHub.

Tempalert

tempalert

Tempalert is a progressive web app that sends you a push notification when the outside temperature at your location rises above or drops below a certain value.

Built with Vue.js, Node.js, Express and Firebase.

Mealshakes

mealshakes

Mealshakes was a tool to compare prices of powered food products like Soylent and Joylent.

Built with Angular.js.

Year Progress

This is a simple Vue.js app, inspired by @year_progress, that shows the progress of the current year, month, week and day. The source code is available on GitHub.

Crypto Insights

insights

Crypto Insights is a tool to monitor relative changes in crypto prices and other market data on Bitfinex.

Built with Vue.js, Node.js, Express and Chartkick.

Standardize

Standardize converts Journey entries to Standard Notes entries.

  1. Download or clone the repository.
  2. Export your entries from Journey as ZIP and extract its contents.
  3. Run node standardize.js [path/to/your/extracted/folder].
  4. Import the generated notes.txt file into Standard Notes.

Since Journey doesn't support note titles and Standard Notes does, markdown headers # on the first line of an entry followed by a blank line will be set as the note's title and removed from the note.

Standardize requires Node.js 8 or higher and has no other dependencies. The source code is available on GitHub.

Metathek

metathek

Metathek was a browser for the video libraries of public television networks in the DACH region. It's based on MediathekDirekt by Markus Koschany.

Built with jQuery. The source code is available on GitHub.

Sass-Link

With sass-link you can use sass and scss alomst like regular css. It parses the <link> and <style> tags of your document, compiles them using sass.js and injects the compiled css back into the document.

You can add <link> tags that refer to .sass or .scss files:

<link rel="stylesheet" type="text/scss" href="main.scss">

You can also use sass and scss inside <style> tags:

<style type="text/scss">
  /* scss */
</style>

To get started, add sass.js and sass-link to your document:

<script src="https://cdn.jsdelivr.net/combine/npm/sass.js@0.10.10/dist/sass.sync.js,gh/slymax/sass-link@0.1.3/sass-link.js"></script>

Your styles will only be compiled if the type attribute is set to text/sass or text/scss.

To avoid seeing the unstyled document before your stylesheets have compiled, you can add the sass-cloak attribute to your <body> along with some css to hide it:

<style>
  [sass-cloak] {
    display: none;
  }
</style>
<body sass-cloak>
  ...
</body>

Only use sass-link for prototyping. It should not be used in production.

The source code is available on GitHub.

Tracking

tracking

Trello-style parcel tracking powered by 17track and Vue.js.

Panic

Panic is a script to panic sell cryptocurrencies.

  1. Download or clone the repository and run npm install to install dependencies.
  2. Open the config.json file and add the API keys for your exchanges.
  3. Run npm start to launch the script.

As long as the trade property in config.json is set to false, Panic will only show you what transactions would be executed without actually placing any orders. If you set it to true, orders will be executed without prompting for confirmation.

In config.json you can also specify your target currencies. The default setting is ["EUR", "USD", "USDT", "BTC"] which means that Panic will try to exchange each token for Euros first. If that pair is not available for trading on the exchange, it will try to exchange for USD, then for USDT, etc. I recommend leaving BTC as the final option so that if a token can't be directly exchanged for fiat, it will be exchanged for Bitcoin. You can then run the script again to exchange your remaining Bitcoins for fiat. You can also overwrite the global target setting for individual exchanges.

Panic is powered by CCXT and requires Node.js 8 or higher. The source code is available on GitHub.

Exodus Profile Manager

EPM allows you to use multiple Exodus wallets on the same computer.

Getting Started

run npm install -g @slymax/epm to install epm.

Commands

epm use [profile name] switches to a new or existing profile.

If you've been using Exodus without epm, your existing configuration will be moved to the backup profile when you're switching profiles for the first time.

epm list lists all available profiles.

epm delete [profile name] deletes a profile.

epm rename [old profile name] [new profile name] renames a profile.

EPM requires Node.js 8 or higher. The source code is available on GitHub.

Prices

prices

This is a simple tool to visualize the availability of real estate across price brackets in Austria.

Built with Vue.js, Node.js, Express and Chartkick.

Journal

journal

This is a fork of Standard Notes, optimized for journaling. It's essentially Standard Notes except that it

The source code is available on GitHub.

EasySign

EasySign is a tool that allows you to sign PDF documents using the Austrian Mobile Phone Signature. Simply drag a PDF file onto the area above to get started.

To use this service, you must have the Mobile Phone Signature enabled on your phone and you agree that the document you're signing is uploaded to Firebase and immediately deleted once the signing process is complete.

Built with jQuery and Firebase.

GitHub Stocktaker

stocktaker

Stocktaker can give you an overview of your GitHub account by showing all your repositories and branches in a tree-like structure. It also highlights private repositories and GitHub-Pages enabled branches.

Built with Vue.js. The source code is available on GitHub.

Console.js

Console.js is a JavaScript console for the browser that intercepts console messages and collects errors. This can be useful in environments where no browser console is available.

Console.js can be enabled by adding a script tag to your HTML, preferably at the beginning of the <body> tag:

<script src="https://cdn.jsdelivr.net/combine/npm/vue@2/dist/vue.min.js,gh/slymax/console@0.1.1/console.min.js"></script>

You can also inject Console.js into an existing website by executing the following in your browser console:

(function(){s=document.createElement("script");s.src="https://cdn.jsdelivr.net/combine/npm/vue@2/dist/vue.min.js,gh/slymax/console@0.1.1/console.min.js";document.head.appendChild(s);}());

Built with Vue.js. The source code is available on GitHub.

Packages

packages

This is a simple package browser for apps with an extension system running on top of npm. It currently allows you to search for Hyper and Gulp plugins.

Built with Vue.js. The source code is available on GitHub.

Codebase

codebase

Codebase is a quick code reference for web developers that allows users to search within multiple documentations at once.

Built with jQuery. The source code is available on GitHub.

QR Generator

generator

This is a simple reactive QR generator built with Vue.js and QRCode.js.

Taskpaper Go

taskpaper

Taskpaper Go was a responsive web app to view Taskpaper files stored on Dropbox.

Built with jQuery. The source code is available on GitHub.

Signup

Signup is a simple express app to collect and validate email addresses.

To get started, download or clone the repository and run npm install to install dependencies.

Signup requires Node.js 8 or higher. The source code is available on GitHub.