Alex Arthur

Software Developer

profile image

Hi, my name is Alex. I'm a software developer living in Portland, Oregon. My passion is creating things, especially software. I love building something that makes someone's life easier or brings them joy.

Have an idea, problem, or project you want to discuss? Send me a message!

profile image
SWRM logo
SWRM on laptop SWRM on phone
React Logo
Shopify Logo
Bootstrap Logo
Node.js Logo
MySQL Logo
AWS Logo

SWRM is a fan-first print-on-demand marketplace website, providing fans with licensed artwork to redesign, repurpose and recreate on behalf of their favorite artists. For every item of fan art sold, both fan and artist are paid.

My Role

I developed the chief part of the initial version, including the shirt editor, upload workflow, database schema, app server, user authentication, and the layouts of most of the screens. Users can sign up with email/password or through a social login such as Twitter or Facebook, via OAuth. The ecommerce platform is built on Shopify. The shirt editor is hosted on a separate server. It is built with React and uses Bootstrap for layout. The API is a Node.js app running on Heroku. User-generated image files are stored on AWS S3. Relational data is stored in MySQL on AWS RDS.

React Logo
Shopify Logo
Bootstrap Logo
Node.js Logo
MySQL Logo
AWS Logo
SCS logo

Safety Compliance & Solutions

SCS on laptop SCS on phone
Apple Logo
Android Logo
Angular Logo
Node.js Logo
MySQL Logo
AWS Logo

Safety Compliance & Solutions provides business critical tools and resources to companies in the transportation industry to keep their fleets safe, compliant, and ready on the road.

My Role

My primary responsibilities were the website, app server, and database. In addition, I supported the native app implementations with various bug fixes. The front-end of the site is built on Angular and uses Bootstrap for responsive layout. The server, which is built in Node.js running on Heroku, reads and writes data to MySQL running on AWS RDS. The server sends push notifications to the iOS and Android clients. I implemented a reporting system which generates custom PDF reports for accidents, training sessions, vehicle maintenance, etc. The mobile clients are native apps for iOS and Android, built in Swift and Java, respectively.

Apple Logo
Android Logo
Angular Logo
Node.js Logo
MySQL Logo
AWS Logo
aop logo

Pacific Visions EcoAlliance

AOP profile AOP vision AOP challenges
Swift Logo
Kotlin Logo
Node.js Logo
Heroku Logo
MySQL Logo
AWS Logo

The Pacific Visions EcoAlliance app is inspired by the experiences and exhibits of the Aquarium of the Pacific in Long Beach, California. Players can use the app to become part of a community dedicated to learning more about conserving resources and making daily sustainable decisions. Users will also be able to participate in a series of interactive challenges, share photos, and collaborate on virtual projects to help visualize a sustainable future.

My Role

I implemented the Node.js server and the MySQL database. I set up the schema and API endpoints for challenges and visions so that we could support multiple challenge types (multiple choice, commitment, image order, etc.) and so that it was extensible so that we could add new challenge types later. It also keeps track of everyone who has contributed to a vision and how much they contributed, so when it's completed it sends push notifications to everyone involved with a reward based on their relative contribution.

I also helped to implement various screens on the iOS and Android apps, such as the challenge screens and the login workflows. The implementation for iOS was built with Swift, and Android was built with Kotlin. The API is implemented in Node.js using Express, and is hosted on Heroku. Data is stored in MySQL running on AWS RDS. Google Sign In and email/password verification is handled by Firebase.

Swift Logo
Kotlin Logo
Node.js Logo
Heroku Logo
MySQL Logo
AWS Logo
CityPulse logo
CityPulse explore CityPulse map
C Logo
OpenWRT Logo
WireShark Logo

CityPulse provides real-time occupancy levels of public locations like cafes, restaurants, trains and other types of transportation. Essentially, users can see how packed a place is before they even try to get there.

My Role

I wrote the foundational low-level router-side code that enables CityPulse to calculate occupancy levels with routers that listen for phone signals. It is a C program that executes on a router running OpenWRT. The program listens for a special kind of network packet called a probe request that phones broadcast when they’re looking for WiFi networks, and then sends that anonymized information to the server. Challenges included buffering and sending all the required data without overloading the server with too much data.

C Logo
OpenWRT Logo
WireShark Logo
Adapx logo
Ink upload
C# Logo
Java Logo
C++ Logo
ArcGIS Logo
Postscript Logo
SQL Server Logo

Adapx offers Capturx, which turns natural speech, sketches and handwriting into data for Microsoft Office and other back-end systems. By simply speaking and writing, teams get instant access to structured data collected on paper, touchscreens, mobile devices, and wall displays.

My Role

I co-developed all the major applications at Adapx, including Capturx for SharePoint, Capturx for ArcGIS, Capturx for OneNote, Capturx Pen Manager, and Speech & Sketch. I led develpment for some of those projects.

I discovered and implemented a printing technique allowing the company’s applications to print digital pattern to nearly any PostScript printer instead of only printers from a particular printer vendor, which opened up potential customer base exponentially. Filed and obtained U.S. Patent 8,040,570 for this invention.

C# Logo
Java Logo
C++ Logo
ArcGIS Logo
Postscript Logo
SQL Server Logo
Battle for Texas logo

Battle for Texas

Battle for Texas Floorplan Battle for Texas book Battle for Texas map
Apple Logo
Android Logo
Java Logo
Node Logo
MongoDB Logo
AWS Logo

The Battle for Texas app is the essential mobile companion for the Battle for Texas: The Experience, which is a fully immersive museum adventure staged in an authentic recreation of the Alamo as it stood in 1836. It unlocks exclusive and hidden experiences in each gallery, bringing the user closer to the people, places and events that shaped the Texas Revolution.

My Role

I implemented the Node.js server and the MySQL database. I set up the schema and API endpoints for challenges and visions so that we could support multiple challenge types (multiple choice, commitment, image order, etc.) and so that it was extensible so that we could add new challenge types later. It also keeps track of everyone who has contributed to a vision and how much they contributed, so when it's completed it sends push notifications to everyone involved with a reward based on their relative contribution.

I also helped to implement various screens on the iOS and Android apps, such as the challenge screens and the login workflows. The implementation for iOS was built with Swift, and Android was built with Kotlin. The API is implemented in Node.js using Express, and is hosted on Heroku. Data is stored in MySQL running on AWS RDS. Google Sign In and email/password verification is handled by Firebase.

Apple Logo
Android Logo
Java Logo
Node.js Logo
MongoDB Logo
AWS Logo

Get In Touch