Welcome to Craig's Creations

I am a passionate software architect and engineer with experience across embedded, mobile, server, and cloud platforms. My work has spanned the aerospace, medical, and defense industries. Industries that have stringent requirements, where product success changes lives, and failure is not an option. With experience in Rust, C++, Go, and Python I can identify the right tools to engineer reliable, high-performance solutions. My life journey reflects a commitment to innovation, practical problem-solving, and continuous learning. I am continuously looking for opportunities to improve the world through my skills. If you land on this page with the same goals, I hope you will reach out and perhaps we can change the world together.

Professional Information

I started programming when I was 13 and I still get excited when developing. Some highlights of my career have been to architect and develop medical devices that have saved lives, defense software that has been deployed to some of the remotest and hostile locations on the planet protecting our military, and working with astronauts to contribute to the success of NASA's shuttle program. These experiences have given me the skills to use the right tools and programming languages to get the job done.

Programming Projects for Fun

This section contains the open-source projects I have done over the years. My current side project is a fundraising SaaS for my son's scout troop. For the other projects, time and technologies have moved on.

Craig's Actual Creations

BSA Troop 27 Fundraiser Web App

When Troop 27 needed to replace their mulch order fundraising system, I suggested using a SaaS architecture. This would provide a cost-effective and low-failure solution. They agreed and thus this open-source project was born. This project contains a combination of different cloud services. * AWS Lambda written in Go and Rust. * AWS API Gateway for providing GraphQL interface. * CockroachDB SQL for data storage. * PhaseTwo (KeyCloak) for OAuth2 Security. * Mapbox and Openstreet maps for geocoding addresses. * Netlify for the hosting of the static web app. * The Progressive Web App (PWA) uses the Yew Rust WebAssembly framework, Bootstrap, and DataTables for the site itself. Now the scouts have the ability to take orders from their mobile devices as well as on their desktops. It has integrated GeoLocation functionality allowing scouts to target undersold areas. And the features are still expanding...

This is an active project and as such new features are actively beeing added all the time.

Fundraiser Web App Project Home

C# X-10 Libray

No longer an active project

This is a C# .NET library for the X-10 Active Home Automation system. The library supports Lamp and Application modules as well as the generic functions of the CM11a. Since my house is now on newer technologies this project is no longer in active development. This library requires the Microsoft Serial port .NET library for Serial Port IO Access. The serial library is/was provided by Microsoft. Unfortunately, the last time I checked the Microsoft URL is no longer valid. I leave this project available in hopes it could be useful as a reference for someone wanting to do more interesting things. C# X-10 project Home

Moon Phase Today for PocketPC

No longer an active project

Version 0.2

This Today app item depicts the phases of the moon and provides information on the current status of the Moon Cycle. Clicking on the items brings up more information about the location of the moon in reference to the earth/sun etc.
Written in C++ with the Microsoft devlopment tools

iPAQ 5400 WLAN Systray

No longer an active project

I wanted an easy way of turning on/off the WLAN to save battery life. HP provided a program for doing that but I found it inconvenient. Thus, the iPAQ 5400 WLAN Systray app, was created. Running the executable creates a Systray icon. When clicked this will turn the built-in WLAN Adapter on/off. The icon color indicates the status of the WLAN adapter. There is no way to close down the systray applet without performing a soft reset.