Projects 💻
This page lists the main coding projects I have worked on.

IndieWeb Search
A search engine and crawler that indexes web pages made by IndieWeb community members.
Relevant Blog Posts
- Some things to keep in mind if you build a search engine
- Why I am Building IndieWeb Search
- How my search engine direct answers work (written for the project on which I based IndieWeb Search)

Webmention Sender and Receiver
A server that can receive, process, and send webmentions.
Relevant Blog Posts

IndieAuth Endpoint
An IndieAuth token and authorization endpoint built with Python Flask.
Relevant Blog Posts

Micropub Client and Server
A client to create posts on my site and a server to process those posts.
Relevant Blog Posts

Microsub Client and Server
A feed reader built using the Microsub draft specification.

This Website (jamesg.blog)
A blog built with Jekyll. I mainly write articles about coffee and coding on this blog.

letsjam
A static site generator built with Python and jinja2. letsjam powers this site.
Relevant Blog Posts

WebSub Server
A WebSub server that sends notifications to subscribers when content is published on my site.

Cali
A Discord bot from which I can post to my website, subscribe to feeds, and receive specified notifications.

HyperText Coffee Pot
A Python implementation of the IETF HyperText Coffee Pot Control Protocol (HTCPCP).
Relevant Blog Posts

Static Website Webring
A webring built with Ruby and Sinatra that connects static sites. This project aims to aid in the discovery of new static websites.

Planet
A web page that aggregates the 20 latest posts from tech blogs I follow.

Python indieweb-utils
A Python library with utilities useful for implementing IndieWeb applications.
This library is currently a work in progress.
Implemented Specifications
- Post Type Discovery (W3C Note)
- Authorship Specification
- Original Post Discovery

Microsub OPML Utils
A Ruby tool to import feeds into and export feeds from a Microsub server using OPML.