Backend Lead / dockless mobility platform
Rails, React Native, Heroku, AWS, Postgresql, Golang, Redis
As both a React Native expert and Rails veteran, I joined Spin as a consultant to help launch their dockless mobility service.
After their acquisition by Ford, I took on the of building a team to architect, stabilize and scale the Spin platform.
I now manage and guide the team of 12 on best practices, system design, while still working daily on feature spikes and improving code quality. We consistently hit quarterly goals.
"Joshua helped us with our pre-launch app development. He ironed out bugs, refactored the app based on best practices, and got us into shape for launch. We couldn't have done it without him!' - Zaizhuang Cheng, COO @ Spin
Developed an improved database architecture, led tech debt refactoring effort on the Rails backend. Brought mean web response time to < 100ms.
Built out a CI/CD pipeline and assisted with migration from Heroku to AWS EKS (Kubernetes).
Worked with Golang engineers to design a scalable message bus for communicating with vehicle. Without having to split the Rails backend into microservices.
Multiple roles / reproducible computation platform
Worked across the entire product towards the release of a reproducible computational research platform designed for the modern web.
Worked extensively with Docker, including its experimental process save/restore integration.
Setup and wrote modules for Guix to generate reproducible scientific software builds.
Built an autoscaling cluster on Google Cloud, with deployment tools in Bash and Elixir, for scheduling code execution jobs on a GPU-enabled CoreOS servers. Build orchestration and provisioning with the Hashicorp stack: Terraform, Consul, Nomad and Vault.
Supported customers through bug fixes in the backend and ClojureScript frontend.
Rails, React, Postgresql, Convox, AWS
Brought on to rewrite a dying Rails app and migrate it to a stable deployment platform.
Migrated from EC2 instances to Convox.
Rewrote using Rails best practices and implemented a GraphQL API to serve a React frontend. Helped hire a frontend team and guide its usage of GraphQL.
Integrated Ably as a performant replacement for ActionCable to provide realtime services to web and mobile clients.
FREELANCE: React Native
Kick-started cross-platform mobile development in preparation for the launch of the Prepd lunchbox.
Built the app from scratch based on design specs provided by the team at Hanno. Used MobX for state management and Contentful for editing and fetching recipe data. Setup CI for testing and automated beta deployment.
Taught the Hanno team React Native best practices and guided them into the first stage of launch.
Free online flamenco classes
Videos edited with Final Cut Pro. Site built with Ruby on Rails. Check out the source.
OSS community project / React Native, React, Rails
A now-defunct community tool for testing and sharing React Native code in the browser or on a device.
Objective-C, React Native
Dinner inspiration in a beautifully illustrated mobile app.
One of the first React Native apps in the app store. Illustrated and conceived in NYC by Michele Humes.
Co-founded consultancy: Rails, DevOps
Helped clients tune, debug or repair their Rails app deployments in critical situations.
Tracked troublesome PostgreSQL and MySQL queries, and tuned database configuration for optimal performance.
Built reports on best practices and practical paths towards faster application performance.
Online course content development
Produced content for a PluralSight video course on Chef, a server configuration management tool.
Worked as a senior devops engineer at Basecamp, the creators of Ruby on Rails, from 2008-2010. Dug deep in the guts of early Rails apps, and built some of the earliest Chef recipes published on Github.
Developed PHP and pre-Rails Ruby web applications for the Andalucian employment office.
Managed a team of ex-hacker security experts now known as IBM X-Force, to identify and report security vulnerabilities in commercial software.
Learned UNIX system administration on an SGI Indy workstation in NYC, circa 1996!