About Sean Reed

Sean Reed is a full stack developer with 4 years of experience building web apps and hybrid desktop apps using PHP and Laravel, AngularJS and Angular, MySQL and Apache on Linux, and Electron. Sean also has recent experience in Java development for desktop and web apps.

Sean has acquired his skills on the job as the sole or primary programmer for numerous projects, as both an employee and an independent contractor for a local software company. He has worked as a fully independent freelancer since the autumn of 2018.

Sean crossed over to software development from the field of music composition, where he used his own Lisp routines in the creation of instrumental and electroacoustic works.

Expertise

PHP / Laravel

Development of web apps with PHP backends, both freestyle and using Laravel. Use of Laravel Passport for API authentication (OAuth2).

Angular / AngularJS

Development of web apps using AngularJS and Angular 2-7 for the frontend. Use of gulp-typescript and ng-cli for transpiling and building.

SQL

Extensive use of MySQL. CLI interaction with mysql via bash on Linux. Installation and use of phpMyAdmin and adminer. Some SQLite.

Electron

Embedding AngularJS and Foundation in Electron for cross-platform hybrid apps that communicate with self-developed remote APIs.

Node

Custom node processes as APIs. Use of npm package manager. Configuring IP tables and systemd for access and restarts on Linux.

Java

Oracle and OpenJDK 8 – 11. Spring and Spring Boot for web apps. Hibernate for persistence, Maven for package management, and Thymeleaf for templating.

WordPress Plugins

Creation of WP plugins for self-developed web apps. Remote WP management, sending data to and from WP sites, WP editor enhancement.

Facebook APIs

Experience with the Facebook Graph and Marketing APIs. Use of the FB PHP and JS SDKs for remote posting and analysis of ad statistics.

Google Maps

Integration of static and interactive street maps into web app frontends using the Google Maps JavaScript API.

JavaScript / jQuery

Vanilla JavaScript, jQuery, and TypeScript for web app frontends. Ajax and JSON for communication with remote APIs.

HTML/CSS

Bootstrap, Foundation, and UIkit for responsive frontend design. Angular Material and PrimeNG for Angular/AngularJS UIs.

System Admin

Basic bash shell admin on Linux. AMP installation and config. User management. Configuration of ssh access. Basic Amazon AWS skills.

Testing

PHPUnit and Dusk for Laravel testing. Karma and Jasmine for testing Angular (2-7). JUnit for Java. Some Selenium (Java).

VM and Docker

Use of Docker for Mac for local development. Use of VirtualBox for full scale OS virtualization.

Editing and Tools

Emacs for text and IntelliJ IDEA as primary IDE. Some Eclipse for Java. Git and Bitbucket for version control. Slack for team comms.

Work Experience

Independent Contractor

Sep 2016 – present, Camden, Maine

Development of web and hybrid apps both as a fully independent freelancer and as a subcontractor for Oystra, Inc. of Rockland, ME.

Tourmaline, Inc

Mar 2015 – Sep 2016, Rockland, Maine

Development of web and hybrid apps for private and local clients.

Projects

Serenade Timetracker

(2019-)

Web app for project planning and time tracking. Users can keep track of clients and plan projects with milestones, tasks, and timed work sessions. Scalable reports can be viewed for custom time ranges. Currently in progress.

Technologies used: Java 11, Spring and Spring Boot, Maven, Hibernate, MySQL, Thymeleaf, jQuery, UIkit

<Online Jobs App>

(2018-2019)

Closed-access demo version of a job search and posting site for a niche audience. Users can post and search for jobs using job category tags and Google Maps markers. Next phase of development currently in planning.

Technologies used: Laravel 5.7, Passport, MySQL, Angular 7, Angular Material 7, Google Maps JavaScript API

Serenade Flexischeduler

(2018)

Simple day planner influenced Gantt charts. Changing the end time of an activity shifts all subsequent activities while maintaining their durations. New activities can only be inserted before or after a selected activity. Day plans can be saved as templates for later use.

Technologies used: Java 10, SQLite, JavaFX and jFoenix, Gluon SceneBuilder

WindowDressers

(2016-2018)

Web app with companion desktop app (Mac and Windows) for an organization that builds window inserts. The desktop app calculates the dimensions and prices of inserts from window measurements. Data can be stored offline until a connection to the server is available. The web app enables inquiry, payment, and customer management, invoice generation, and the generation of build files.

Technologies used: Laravel, MySQL, Node, WebSockets, AngularJS, Electron, Foundation, WordPress plugin development

Automated Ads

(2017)

Web app that enables automated budgeting for users’ Facebook marketing objects. The app can also create easy split tests for ads, with automatic recommendations for which ads to keep. Ad performance is displayed in charts and reports to help make decisions that improve reach.

Technologies used: Laravel, Facebook Graph and Marketing APIs, MySQL, Angular 4/5, PrimeNG, Angular Material

Social Poster

(2015)

Web app that allows advertisers to post single messages to multiple Facebook, Twitter, and Pinterest accounts simultaneously. Posts can be sent immediately or at scheduled times. A companion WordPress plugin allows users to automatically publish blog posts on selected social media accounts.

Technologies used: PHP, MySQL, JavaScript, jQuery, WordPress plugin development, Facebook Graph API, Twitter API, Pinterest API, Foundation

WordPress Manager

(2015)

Web app for managing multiple WordPress sites from one page. Users can install, delete, and update plugins and themes as well as the WordPress core from a central app. Backup and restore functions are available to undo changes.

Technologies used: PHP, MySQL, WordPress plugin development, JavaScript, Bootstrap

ActivityLocator

(2016)

Core demo version for a potential social media app where users can connect with people in their area who are interested in the same activities. Users can either post an activity, looking for people to join them, or find activities posted by others that match their interests.

Technologies used: Node, MySQL, Angular 2, Google Maps API

Invoice system

(2015)

Simple invoicing app for Oystra, Inc. Allows users to add clients and projects and create invoices, mark them as outstanding or paid, and generate both HTML and PDF versions. Automatic generation of totals for invoices with multiple itemized services. Use of markdown available for the notes portion of the invoice.

Technologies used: PHP, MySQL, JavaScript, Foundation, Markdown