A great systems-oriented programming language I’ve taken up to complement Python due to its ability to cross-compile and produce (mostly) self-contained static binaries.
Tricks
Shrinking executables via gccgo and upx:
go build -mod=vendor -gccgoflags ‘-Os -s’ -o main && upx –best –lzma main
Resources
| Category | Date | Link | Notes |
|---|---|---|---|
| Authentication | 2025 | obligator | a relatively simple and opinionated OpenID Connect (OIDC) server |
| pocket-id | A simple and easy-to-use OIDC provider | ||
| tinyauth | a simple authentication server that integrates with traefik | ||
| 2020 | authelia | authentication and authorization server providing 2-factor authentication and single sign-on | |
| tobab | an identity-aware proxy | ||
| Ory | a full IAP authentication solution with OpenID integration | ||
| loginsrv | a standalone minimalistic login server providing a JWT login for multiple login backends | ||
| 2018 | traefik-forward-auth | a forward auth service that provides OAuth support for the Traefik reverse proxy | |
| Big Data | 2018 | gohadoop | A set of libraries to build Hadoop jobs |
| 2015 | Glow | An easy-to-use distributed computation (map-reduce) system in pure Go. | |
| Configuration | 2018 | envconfig | simple, no-frills environment variable handling |
| 2017 | viper | A flexible configuration solution for 12 factor apps (and more) | |
| Data Science | 2025 | zasper | a Jupyter clone designed for massive concurrency with minimal resource usage. |
| 2018 | go-freeling | Natural language processing | |
| gonum/floats | operations on slices of floats | ||
| gonum/graph | Graph navigation/traversal | ||
| gonum/matrix | Matrix algebra | ||
| gonum/optimize | Gradient descent and minimization | ||
| gonum/plot | Plotting and visualization | ||
| gonum/stat | statistics package | ||
| gophernotes | A Jupyter kernel for Go | ||
| gota | DataFrames, Series and data manipulation | ||
| regression | Multivariable regression | ||
| csvutil | CSV and tabular data | ||
| Data Structures | 2016 | gen | Clojure-like immutable data-structures and functional helpers |
| Database | 2025 | pennybase | Poor man’s Backend-as-a-Service (BaaS), similar to Firebase/Supabase/Pocketbase |
| 2022 | sqlite | a Go interface to sqlite3 | |
| go-sqlite3-stdlib | a set of math and statistics extensions to | ||
| 2021 | nakama | A game-oriented state server, backed by CockroachDB | |
| 2020 | dbmate | a database migration tool that supports MySQL, PostgreSQL, SQLite and ClickHouse | |
| 2016 | gorm | A Go ORM library | |
| Desktop | 2025 | fynedesk | a desktop environment built with the Fyne GUI toolkit |
| 2022 | wails | an Electron-like framework for desktop app development | |
| Frameworks | 2024 | htmgo | a lightweight framework for building interactive web applications using Go and htmx without JavaScript |
| GUI | 2026 | Shirei | a Go-based immediate-mode GUI framework with a flexbox model |
| 2024 | gio | a cross-platform GUI library for Go | |
| spot | a React-like destkop GUI toolkit for Go that supports FLTK and Cocoa | ||
| 2023 | fyne | a cross platform GUI toolkit that can be used in Android and iOS | |
| 2022 | tinygui | a GUI toolkit for TinyGo | |
| Graphics | 2025 | fauxgl | a software rasterizer and 3D renderer |
| meshview | a 3D viewer for STL meshes | ||
| 2022 | sdfx | a CAD package written in Go | |
| 2016 | gift | The Go Image Filtering Toolkiti | |
| HomeKit | 2022 | hap | a rewrite of the |
| IoT | 2020 | tamago | compile and execute Go on bare ARM SoCs |
| 2018 | gokrazy | a pure-Go userland for Raspberry Pi 3 appliances | |
| tinygo | an | ||
| Learning | 2026 | go-kata | A collection of daily coding challenges to master idiomatic Go through deliberate practice |
| Libraries | 2026 | bubbletea | Go TUI framework from Charm |
| go-bt | A minimalist behavior tree library for game AI, background workers and async logic | ||
| 2025 | script | a library for building script alternatives | |
| event | simple internal event bus for Go applications | ||
| 2024 | rill | a toolkit for clean, composable, channel-based concurrency | |
| darwinkit | a library for building Darwin (macOS) apps | ||
| lo | a lodash-style library for generics, map, filter, contains, find, etc. | ||
| go-funk | a library with map, reduce and other functional primitives | ||
| 2023 | ergo | an impressive Erlang-compatible library for implementing OTP design patterns | |
| sdf | signed distance function shape generation | ||
| oidc | OpenID Connect client and server library | ||
| 2022 | maphash | Hash any comparable type using Golang’s fast runtime hash. | |
| imagemeta | supports EXIF, XMP and HEIC metadata parsing | ||
| natiu-mqtt | a self-contained MQTT implementation | ||
| 2020 | Chroma | a fast generic syntax highlighter | |
| olric | A distributed cache and in-memory key/value data store that can be used standalone or embedded. | ||
| 2019 | bild | a collection of parallel image processing algorithms | |
| 2018 | go-imap | an IMAP client library | |
| goworker | A Resque-compatible library for background workers | ||
| go-dsp | A digital processing package | ||
| ffjson | Faster JSON for Go | ||
| gjson | Fast JSON data retrieval | ||
| scrape | A simple interface for Go web scraping | ||
| 2016 | go-linq | LINQ-like functionality with coroutine support | |
| libchan | A network-enabled abstraction that mimics channels | ||
| Messaging | 2024 | SmoothMQ | is a drop-in replacement for AWS SQS |
| 2018 | nsq | A message queueing system | |
| Microservices | 2020 | flogo | a low-code environment with streaming support and a Node-RED like approach. |
| flatend | an interesting take on deployment and discovery via P2P/Kademlia | ||
| 2019 | go-micro | a microservices framework with pluggable components for discovery, transports, etc. | |
| Middleware | 2017 | casbin | a flexible access control library |
| Networking | 2023 | blocky | DNS proxy/ad-blocker for local network (can run inside of gokrazy) |
| 2018 | router7 | A router based on gokrazy | |
| Other | 2021 | macdriver | Objective-C bindings for Go |
| 2018 | Shrinking Go binaries | By stripping debug symbols and using | |
| go-bindata | Pack external assets into a Go program as binary data | ||
| Parsers | 2016 | etree | An XML handling library modeled on Python’s |
| Protocols | 2026 | Pion Handoff | a Go tool for moving a browser-created WebRTC session into a backend process so you can record, inject media, or inspect decrypted traffic. |
| 2016 | go-vnc | An extensible VNC protocol library | |
| 2015 | torrent | An embeddable BitTorrent library | |
| mangos | A network library for IPC patterns | ||
| Robotics | 2014 | Gobot | A set of robotics-oriented libraries |
| Search | 2016 | blevesearch | A Lucene-like indexing library |
| Servers | 2026 | wish | SSH app framework from Charm |
| 2023 | mox | modern full-featured (SMTP, IMAP, DKIM, etc.) mail server | |
| 2020 | maddy | a composable, all-in-one SMTP/IMAP server | |
| System | 2018 | suture | A library that implements Erlang-like supervision trees |
| Tools | 2025 | shiori | a simple Pocket-like bookmark manager with a web interface, able to archive pages like ArchiveBox |
| minimalytics | a minimalist analytics tool backed by SQLite | ||
| act | a tool for running GitHub Actions locally | ||
| u-root | a Go-based userspace for embedded systems and cloud environments. | ||
| 2024 | bruin | a data pipeline tool that integrates data ingestion, transformation, and quality checks. | |
| gozer | A simple static site generator | ||
| monogon | a Linux userland in pure Go | ||
| nano-web | Hyper-minimal webserver for serving SPAs and static content | ||
| zoraxy | A general purpose HTTP reverse proxy and forwarding tool | ||
| 2023 | glow | a CLI Markdown renderer in te spirit of more/less | |
| gojekyll | A partial reimplementation of Jekyll in Go | ||
| 2022 | vhs | terminal demo recorder with GIF/ | |
| goweight | a CLI tool to identify which libraries contribute most to binary size | ||
| 2021 | till | a web scraping caching proxy that handles most of the anti-scraping mechanics | |
| zinc | a lightweight alternative to elasticsearch that claims to run in less than 100 MB of RAM and has a broadly similar API | ||
| pyroscope | a profiling platform with support for Go, Python and Ruby | ||
| 2020 | Got | a tool/library that uses concurrent HTTP range requests for faster downloads | |
| Transpilers | 2014 | Tardis Go | A transpiler to JavaScript |
| funcgo | A simplified dialect that compiles to Clojure | ||
| GopherJS | A transpiler to JavaScript | ||
| UI | 2025 | gotui | a cross-platform terminal UI library that supports terminal dashboards and charts |
| 2019 | muon | a lightweight alternative to Electron with go bindings | |
| 2018 | termui | A terminal-oriented dashboard library | |
| 2014 | ui | A platform-native GUI library | |
| Video | 2024 | go2rtc | a camera proxy that can surface RTSP cameras to HomeKit (and much more) |
| broadcast-box | a tool for broadcasting video streams to multiple platforms using WebRTC | ||
| Web | 2022 | but | a full-stack web framework with server-side rendering and good JS integration |
| 2020 | gearbox | A web framework built around | |
| 2018 | Beego | Ships with an ORM and built-in monitoring | |
| QOR | A set of libraries for E-Commerce and CMS | ||
| Gin | uses a Radix tree for routing, handles panics | ||
| Gobuffalo | |||
| Iris | Lots of features and plugins | ||
| 2017 | HttpRouter | A high performance HTTP router | |
| Goji | A Sinatra-inspired, minimalist framework | ||
| 2016 | echo | A high-performance HTTP server framework with LetsEncrypt support | |
| Web Frameworks | 2024 | sandwich | a middleware & routing framework |
| pocketbase | a Firebase-like web app realtime backend with SQLite, user and file management, and a dashboard UI. | ||
| Writing | 2023 | vale | an extensible linter for prose |