Here is a list of all known Gemini-related software. The list is not curated: some of these programs may be non-functional, or may be unmaintained. You have to evaluate them yourself. If you've written some Gemini software which is not listed here, please contact me at solderpunk@posteo.net.
Also check out the community-maintained "Awesome Gemini" collection
A bare-bones but usable Gemini client in 100 lines of Python
A bare-bones but usable Gemini client in 100 lines of Lua
A bare-bones but usable Gemini client almost 100 lines of Go
A Gemini client library in Guile Scheme
A more recent fork of the above library
A rich Gemini client library in Nim
Agregore, a "distributed web" browser supporting Gemini
Amfora, a very feature-rich Gemini client for the terminal
AmiGemini, a Gemini client for the Commodore Amiga
Ariane, a Gemini client for Android
Astro, a Gemini client written in shell script
Astronaut, a terminal Gemini client written in Go
Asuka, a ncurses-based Gemini client
AV-98, an experimental Gemini client derived from VF-1
Bollux, a Gemini client written in pure Bash
Bombadillo, a multi-protocol client handling Gemini since 2.0.0
Castor, A graphical Gemini client written in Rust
Cgmnlm, a colorful fork of gmni
Chawan, a text-mode multi-protocol client written in Nim
Deedum, a Gemini client for Android
Diohsc, a terminal Gemini client written in Haskell
Dragonstone, a simple GTK Gopher/Gemini client written in Vala
Elaho, a Gemini client for iOS
elpher, a emacs-based Gopher and Gemini client
Fafi, a graphical, tabbed client written in Racket
felinks, a fork of the `elinks` web browser which supports Gemini and Gopher
gacme, a Gemini client for plan9's Acme
gcat, a `cat`-like Gemini client
Gemget, a command-line Gemini downloader ala wget
GemiNaut, a user-friendly GUI client for MS Windows
Geopard, a client written in rust, using the gtk3 toolkit
Gmi, a client written in POSIX-compliant shell
gmi100, a CLI client written in 100 lines of ANSI C
gurl, a `curl`-like Gemini client
Gusmobile, a Gemini client library in Python
gmni, a combined CLI and line-mode client for POSIX/C11
Kristall, a graphical Gemini client using Qt
Lagrange, a beautiful graphical Gemini client written in C
majc, a curses client for Gemini written in Rust
McRoss, a graphical Gemini client written in Python/Tkinter
Moonlander, a very fancy graphical Gemini client written in Rust
ncgopher, a Gopher and Gemini client written in Rust
Offpunk, an offline-first command line client for Gemini and other protocols
Rhapsode, an "auditory web browser" which supports Gemini
Rosy Crow, a Gemini client for Android
Ruhroh, a Gemini client written as a POSIX shell script
Spwash, a bare-bones Gemini client written in C#
Sydney, a Vim-like command-line Gemini client
tgmi, a terminal-based Gemini client for linux written in Python
Twin Peaks, a graphical Gemini client written in C#
Tinmop, a distraction free terminal client for Gemini (and Pleroma!)
Vgmi, a terminal Gemini client written in C with vim-like keybindings
Vimini, a Gemini client inspired by qutebrowser
Viv, a "toy" Gemini client written in ANSI C
Zain, a graphical Gemini client written in Tcl/Tk
A Gemini server written in Node, based on Express
Aerozine, a Gemini server written in Rust, focussed on configurability
Agate, a Gemini server written in Rust
Belka, a family of Erlang componens for building Gemini servers
Blizanci, a Gemini server writen in Erlang
Dʒɛmɪni, a Gemini server written in Racket
GeGoBi, a Gemini server for Gemini-Gopher bi-hosting
Gemigit, a self-hosted Gemini git service
Geminid, a Gemini server written in C
Gemini-PHP, a Gemini server written in PHP
Gemserve, a Gemini server written in Rust
Germinal, a Gemini server written in Common Lisp
GLV-1.12556, a Gemini server (in fact, the first!) written in Lua
gmid, a low-memory Gemini server written in C with interesting security features
gmnisrv, a simple Gemini server written in C11
Jetforce, a Gemini server written in Python
Kepler, a simple Gemini sever written in Rust
Laurali, an object-oriented Gemini server for Deno
Lupa Pona, a simple tool for serving a single local directory via Gemini
Maple, a static Gemini server with Titan support
(The Unsinkable) Molly Brown, a Gemini server written in Go
Nemini, a simple Gemini server with virtual host and alias support
Net-Gemini, a Gemini server written in Go
Northstar, a Rust library for Gemini servers
Orion, a Gemini server written in Go
Pollux, a Gemini server written in Rust
Smolver, a Gemini server written in Swift
Space Age, a Gemini server written in Clojure
SpaceBeans, a Gemini server written using Scala and Akka streams
Stargazer, a concurrent Gemini server written in Rust
Titan2, a minimal Gemini server written in Go
Twins, a Gemini server written in Go
Vger, a simplistic and secure Gemini server in C targetting OpenBSD
Windmark, an asynchronous Gemini server framework for Rust
dillo-gemini, a Gemini plugin for the Dillo browser
cute-gemini, a Gemini userscript for Qutebrowser
Atomini, a Ruby script to generate an Atom feed from a Gemini map
CAPCOM, an Atom feed aggregator that outputs text/gemini
Gemfeed, a tool to generate Atom feeds for a directory of text/gemini files
gmisub, a tool to aggregate content from subscribable Gemini pages
GMIToAtomFeed, a CGI tool to produce Atom feeds from Gemini index pages
Spacewalk, a moku-pona style aggregator for Gemini
text/gemini syntax highlighting for emacs
text/gemini syntax highlighting for kakoune
text/gemini syntax highlighting for Kate
text/gemini syntax highlighting for nano
text/gemini syntax highlighting for vim
gemlikes, a liking and commenting system
git.gmi, a Gemini git frontend
Twinwiki, a Gemini wiki edited with sed commands
gemini-to-html, a simple Node JS module to convert text/gemini to HTML
gemtext-html-converter, a Gemtext to HTML converter in Python
gmitohtml, a command line tool and daemon for converting txt/gemini to html
gmi2mkd, a Gemtext to Markdown converter in awk
html2gmi, a command line application to convert html to text/gemini
HtmGem, a PHP program to convert text/gemini to HTML on the fly
md2gemini, a Markdown to text/gemini converter
ox-gemini, an Emacs org-mode to text/gemini exporter
A Go library for implementing both clients and servers
A Node JS module to convert gemtext to audio
Agena, a Gemini-to-Gopher proxy
Agunua, a Python library for the development of Gemini clients
Gemgit, a tool to generate static Gemini pages for git repos
gemini2html, a fast text/gemini to HTML converter written in C
GeminiBB, a standalone Gemini bulletin board application
gemini-fetch, a simple Node JS module to fetch Gemini content
Germ, a large Gemini toolkit library for Rust
Gig, a Gemini application framework in Go
git-remote-gemini, a Git remote helper to clone git repositories over Gemini
gmi, a text/gemini parsing library
gmir, a text/gemini reader, pluggable into some CLI clients
gmnigit, a to generate static Gemini pages for git repositories
A Hugo theme for generating a website and matching Gemini capsule
Ignition, a Gemini client library for Python
Kineto, a single-domain HTTP to Gemini proxy
September, a highly capable and HTTP to Gemini proxy
Sumy, Node.js bindings to the Germ toolkit (see above)
A collection of "building blocks" for building Gemini servers in Nim
Phoebe, a standalone Gemini/Titan wiki with many associated tools
Tsiol, a simple IPFS/Gemini bridge
Vostok, a protocol-agnostic framework supporting Gemini
Xenia, a Gemini web proxy for Android
Zodiac, a nginx-style reverse proxy and load balancer for Gemini