Projects

Stickers on Demand Print-on-Demand Service

Stickers on Demand is an ongoing project I am developing that I plan to take live as a business in the next few years. Stickers on Demand is a print-on-demand service targeted at ecommerce businesses to allow them to sell custom-designed stickers and posters in their online stores without the burden of inventory and fulfillment.

Store owners make an account with Stickers on Demand, and install our software integration on their ecommerce store (integrations with WooCommerce, Shopify, and more are planned). Then, they use the integration to create custom sticker and poster products with their own design and list them on their site. Once one of these products are ordered, the plugin automatically submits the order to the Stickers on Demand fulfillment service, where we handle the order fulfillment and shipping.

(Picture coming soon)

For this project, I built an entire ecommerce site from scratch using Laravel, AlpineJS, and TailwindCSS. This site allows visitors to place orders with us using a traditional ecommerce interface, and gives them the option to sign up for our integration service. It has a fully-featured REST api for submitting orders, a comprehensive ecommerce system including categories and carts, media uploads for products, payment processing with Stripe, and more.

JG.js

JG.js is a JavaScript library I wrote and maintain to speed up my web development workflow. It contains pre-built implementations of many common web development features that I use in my projects, including modals, loaders, ajax-submitted forms, and more. It is an ongoing project that I will continue to add on to as I continue developing features for web apps. For example, here is how a modal opened by a programmer-defined button with an automatically-generated close button would be implemented in my library:

<button jg_open="modal_1">Show Modal</button>

<dialog class="jg_modal" id="modal_1" style="padding: 1rem;">
    <h1>Example Modal</h1>
</dialog>

JG.js is implemented in modular “feature scripts” that can be included in the html document of a project. Then, the specialized synchronizer script that I developed automatically detects all feature scripts that were included, and performs the actions necessary to integrate their features in the document.

To learn more about JG.js, use it in your project, or contribute to the project, read more about it in its article, or visit the Github repository.

Bible Buddy WordPress Plugin

Bible Buddy is a WordPress plugin I actively maintain and develop that makes it easy to add Bible verse to posts and pages. Targeted at churches and theology bloggers, it searches for Bible Verse references that meet a certain format (like “Book Chapter:Verse”) in post and page bodies. Then, it makes those references clickable, and when clicked they create a card containing the actual text of the verse right next to the reference. Click here to see it in action: Numbers 25:6-11.

Site administrators can set a variety of options to control plugin behavior. This includes a color theme (check the plugin directory listing to see the options), the format of references to scan for, the type of pages the plugin should act on, and more. These settings allow the user to exercise fine-grained control over their use of the plugin on their website.

Bible Buddy Plugin Settings.

This plugin is live and available on the WordPress Plugin Directory. It can be installed and activated on any WordPress site by visiting its page on the directory. Keep an eye on development and contribute using the Bible Buddy Github Repo.

Medium Publisher WordPress Plugin

Medium Publisher is another WordPress plugin I developed and maintain. It integrates with the Medium Publisher API to allow cross-posting of WordPress posts to Medium, a major online social journalism platform.

This plugin makes request to Medium’s API using token authentication to send posts from a WordPress site to the user’s associated publisher account. The post title and content is pulled from the post record, and Medium Tags are supported in the post editor meta box:

After publishing the post to Medium, the plugin stores a record of the url of the post for later reference.

Medium Publisher is not currently listed on the WordPress plugin directory, but can be installed manually on any WordPress site by installing it from the Github repository. To see examples of posts to Medium from a WordPress site made using this plugin, check out my Medium profile (all of my posts on Medium were made using this plugin).