I'm Mat. I'm a web developer, UI/UX designer and also a computer graphics enthusiast. I have over 7 years of commercial experience in web development.
I started programming when I was 9 years old. Technology has always been fascinating to me and it was cool to see the ways in which I could mold the technology to my liking.
I got my first freelance job at just the age of 15 and since I turned 19, I've been working a full-time job as a web developer.
๐ Web applications
- Instaglitch - Online image effects editor, based on WebGL.
- Instaglitch Studio - Online WebGL shader editor, optimized for image processing/effects.
- filedrop (frontend, backend) - User-friendly WebRTC file transfer.
- catchmail (frontend, backend) - Self-hosted e-mail debugging tool.
โ๏ธ TypeScript e-mail ecosystem
- letterparser - RFC 5322 compliant e-mail parser.
- letterbuilder - RFC 5322 compliant e-mail builder.
- lettercoder - quoted-printable and MIME word decoder.
- react-letter - React e-mail presentation component (with an allowlist for tags, attributes and CSS properties supported by Gmail).
- vue-letter - Vue e-mail presentation component (based on react-letter)
- @typemail/smtp - SMTP client/server library.
๐ TypeScript libraries
- fxGlue - Originally developed for Instaglitch, a WebGL library for development of image processing applications, provides a few common functions for shaders.
- react-var-ui - Originally developed for Instaglitch, a simple React UI library, similar to dat.gui but with more functionailty.
- react-use-pointer-drag - Originally developed for react-var-ui, a simple React hook for dragging elements around.
- tabcast - A simple library to send messages between tabs using storage events.
- upload - Minimalist TypeScript library for file uploads with progress events.
- imtool - Compact canvas-based library for image processing.
- fitool - TypeScript library for common file operations - downloads, conversions from/to ArrayBuffers, strings and data URLs.
- typesocket - Simple TypeScript library for WebSockets. Handles reconnections and provides a type interface (no type checking though).
- media-api - Experimental library for accessing YouTube and SoundCloud data.
๐น๏ธ Games
๐ Experiments
- pongloader - Pong clone in less than 512 bytes (fits in a boot sector; x86 Assembly).
- bfloader - Brainfuck IDE/interpreter in less than 512 bytes (fits in a boot sector; x86 Assembly).
- apple2
- 6502
- infiniplayer
- faces-in-randomness