paul's portfolio

sections

#bio
#portfolio
#projects
#tools
#contact

links

cgit (my git repos)

bio (about myself)

jinx

Hi! I'm Paul, a DevOps Engineer with full-stack development experience. I specialize in building and managing scalable, resilient cloud infrastructure on AWS, using Terraform to enforce Infrastructure as Code principles for rapid, reliable deployments. My expertise spans the entire AWS bundle - from compute (EC2, ECS, Lambda, Fargate) and networking (ELB, API Gateway) to monitoring (CloudWatch) and security (IAM). I have extensive experience configuring CI/CD pipelines using Jenkins, orchestrating hybrid (in-house plus remote) agent environments.

I am proficient across the stack, utilizing Python (Django, Flask, Twisted) and JavaScript (React, Vue) for web applications. For performance-critical systems, I develop in C, C++, and Haskell, and have experience with Linux kernel modifications and Debian package management from my work in robotics.

I am intellectually driven by Artificial Intelligence, Neuroevolution, and Reinforcement Learning, which I explore through personal projects. I am also recently expanding my skills into embedded systems and electronics.

portfolio (who I've worked with)

ADVANCED FARM TECHNOLOGIES, INC.
DevOps Engineer
Location: Davis, CA (remote)
From-to: Sep18 - Apr19 | Feb21 - Feb25
Languages: C, C++, Python, JavaScript, Bash, Jenkins Pipelines (Groovy), HCL (Terraform)
Frameworks: Twisted, ZMQ, Jenkins, AWS (Lambda, ECS, EC2, CloudWatch, Gateway API, IoT), Qemu, Dpkg, PIP

aft1 aft2 aft3

Working at a robotics startup in Davis, CA, stands as my most impactful professional experience so far. Our mission was to build the world's first economically viable, fully automated apple harvester. This required solving complex, interdisciplinary challenges in robotics, mechatronics, and scalable infrastructure.

MICROLANCER
Front-end Developer
Location: San Diego, CA (remote)
From-to: Aug19 - Jan20
Languages: JavaScript, PHP
Frameworks: Preact, Unistore, Selenium, Chromedriver, Mocha, Chai

microlancer1 microlancer2

At Microlancer I engineered robust, component-based forms using Preact (a lightweight React alternative) and managed application state with Unistore. I ensured quality through comprehensive, end-to-end unit testing across major browsers and contributed to the back-end API on a standard LAMP stack.

(pet) projects

guppies (formerly, goopies)

A C++ experiment simulating natural selection in a 2D world. Digital agents, equipped with evolving neural networks, inhabit 'the Tank', where they must learn to survive by navigating, feeding, and avoiding dangers across generations. The simulation is a testbed for comparing how different neural network architectures adapt to these evolutionary pressures.

guppies1 guppies2 guppies3

This project was my gateway into programming. I built the core neuro-evolution library from scratch in C++, implementing various genetic operators to evolve different types of neural network topologies (feed-forward, Elmann, fully recurrent, LSTM). For the simulation environment, I integrated the Box2D physics engine and used SFML for visualization. While the source code is now a legacy project, it remains a foundational piece of my development journey, and I often consider working on a modern reimplementation.

salis: simple a-life simulator

Salis is an artificial life simulator inspired by Tom Ray's Tierra. It creates an environment where self-replicating digital organisms (programs) compete for memory space and CPU time, driving their evolution. The simulator is designed as a flexible testbed, allowing different virtual machine architectures and instruction sets to be implemented, enabling the study of emergent phenomena under varying computational constraints.

salis1 salis2

My fascination with emergent computation - or as Dave Ackley puts it, getting computers to 'do stuff by themselves' - is what sparked this project. Although its core is several years old, I've maintained and extended it as a continuous learning tool. A recent major addition is the ability to aggregate simulation metrics. This allows for rich visualization and analysis through tools like Grafana, turning the running simulation into a data-rich laboratory for observing evolutionary dynamics.

neural racers

This simulator serves as a dedicated testbed for my custom rtES-HyperNEAT implementation. It generates populations of autonomous 'racer' agents that must evolve the ability to 'race' around a track. To evaluate the algorithm's robustness and adaptability, I designed a suite of tracks, each presenting a unique set of navigational challenges.

neural-racers1 neural-racers2

This project is an outcome of my admiration for Kenneth Stanley's pioneering work in neuro-evolution, particularly the NEAT family of algorithms. I wanted to explore the real-time potential of ES-HyperNEAT, which led me to develop a custom implementation and, consequently, this racing simulator as its proving ground.

hsMouse (Jerry the robot)

Jerry is my first electronics/PCB project: a Raspberry Pi 5-powered robot car. I designed a custom 'HAT' to control its four stepper motors, and wrote the control logic in Haskell. It currently roams freely around my living room.

hsmouse1 hsmouse3 hsmouse2

This project was my chosen vehicle (wink) for diving into embedded systems and PCB design. Haskell's high-level abstractions proved exceptionally effective when interfacing directly with hardware via GPIO ('libgpiod'), PWM ('sysfs'), camera ('libcamera'), and I2C. Using libraries like 'effectful' allowed me to model the robot's control logic as discrete, effect-safe units, ensuring modularity and reliability in a real-time environment.

tools

languages

frameworks

contact

Want to hire me for your next project? E-mail me at:
contact@pauloliver.dev