:::       ::: :::::::::: :::        ::::::::   ::::::::  ::::    ::::  :::::::::: 
:+:       :+: :+:        :+:       :+:    :+: :+:    :+: +:+:+: :+:+:+ :+:        
+:+       +:+ +:+        +:+       +:+        +:+    +:+ +:+ +:+:+ +:+ +:+        
+#+  +:+  +#+ +#++:++#   +#+       +#+        +#+    +:+ +#+  +:+  +#+ +#++:++#   
+#+ +#+#+ +#+ +#+        +#+       +#+        +#+    +#+ +#+       +#+ +#+        
 #+#+# #+#+#  #+#        #+#       #+#    #+# #+#    #+# #+#       #+# #+#        
  ###   ###   ########## ########## ########   ########  ###       ### ########## 
    

Hi, I'm William, a full-stack developer based in Austin.

I build dynamic user interfaces, robust backend systems, and efficient databases. I strive to create applications that are as intuitive for the user as they are technically sound under the hood. You can find a selection of some of my recent projects below.

Here's a link to my  < Github>

HTML

CSS

JavaScript

Python

Svelte

Vue.js

Node.js

Bash

Postgres

Docker

Linux

Git

# # # # # # # # # # # # # # # # # # # # # # # # # # # # 
 # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # 
    
 
:::::::::  :::::::::   ::::::::  ::::::::::: :::::::::: :::::::: ::::::::::: ::::::::  
:+:    :+: :+:    :+: :+:    :+:     :+:     :+:       :+:    :+:    :+:    :+:    :+: 
+:+    +:+ +:+    +:+ +:+    +:+     +:+     +:+       +:+           +:+    +:+        
+#++:++#+  +#++:++#:  +#+    +:+     +#+     +#++:++#  +#+           +#+    +#++:++#++ 
+#+        +#+    +#+ +#+    +#+     +#+     +#+       +#+           +#+           +#+ 
#+#        #+#    #+# #+#    #+# #+# #+#     #+#       #+#    #+#    #+#    #+#    #+# 
###        ###    ###  ########   #####      ########## ########     ###     ########  
    
Portable Site Template

Template for quickly getting started with a simple SPA site. Dockerized with a Svelte frontend, Node.js API server, Postgres database, and Nginx reverse proxy. Includes a basic To-Do app as an example but intended to be used as a jumping off point.

Pingboard

Monitors performance of api endpoints by running scheduled requests and storing the results using Svelte 5, Node.js, and Postgres

ShortCut

Creates shortened, usable redirect links to long URLs using Svelte 5, Node.js, and Postgres

Conway's Game of Life

An implentation of Conway's Game of Life cellular automata simulation using Svelte 5

# # # # # # # # # # # # # # # # # # # # # # # # # # # # 
 # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # 
    
 
 :::::::: ::::::::::: ::::::::::: ::::::::::      ::::::::::: ::::    ::: :::::::::: ::::::::  
:+:    :+:    :+:         :+:     :+:                 :+:     :+:+:   :+: :+:       :+:    :+: 
+:+           +:+         +:+     +:+                 +:+     :+:+:+  +:+ +:+       +:+    +:+ 
+#++:++#++    +#+         +#+     +#++:++#            +#+     +#+ +:+ +#+ :#::+::#  +#+    +:+ 
       +#+    +#+         +#+     +#+                 +#+     +#+  +#+#+# +#+       +#+    +#+ 
#+#    #+#    #+#         #+#     #+#                 #+#     #+#   #+#+# #+#       #+#    #+# 
 ######## ###########     ###     ##########      ########### ###    #### ###        ########  
    

This site uses the Portable Site project as a template, with a Svelte frontend, Node.js api server, Postgres database, Nginx reverse-proxy, and deployed in a Docker container. Sveltekit was used for allowing multiple pages unlike the SPA setup in the Portable Template

A lot of what was used here is probably overkill for a simple site like this, it's mostly an excuse to play with these different technologies.

HTTPS is set up for this site using <Certbot>, huge thanks to <EFF> for maintaining the utility and <Let's Encrypt> for providing the certificates.

You can find the code for this site <here>

# # # # # # # # # # # # # # # # # # # # # # # # # # # # 
 # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # 
    
 
 ::::::::   ::::::::  ::::    ::: ::::::::::: :::      :::::::: ::::::::::: 
:+:    :+: :+:    :+: :+:+:   :+:     :+:   :+: :+:   :+:    :+:    :+:     
+:+        +:+    +:+ :+:+:+  +:+     +:+  +:+   +:+  +:+           +:+     
+#+        +#+    +:+ +#+ +:+ +#+     +#+ +#++:++#++: +#+           +#+     
+#+        +#+    +#+ +#+  +#+#+#     +#+ +#+     +#+ +#+           +#+     
#+#    #+# #+#    #+# #+#   #+#+#     #+# #+#     #+# #+#    #+#    #+#     
 ########   ########  ###    ####     ### ###     ###  ########     ###     
    

If you'd like to get in touch or want to recieve a resume, you can email me at <william@wtaylor.xyz>