David A. Powers

David A. Powers: Full Stack Web Developer

Skills

  • Laravel: TALL, Inertia + Vue/React, Lumen, Filament
  • PHP: Composer, Symfony, Laravel, MVC, PHPUnit, Pest, Wordpress
  • JavaScript: Vue / Vuex, React, Typescript, NextJs, Jest, ES6+
  • Ruby: Ruby on Rails, Sinatra
  • Python: Django, Pygame, CLI Scripting
  • Agile: BDD/TDD, CI / CD, Git, Pair Programming, Code Reviews
  • AWS: Lambda, Elasticsearch, Redshift, CloudFront, S3, EC2
  • DB / NoSql: MySql, PostgreSql, Redis, MongoDb, GraphQL
  • Front End: HTML, CSS3, SASS, Tailwind, p5.js, GSAP
  • Apps: RESTful APIs, Healthcare, E-learning, CRM, CMS

Clients & Brands

  • Antietam
  • Blue Cross Blue Shield Assoc.
  • CPURX
  • Digital Bootcamp
  • Effen Vodka
  • First Nonprofit Insurance
  • Forum Coworking
  • Imagine Detroit
  • Jim Beam Global
  • Oi Furniture
  • Prima Dora
  • Sauza
  • Skinnygirl
  • Star Wars / Lego
  • The Oasis on Lake Travis

Expertise

I have over 10 years experience as a full-stack web developer and software engineer. I build robust, scalable, well-tested applications in JavaScript, Ruby, PHP, and Python and other open-source languages. My primary focus is has been on building custom content management systems. I have also worked on high-traffic e-commerce platforms, e-learning applications, push notification systems, ad platforms, payroll software, CRM software, custom API's, API integrations, and 2D computer games.

I'm an advocate for agile and XP based approaches to software development. I have a strong understanding of TDD, BDD, Continuous Integration, functional and OO design patterns (SOLID), and distributed system architecture.

Current & Recent Projects

Practice Pal: Practice Management App for Musicians

Practice CMS lets musicians schedule and track their practice sessions, with a focus on features that are useful to musicians. HyperSonata uses Vue 3, Laravel, Inertia, and PrimeVue, and is currently in Alpha stage.


HyperSonata: CMS + Project Management for Musicians

HyperSonata CMS combines website CMS and project management functionality, with a focus on features that are useful to musicians and promoters. HyperSonata runs on Vue 3 and a Laravel API, and is currently in Alpha stage.


Vue 3 Audio Player

I wanted to add an audio player to my website, so I decided it was a great opportunity to try out the latest version of Vue-CLI, and play with Vue 3. I'm hoping to make some improvements and experiment with the Vue 3 Component API soon. You can see the audio player running in the upper right corner of this website!

View the code on Github >>>


Invaders from Beyond

The Invaders from Beyond project started with some sketches of an algorithm for generating retro 8x8 pixel art aliens. Inspired by games like Space Invaders and Galaga, I wanted to make an old school arcade game with infinite level progression. I wanted a game my friends could play on the web, so I created a browser based HTML game using the Phaser 3 JavaScript game framework.

Play Invaders from Beyond >>>

Career Highlights

Belle

At Belle, I worked to convert a Laravel monolith into a well-tested and loosely-coupled app using a Domain-driven microservices approach. I worked on multiple domains for the Laravel back end API, and also developed a significant part of the Vue front end UI, which was used on mobile phones by Belle technicians, while providing service to customers.

Technologies: PHP, JavaScript, Laravel, Vue, PostgreSql, AWS Lambda, Docker, Jira, Github

PushMonetization.com

I was the sole developer for a Push Notification system that handled over 1,000,000 messages per day. The system included a dashboard built with Ruby on Rails, a message queue (RabbitMq), client side service workers, and serverless AWS Lambda instances.

Technologies: Go, Ruby on Rails, PostgreSql, Redis, JavaScript / ES6, NodeJs, AWS Redshift, AWS Lambda, AWS Cloudfront, AWS Kinesis Firehose

Shure

At Shure, I worked on two primary projects: (1) a Laravel based online product documentation website, and (2) an API-based front end JavaScript application which identified open frequency bands for Shure wireless product setup.

Technologies: PHP, JavaScript, Laravel, PostgreSql, Redis, Lumen, Digital Ocean

Liquid Thread

While freelancing at Liquid Thread, I worked as a full-stack developer on several major corporate websites, including Jim Beam Global, Sauza Tequila, Effen Vodka, and Skinnygirl. All these sites used a custom Ruby on Rails CMS along with front-end JavaScript libraries including Backbone, Handlebars, and CoffeeScript.

AskBlue Medicare / AskBlue Federal

I was the sole full-stack and interactive developer on the AskBlue projects while working with Sandstorm Design as both employee and contractor. I created an ActionScript 3 game engine with branching choose-your-own adventure logic (a directed acyclic graph) and synchronized audio and animation for the front-end. The client had requested that we run the app on Microsoft servers, so on the back end, I used PHP with the Kohana framework, and a Microsoft SQL database. I created a full back end reporting and analytics engine, and also ported parts of the game engine to PHP, which gave us the option of creating a version of the site that screen readers could access.

My Story

My involvement with programming started as a child. My dad loved computers and I followed in his footsteps. They used to publish magazines with programs written in BASIC that you could type in and run yourself, and it was here that I received my child hood education in programming. This led to my first technology triumph. In 1985, at the age of 10, I coded a primitive version of Space Invaders. It ran on the family Texas Instruments TI-994A, which was a glorified video game console that included a built in keyboard and the BASIC programming language.

As I grew up, I developed a passion for playing jazz and writing poetry. In the nineties, after studying Music Composition and English in college, I explored ways to combine art and technology. I coded Python scripts to algorithmically generate source material for my musical compositions. Other scripts from this time wrote weird surrealist poems.

Around 2000, I began working with web-based languages and technologies, such as HTML, JavaScript, PHP, and ActionScript Flash. I built music artist websites, MP3 players, and 2D Flash video games. I realized that if I continued to learn and grow, there were no limits to what I could code. As my skills developed, I took on freelance projects.

Finally, in 2007, I went looking for a job as a full time web developer. And thus it was that my career as a software developer began.