Skip to main content

Technical Experience

I have many years of experience writing full-stack industrial applications. Below are the technologies and specifications I've worked with throughout a typical day.

Languages

TypeScript

A strongly and statically typed feature-rich language that compiles to JavaScript

Rust

A statically typed, low-level, memory-safe language

Elm

Elm is a simple and fast functional frontend language based on the Hendley-Milner type system that compiles to JavaScript.

Haskell

The first mainstream feature-packed purely functional programming language that's still kicking.

PureScript

A dialect of Haskell that compiles to JavaScript and has a vibrant ecosystem and community.

Ruby

A dynamic, feature-rich language

Package Managers

NPM

The original Node Pacakge Manager

Yarn

Another node-package-manager but with extra determinism

pnpm

A popular node-package-manager

Libraries And Frameworks

React

A frontend framework

NextJS

The server-side rendering framework that powers most of the modern web

Redux

Redux is a composable and efficient state management library with explicit event-based behavior and a rich ecosystem.

GraphQL

A graph-based alternative to REST for resource retrieval and schemasLibraries And Frameworks.

Preact

An alternative render engine for React apps

React Query

A query and mutation engine for React with smart caching and suspense support

fp-ts

A functional programming library for TypeScript inspired by Haskell and PureScript

Open Source

schemata-ts

Schemata-ts is a schema engine featuring validation, async validation, fast-check arbitraries, JSON schema, and merge-wise semigroups.

bifold-traverse

A library for fp-ts providing the bifoldable and bitraversable type classes, and additional utilities.

chain-rec

Chain-rec is a library for fp-ts providing additional instances and utilities for the ChainRec type class.

matrix-ts

A matrix and vector library for the fp-ts ecosystem with a rich standard library

Build Tools

Webpack

The classic web bundler and plugin ecosystem.

Rollup

An alternative bundler with an intuitive API

Vite

An elegant tool for bundling single-page TypeScript and react apps

Docusaurus

This site was made with Docusaurus, though highly customized to interoperate with Chakra-ui. I was surprised by how easy it was and how well it worked.s

fp-tx/build-tools

A Node package bundler built for flawless client integration. A thin layer built on Tsup and rollup

Information Technology

DNS

Domain name service – it's the issue most of the time.

Desktop PCs

I've built many different PCs over the years and have experience tweaking BIOS settings, establishing boot media, and diagnosing hardware issues.

Unifi

A comprehensive IT solution with networking, surveillance, and more.

Cloud Engineering and DevOps

Docker

A reproducible and declarative build language for orchestrating apps and projects

GitHub Actions

GitHub's automation runner for CICD

Terraform

Infrastructure declared as code

Specifications

JSON Schema

A widely used standard for data structure definition

Rest API

A standardized definition of resource management

Operating Systems

macOS

MacOS is Apple's desktop and laptop operating system. You probably haven't heard of it.

Linux

An open-source alternative to macOS or Windows with a gigantic community

NixOS

A deterministic configuration based OS

Windows

Microsoft's operating system. It's not my choice for development or productivity, but it's great for gaming.

Principles and Architecture

SOLID Principles

A collection of principles for designing reusable code

Domain Driven Design

SOLID principles applied to event-driven systems and domain modeling