Tools
Tools and technologies used to build my software, starting with the most recent.
Amplify
2023 – present
AWS Amplify is a comprehensive development platform from Amazon Web Services that enables developers to quickly build, deploy, and manage scalable full-stack web and mobile applications. It provides a set of libraries, UI components and a command-line interface for integrating popular front-end frameworks (React, Angular, Vue, iOS, Android, Flutter) with cloud backends, including authentication, GraphQL and REST APIs, storage, and serverless functions. Amplify Studio offers a visual development environment for designing UI and data models, while built-in hosting, CI/CD and environment management streamline the application lifecycle so teams can focus on features instead of infrastructure.
- Projects: Nuggets, hazelandgreg.wedding
- Jobs: Independent Programmer and Consultant
Azure AI
2023 – present
Azure AI is a suite of cloud-based services and APIs for integrating AI capabilities—such as computer vision, speech processing, natural language understanding and decision-making—into applications. It’s commonly used for image and text analysis, speech-to-text and translation, and building conversational agents, with seamless integration into Azure’s infrastructure for scalable deployment and management.
- Projects: Nuggets
- Jobs: Independent Programmer and Consultant
Expo
2023 – present
Expo is an open-source platform and toolchain built around React Native that lets developers write modern JavaScript or TypeScript to produce fully native iOS, Android and web apps without configuring Xcode or Android Studio. It provides a comprehensive SDK of prebuilt, cross-platform APIs (camera, sensors, notifications, maps, file system, etc.), a command-line interface for project scaffolding and local testing, and cloud services for building binaries, over-the-air updates, push-notification delivery and app store publishing. By abstracting away much of the native configuration—while still allowing “ejecting” to integrate custom native modules—Expo accelerates development, simplifies maintenance and lowers the barrier to entry for mobile-first teams.
- Projects: Nuggets
- Jobs: Independent Programmer and Consultant
OpenAI
2023 – present
OpenAI provides a suite of AI development tools and APIs built on large-scale machine learning models for natural language understanding, generation and reinforcement learning. It’s commonly used to integrate text generation, code completion, summarization, translation and conversational agents into applications.
- Projects: Nuggets
- Jobs: Independent Programmer and Consultant
React Native
2023 – present
React Native is an open-source framework developed by Facebook that enables developers to build mobile apps for iOS and Android using JavaScript and React. Instead of rendering web views, React Native translates UI components into native platform widgets, delivering near-native performance and look-and-feel. Its component-based architecture and one-way data flow mirror React for the web, making it easy for JavaScript developers to pick up. Features like hot reloading accelerate the development cycle by instantly reflecting code changes on the device. A rich ecosystem of libraries and a large community contribute reusable modules and plugins, simplifying access to native device features (camera, geolocation, sensors) without writing platform-specific code. By sharing logic and UI components across platforms, React Native significantly reduces development time and maintenance overhead compared to traditional native app development.
- Projects: Nuggets
- Jobs: Independent Programmer and Consultant
XState
2023 – present
XState is a JavaScript/TypeScript library for modeling application logic as finite state machines and hierarchical statecharts, enabling developers to define states, transitions, guards, actions, and invoked services declaratively. With built-in support for parallel and history states, runtime interpreters, visualizers, and integrations for React, Vue, Angular, and Node.js, XState delivers predictable, testable, and maintainable state management for complex synchronous and asynchronous workflows.
- Projects: Nuggets
- Jobs: Independent Programmer and Consultant
Docker
2015 – present
Docker is an open-source platform for developing, shipping, and running applications. It uses container technology to package applications into isolated, lightweight, and portable containers that can be quickly deployed and moved between different computing environments. Docker also provides a set of tools and services to help developers build, ship, and run applications in a more efficient and secure way.
- Projects: Nuggets, EpiCloud
- Jobs: Independent Programmer and Consultant, Futuristic Education
EC2
2015 – present
Amazon Elastic Compute Cloud (EC2) is a web service that provides secure, resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers. EC2 allows users to launch virtual servers, called “instances”, which can be configured to their specific needs. EC2 also provides users with the ability to scale their computing resources up or down as needed, allowing them to pay only for the resources they use.
- Projects: Nuggets, EpiCloud
- Jobs: Independent Programmer and Consultant, Futuristic Education
ECR
2015 – present
Amazon Elastic Container Registry (ECR) is a fully-managed Docker container registry that makes it easy to store, manage, and deploy Docker container images. It is secure, highly available, and scales automatically to meet the needs of your applications. ECR integrates with Amazon Elastic Container Service (ECS) and AWS Fargate, simplifying your development to production workflow. It also provides features such as image scanning, lifecycle policies, and IAM authentication.
- Projects: Nuggets, EpiCloud
- Jobs: Independent Programmer and Consultant, Futuristic Education
ECS
2015 – present
Amazon Elastic Container Service (ECS) is a container orchestration service from Amazon Web Services (AWS) that enables users to easily deploy, manage, and scale containerized applications on AWS. It provides a secure and scalable platform for running Docker containers, allowing users to quickly and easily deploy and manage applications in the cloud. ECS also provides features such as automated container scaling, service discovery, and resource management.
- Projects: Nuggets, EpiCloud
- Jobs: Independent Programmer and Consultant, Futuristic Education
Fargate
2015 – present
Fargate is an Amazon Web Services (AWS) technology that allows users to deploy and manage containers without having to manage the underlying infrastructure. It provides a serverless compute engine for containers that eliminates the need to provision, configure, and scale clusters of virtual machines. Fargate also provides a secure and reliable platform for running containers, allowing users to focus on building and running their applications, rather than managing the underlying infrastructure.
- Projects: Nuggets, EpiCloud
- Jobs: Independent Programmer and Consultant, Futuristic Education
IAM
2015 – present
AWS Identity and Access Management (IAM) is a web service that helps you securely control access to AWS resources. With IAM, you can create and manage AWS users and groups, and use permissions to allow and deny their access to AWS resources. IAM also enables you to create and manage security credentials such as access keys, passwords, and multi-factor authentication devices. You can use IAM to manage access to AWS services such as Amazon EC2, Amazon S3, and Amazon RDS.
- Projects: Nuggets, EpiCloud
- Jobs: Independent Programmer and Consultant, Futuristic Education
Node
2015 – present
Node.js is an open-source, cross-platform JavaScript runtime environment that executes JavaScript code outside of a browser. It is used to create server-side and networking applications. Node.js applications are written in JavaScript and can be run within the Node.js runtime on OS X, Microsoft Windows, and Linux. Node.js also provides a rich library of various JavaScript modules which simplifies the development of web applications using Node.js.
- Projects: Nuggets, EpiCloud
- Jobs: Independent Programmer and Consultant, Futuristic Education
S3
2015 – present
Amazon Simple Storage Service (S3) is a cloud storage service offered by Amazon Web Services (AWS). It provides object storage through a web service interface and is designed to store and retrieve any amount of data from anywhere on the web. It is highly scalable, secure, and durable, and provides features such as data versioning, encryption, and access control. S3 is used by many organizations for storing and backing up data, hosting websites, and streaming media.
- Projects: Nuggets, EpiCloud
- Jobs: Independent Programmer and Consultant, Futuristic Education
SQS
2015 – present
Amazon Simple Queue Service (SQS) is a fully managed message queuing service that enables applications to quickly and reliably queue messages that one component of an application can later process. SQS eliminates the complexity and overhead associated with managing and operating message-oriented middleware, and provides a simple and cost-effective way to decouple the components of an application. SQS offers a reliable, highly-scalable, hosted queue for storing messages as they travel between computers. It also provides a simple web services interface that can be used to access queues, add, receive, and delete messages.
- Projects: Nuggets, EpiCloud
- Jobs: Independent Programmer and Consultant, Futuristic Education
VPC
2015 – present
Amazon Virtual Private Cloud (VPC) is a cloud computing service that provides users with a virtual private cloud, allowing them to provision a logically isolated section of the Amazon Web Services (AWS) cloud. It provides users with complete control over their virtual networking environment, including selection of their own IP address range, creation of subnets, and configuration of route tables and network gateways. It also provides users with the ability to securely connect their VPC to their existing IT infrastructure using industry-standard encrypted IPsec VPN connections.
- Projects: Nuggets, EpiCloud
- Jobs: Independent Programmer and Consultant, Futuristic Education
HAL
2014 – present
The Hypertext Application Language (HAL) is a simple, vendor-neutral media type for representing resources and their relationships in JSON or XML, designed to make RESTful APIs more discoverable and self-descriptive. In HAL, each resource’s state is represented by its attributes, its hyperlinks by a standardized “_links” section (allowing clients to navigate between related resources), and any embedded sub‐resources by an “_embedded” section. By providing a consistent convention for linking and embedding, HAL enables clients to follow HATEOAS principles—dynamically discovering available operations and transitions—without relying on out-of-band documentation.
- Projects: gregoryjscott.com, jekyll-embed
- Jobs: Independent Programmer and Consultant
Jekyll
2014 – present
Jekyll is an open-source, Ruby-based static site generator that transforms plain-text content (written in Markdown, Textile or HTML) and Liquid-templated layouts into a complete, static website. By using simple “front matter” at the top of each page or post to define metadata (like title, date and categories), Jekyll assembles content with shared layouts, includes and assets into fully rendered HTML files. Because it produces only static pages—no databases or server-side processing—it delivers fast, secure sites that are easy to host (notably on GitHub Pages) and maintain via version control.
Firebase
2015 – 2021
Google Firebase is a mobile and web application development platform that provides developers with a variety of tools and services to help them quickly and easily build high-quality apps. Firebase provides a real-time database, authentication, storage, hosting, analytics, and more. It also offers a range of SDKs for Android, iOS, and web development, allowing developers to quickly and easily integrate Firebase into their apps.
- Projects: EpiCloud
- Jobs: Futuristic Education
Google Classroom
2015 – 2021
Google Classroom is a free web-based platform that allows teachers to create and manage virtual classrooms. It enables teachers to easily create and organize assignments, provide feedback, and communicate with students. It also allows students to submit assignments, view grades, and collaborate with their peers. Google Classroom integrates with other Google applications such as Google Drive, Google Docs, and Google Calendar.
- Projects: EpiCloud
- Jobs: Futuristic Education
Google Drive
2015 – 2021
Google Drive is a cloud storage service that allows users to store and access their files from any device with an internet connection. It provides users with 15GB of free storage, and additional storage can be purchased. It also offers a suite of office applications, including Google Docs, Sheets, and Slides, which allow users to create and collaborate on documents, spreadsheets, and presentations. Google Drive also offers a range of features, such as file sharing, version history, and real-time collaboration.
- Projects: EpiCloud
- Jobs: Futuristic Education
Puppeteer
2015 – 2021
Puppeteer is a Node library developed by Google that provides a high-level API to control headless Chrome or Chromium over the DevTools Protocol. It can be used to automate tasks that would normally be performed manually in the browser, such as form submission, UI testing, keyboard input, or capturing a timeline trace to diagnose performance issues. Puppeteer can also be used to generate screenshots and PDFs of web pages.
- Projects: EpiCloud
- Jobs: Futuristic Education
SikuliX
2015 – 2021
SikuliX is an open-source GUI automation tool that uses image recognition to interact with on-screen elements by matching screenshots. It lets you write scripts in Python (via Jython), Java, and other JVM languages to click, type, and verify UI states without needing native application hooks. Built on OpenCV, SikuliX works across Windows, macOS, and Linux, making it ideal for automating legacy or custom interfaces and integrating with testing frameworks for end-to-end automation or repetitive desktop task scripting.
- Projects: EpiCloud
- Jobs: Futuristic Education
Heroku
2015 – 2016
Heroku is a cloud-based Platform as a Service (PaaS) that simplifies the deployment, management and scaling of modern web applications. Developers push code to Heroku via Git or GitHub, and Heroku’s buildpacks automatically detect the language (such as Ruby, Node.js, Python, Java, Go or PHP), install dependencies and compile a runnable slug. Applications run in lightweight, isolated containers called dynos, which can be scaled horizontally or vertically on demand. The platform also offers a marketplace of add-ons (databases, caching, monitoring, logging, etc.), a web-based dashboard and a command-line interface, allowing teams to iterate quickly without managing underlying infrastructure.
- Projects: fortworthtexas.gov
- Jobs: Independent Programmer and Consultant
Backbone.js
2010 – 2012
Backbone.js is a lightweight JavaScript library that brings structure to client‐side applications by providing models with key–value binding and custom events, collections with rich enumerable functions, views with declarative event handling, and a router for managing application state and URLs. It syncs seamlessly with RESTful APIs via its built‐in sync method, making it easy to fetch and persist JSON data. By relying only on Underscore.js (and optionally jQuery or Zepto), Backbone.js imposes minimal constraints on how you architect your code while offering just enough conventions to keep large‐scale single‐page applications organized and maintainable. Its event‐driven design encourages decoupled components, and its simplicity has made it popular for developers who prefer to assemble their own toolchains rather than adopt more opinionated frameworks.
- Projects: Quality Bank
- Jobs: Resource Data, Inc.