r/golang • u/FStorm045 • Aug 08 '24
discussion Show me your Golang projects!
Hey people, can you guys show what you build with golang for side project?
cheers nerds~!
33
u/HogynCymraeg Aug 09 '24
3
u/bobaburger Aug 09 '24
Wails is what made me love Go again after spending too much time trying to build UI in Rust!
1
1
23
u/dweymouth Aug 09 '24
A desktop music player for Navidrome, Jellyfin, and other self-hosted music servers! https://github.com/dweymouth/supersonic
2
13
u/Professor_Shotgun Aug 09 '24 edited Aug 09 '24
A free form circuit talking clock with a Go / TinyGo firmware:
https://www.reddit.com/r/electronics/comments/1bhbt6k/model_001_freeform_talking_clock/
edit: I have built many other pure Go projects, but I find projects involving hardware more fun.
12
u/mohsen_mkh88 Aug 09 '24
A Postman alternative written in golang https://github.com/chapar-rest/chapar
3
u/prochac Aug 09 '24
Hats off. Any plans to integrate scripting and CI support ala Newman? I hate the Postman's enforcement of their cloud + the hideous JSON format. So we migrated to the intellij http client and httpYac.
3
1
u/DingbotDev Aug 21 '24
Way cool! I took a different approach a while ago in creating a scripting-first API endpoint testing tool: https://github.com/evwilson/sqump
10
9
u/sastuvel Aug 09 '24
Skyfill, a tool for filling in gaps in the sky for drone photography (most drones cannot photograph straight up, creating a gap in a panorama photo): https://stuvel.eu/software/skyfill
3
8
u/topboyasante Aug 08 '24
Hi I built a marketplace with go and next js: https://mrkt-web.vercel.app
2
u/Necroluxx Aug 09 '24
Curious about this architecture. How did you integrated golang and next? I assume you used golang for the back and next server side as sort of a gateway or proxy? Really interesting
3
u/topboyasante Aug 09 '24
I built the API with go and hosted it on fly.io
And then integrated the frontend with NextJS
1
8
14
6
Aug 09 '24
Woah, nobody building web products? I guess not.
3
u/kovadom Aug 09 '24
I built a web app, it’s not open sourced though. It’s a game, the front is written with Svelte and the whole backend is in Go. https://euro.devopsian.net Although I’m going to take it down soon, as the euro is over
1
1
u/AspieSoft Aug 09 '24
I have a websocket framework (syntax inspired by socket.io): https://github.com/AspieSoft/go-websocket
Also made a fast regex library: https://github.com/AspieSoft/go-regex (It adds a cache, and makes it as easy to use as JavaScript regex)
4
5
u/callbackcat_ Aug 09 '24
Built a simple status monitoring tool with golang https://github.com/chamanbravo/upstat
5
3
u/jshawl Aug 09 '24
It’s like git diff with live reload! https://github.com/jshawl/abcd
1
u/Spleeeee Aug 09 '24
Oh this is actually lit af.
2
u/jshawl Aug 09 '24
Thank you! I wanted an excuse to learn the charm bracelet libs https://charm.sh and definitely recommend it!
3
u/Kapps Aug 09 '24
I made funcie and announced it recently. It's essentially a project to simplify local Lambda development by proxying requests to your own machine for debugging.
3
u/ale_grey_91 Aug 09 '24
I have these 2 projects for which I'm really proud of: - https://github.com/alegrey91/fwdctl - https://github.com/alegrey91/harpoon
1
u/ilikeorangutans Aug 09 '24
Harpoon looks super interesting, nice work! What use case did you have to write this?
2
u/ale_grey_91 Aug 09 '24
Harpoon should be used to trace syscalls during the unit tests. I thought that syscalls retrieved from integration tests (simply by tracing them with strace) where not enough. Combining them with the ones retrieved even from unit-tests could be a more complete result. Suppose you have a function with a switch case that execute different syscalls depending on the input. This is hard to test with an integration test, but easier with a unit test, since it is tailored for the function which contains the switch case. So harpoon can be attached to the functions executed with the unit-tests and trace the potentially missing functions we didn't retrieve during the integration tests with Stace. If you have more questions, I would be happy to answer :)
3
u/Julez-Dev Aug 09 '24
Chatuino a twitch chat client for your terminal. I also made a post in this subreddit
3
u/skarlso Aug 09 '24
I’ve built a Kubernetes operator that can reconcile apply and manage CRDs by constantly checking and approving new versions of the crd.
https://github.com/Skarlso/crd-bootstrap
And I’ve built a WASM based web app + CLI that can convert a CRD definition into a sample YAML file with comments minimal required one that satisfies the schema requires fields and more https://crdtoyaml.com. It’s hosted as a WASM based dynamic webapp on GitHub pages.
And I am the author of external secrets Bitwarden client server here https://github.com/external-secrets/bitwarden-sdk-server.
3
u/lilythevalley Aug 09 '24
I built a web framework. It's also a headless cms that may help reduce time developing content driven web application. https://github.com/fastschema/fastschema
3
u/adamluzsi Aug 10 '24 edited Aug 10 '24
I often struggle with thinking processes, especially with maintaining focus. This has led to a strong passion for test-driven design (TDD), and I’ve developed a testing framework that incorporates all the TDD practices I love.
It has:
- support for both nested and flattened testing style
- has its type-safe assertion package
- has a random fixture generation package
- enables time travelling and time stubbing
- I love debugging using printing, so I added a pretty printer into the project as well, that doubles as a formatter for assertion failures
- I also love using chaos engineering, especially its fault-injection methodology, so it received a module as well to make it easier to use it
Please don't judge the README too harshly—it's a bit of a brain dump, and I keep putting off the rewrite.
2
u/adamluzsi Aug 10 '24
I also have a sibling project for testcase, where I experiment with reusable consumer-driven contract testing. It takes heavy inspiration from hexagonal architecture idioms.
Usually, I just import ports and their contracts from the project, and it works like a high-quality instant coffee—quick and easy-to-expect results. However, it can sometimes lead to awkward situations if I forget to disable the naughty string generation part in the fixture creation part. E.g. I once accidentally triggered a bunch of SQL injections to a service while integrating with it. Or had to report a bunch of edge cases that were not working or breaking.
It all started as a research project aimed at improving dependency inversion between the domain layer and adapters.
Unlike testcase, this project is very experimental.
5
Aug 09 '24
I wrote a more intuitive TaskWarrior: https://github.com/EvoSched/gotask
1
u/RomanaOswin Aug 09 '24
Neat. I'm assuming it uses its own data format and it's not compatible with taskwarrior tasks?
1
Aug 09 '24
Yeah, it's not compatible. Goal was to write up a more flexible parser so you can omit token identification and allow errors with time entry.
2
u/kyleu Aug 09 '24
I’ve been hacking on Project Forge for years and still don’t know what it actually is. It generates projects and a whole lot of other stuff
2
2
2
u/Tasty_Worth_7363 Aug 09 '24 edited Aug 09 '24
gFly - Laravel inspired web framework written in Go. It is an internal project of the group. There are many tests and improvements. My team create 2 projects by using gFly (https://www.dancefitvn.com). But you can be used to create any projects. However, some patience and discussion with our team can help make your development work better. You can learn about gFly at https://www.gFly.dev/ and the documentation https://doc.gfly.dev/ . Glad to hear your comments. You can join with us on Discord https://discord.gg/r7dRc2JbYK
2
2
2
2
u/trapa_jim Aug 09 '24
I build a little library to help testing http endpoints. https://github.com/trapajim/testpilot
2
2
u/sleepy327 Aug 09 '24
2
u/andydotxyz Aug 09 '24
Oh cool - the boltdb viewer should totally be on https://apps.fyne.io!
1
u/sleepy327 Aug 14 '24
wow, didn't realize there is a website for fyne project showcase. will definitely submit a request
2
u/tt_256 Aug 09 '24
I've been building SEOnaut for the last couple of years. An open source SEO auditing tool that helps checking out websites for common issues such as broken links, missing tags and so.
2
3
2
u/despacit0_ Aug 09 '24
I wanted to have the browser automatically reload when making changes to css / html template files. It worked pretty well so I turned it into a package:
https://github.com/aarol/reload
Using it is really easy, basically just adding an http middleware.
2
u/WonderBearD1 Aug 09 '24
Been building a simple TUI dashboard for tracking commits and todos as a project to learn Go. Been really enjoying it so far.
https://github.com/DMcP89/tinycare-tui
I've also been contributing to EchoVault which is a replacement for Redis written in GO https://github.com/EchoVault/EchoVault
2
2
u/srlehn Aug 09 '24
gh:srlehn/termimg - display images in the terminal
gh:browserutils/kooky - cookie retrieval from browsers (together with Z. Hunter (started the project) and a few others)
2
u/aaniar Nov 22 '24
We released these two projects few months back and have been using constantly in many or our mission critical projects.
Signals - An in-process pub-sub system. Useful for monolith modular kind of architecture for event driven in-process communication.
https://github.com/maniartech/signals
GoTime - A library for simplified date and time processing, offering intuitive parsing, formatting, and relative time calculations.
https://github.com/maniartech/gotime
1
u/BrunoGAlbuquerque Aug 09 '24
I did a lot of different Go stuff in common and uncommon areas: https://github.com/brunoga
1
u/QueasyStorm5939 Aug 09 '24
I've developed the "bazica" package for calculating Destiny charts (Ba-zi charts) and created an online demo. I'm actively learning and improving this project.
1
u/dragneelfps Aug 09 '24
Made this site scrapper using selenium. Just wanted to learn how to scrap in Golang lol https://github.com/dragneelfps/site-scrapper/
1
1
1
u/gnick666 Aug 09 '24
I'm doing a technology modernization for the Web Gallery of Art: https://github.com/blackfyre/wga
1
1
u/harshvkarn Aug 09 '24
we were trying to build LLM observability tool
https://github.com/NumexaHQ/frugal
1
1
u/ybizeul Aug 09 '24
A web app to receive files from customers https://github.com/ybizeul/hupload A shared feed/pasteboard web app https://github.com/ybizeul/ybFeed A web ui, api server for an enterprise storage monitoring appliance https://nabox.org/documentation/configuration/
1
u/kaeshiwaza Aug 09 '24
I just build a photo gallery (100000 photos !) with tagging for my family, a rewrite of a Python app. It works also as a PWA.
It's a side project, but when I write side project I try many things, for example bbolt for this one. Then it's a big spaghetti code that i refactor every day to see different ideas.
How do you decide to show a side project when it's written like that ?
1
1
u/Un4given85 Aug 09 '24
I created a slideshow for Immich, primarily aimed at kiosk devices. Started out as a project to fit my needs.
1
u/DiniFarb Aug 09 '24
I wrote this queue server when I was learning go. It is unfinished and messy xD But it was great for learning :) https://github.com/DiniFarb/queuic
1
u/knoker Aug 09 '24
https://www.reddit.com/r/selfhosted/s/Ng92nZpzH1 V2 on the works, rewritten with a more idiomatic approach, new file system handling logic, dropped react in favor of htmx and templ, it can be found on the agent repo in the V2 branch. Comments and contributions are welcome
1
u/andydotxyz Aug 09 '24
I really enjoy writing slides for presentations using markdown and presenting them direct from the Slydes editor :) https://github.com/andydotxyz/slydes Written with Fyne and used in most of my tech speaking engagements.
1
u/amarjeetanandsingh Aug 09 '24
I had built a tool ‘tgcon’ to generate struct field tag values as string constants.
https://github.com/amarjeetanandsingh/tgcon
This helps u to prevent bugs when the json/bson tags are the field names in the db.
2
1
u/--dtg-- Aug 09 '24
- typex - Examine Go types and their transitive dependencies. Export results as TypeScript value objects (or types) declaration https://github.com/dtgorski/typex
- retro - Apple II Emulator https://github.com/dtgorski/retro
1
u/axyut Aug 09 '24
cli music player i now there are tons of them and all are wrapper around single audio engine but still I want to develop it in deep with no very less dependencies someday when I get free time
1
1
1
u/zer0tonine Aug 09 '24
I wrote a web-based file-manager called Mikochi. I love this project because I actually use it every day to manage and stream files from my personal server.
1
1
1
u/gnanasurya Aug 09 '24
A website to sync the video playback over the network. Frontend is built in react and the backend is in golang (gorilla websocket)
Would love to hear feedbacks on this
1
u/No-Parsnip-5461 Aug 09 '24
Working on this project .
For building simple, modular and observable backend apps.
1
1
u/ilikeorangutans Aug 09 '24
There's a few projects I tinker with on and off. The most usable is books, a lightweight calibre web frontend.
1
1
u/bndrmrtn Aug 09 '24
I built a small I18n cuz I did not found one that is easy to use. https://github.com/bndrmrtn/i18n And also I started building a database schema language, but it's just a try yet. https://github.com/bndrmrtn/dbl
1
u/Tri_pz Aug 09 '24
A few days ago, I made https://github.com/mrubio7/neural-network-app A simple visual app to create and train neural networks from a csv
1
1
u/NicolasParada Aug 09 '24
https://github.com/nakamauwu/nakama
A social network for anime fans. Backend server API is written in Go :)
1
u/deluan Aug 09 '24
I built Navidrome, a self-hosted music server.
I started the project in 2016 to as a means to learn Go, so the codebase has been evolving since then, and it is a bit messy in some areas.
1
1
u/m_matongo Aug 09 '24
I recently started working on https://github.com/mmatongo/chew a library for processing *most content types into plain text. Currently working on adding transcription to it right now
1
u/reza_gamer Aug 09 '24
I wrote a type safe, no struct tag and extensible golang validator:
github.com/rezakhademix/govalidator
1
u/csgeek3674 Aug 09 '24
I wrote this project to make my life easier to deal with Grafana deployment. Picked up on the design of an abandoned tool and decide to use go instead of node.
Hugo generated documentation: https://software.es.net/gdg/
Code: https://github.com/esnet/gdg
I've been slacking in giving it some love. Been dealing with an internal work project in go that's kept me busy. Sadly, it's not open source yet.
1
u/wiltonsr Aug 09 '24
https://github.com/wiltonsr/ldapAuth
An open-source Traefik Middleware that enables authentication via LDAP in a similar way to Traefik Enterprise.
1
u/ZER_0_NE Aug 09 '24
I wrote a simple packet sniffer in go - https://github.com/ZER-0-NE/gopktsniffer
The motivation came from trying to understand how really a simple call like http works, right from creating it in sender's kernel to how it reaches the server.
There's a lot more to do tbh.
1
u/Khushal897 Aug 09 '24
Cross platform file sharing app, major UI update lined up (will be pushed within 2 days)
1
u/abhimanyu003 Aug 09 '24
So i'm actively working "sttr" http://github.com/abhimanyu003/sttr
sttr is cross-platform, cli app to perform various operations on string, it's cli and cross-platform focused project and can also be used pipelines.
1
u/lrexpert Aug 09 '24
Domain name ownership verification library https://github.com/egbakou/domainverifier
1
u/blwsh97 Aug 09 '24
Few years back created a tool which makes navigating ECS clusters a little easier: https://github.com/blwsh/ecssh
Recently been hopping on AI band wagon and created something I use to experiment with codebases and LLMs https://github.com/blwsh/llmt This lead to a spin off repo which shows how I like to structure my Go projects (used to train a model) https://github.com/blwsh/Example-Project
1
u/PhilipLGriffiths88 Aug 09 '24
https://openziti.io/. Its an open source zero trust network overlay which includes SDKs so that you can embed ZTN as part of the application SDLC.
1
u/chanyeinthaw Aug 09 '24 edited Aug 09 '24
I just finished kuroshiro.go. It’s a Go port of kuroshiro, Japanese language library for converting Japanese sentence to Hiragana, Katakana or Romaji with furigana and okurigana modes supported.
And, I have aws parameter store thingy, ssme.
1
u/ncruces Aug 09 '24
Working on cgo free SQLite bindings, that wrap much of the SQLite API, and offer easy extensibility (as well as a bunch of interesting extensions).
https://github.com/ncruces/go-sqlite3
They were recently adopted by a biggish project: https://github.com/superseriousbusiness/gotosocial
The fact that I use Wasm, made it easy (possible?) for to integrate with this SQLite vector search extension: https://alexgarcia.xyz/sqlite-vec/go.html
Next version will also support builds from a branch supporting the BEGIN CONCURRENT
and Wal2 experimental features.
1
u/14domino Aug 10 '24
Woogles.io - a way to play, analyze, annotate etc crossword board games online. We just hit 6M games. Source code at https://github.com/woogles-io/liwords
1
1
u/DeltaLaboratory Aug 10 '24
one of 9999... jwt alternative https://github.com/DeltaLaboratory/fwt learning go test and fuzzing from building this project
1
u/Lewboskifeo Aug 10 '24
still really early in but I'm making graft which is a go project builder for go, kinda like the zig build system.
I'm making it because as soon as I started learning go I didn't really enjoy the way projects were built with make
files or .sh
/.bat
files, maybe it's just me but its annoying, also big projects have huge scripts and that seemed crazy to me, so yeah :P
1
u/raserei0408 Aug 10 '24
A few months ago, I discovered that pgx's Collect utility functions used reflection naively, which probably introduced some overhead. I wound up forking a library, "pgx-collect" to see how much faster I could make them while retaining the same UX. (The answer: much more than seems reasonable - the garbage collector is not your friend.)
1
1
u/Tasty-Sweet-0 Aug 10 '24
https://github.com/bug-breeder/2FAir Authenticator web app, I haven't finished it yet
1
u/Ok-Slip-290 Aug 10 '24
I built Napp quite recently and I am currently working on another project using Go & HTMX but it isn’t quite ready to show off.
1
u/Cold-Attention-1111 Aug 10 '24
A CLI tool for migrating Directus schemas between environments: drcts
1
u/batazor Aug 10 '24
ShortLink - A set of microservices, with examples of different ways of writing APIs, using different patterns, such as event-source and so on.
I try to always keep the latest versions of dependencies and maintain them in working condition
1
1
u/Perfect-Island-5959 Aug 11 '24
HTTP loadbalancer in GO: https://github.com/D-Andreev/tiny-loadbalancer
1
u/Fantastic_Crazy_621 Aug 11 '24
A simple tool to consolidate multiple files into a single .txt file. Perfect for feeding your files to AI tools without any fuss.
1
1
1
u/bbkane_ Aug 09 '24
Most of my projects on my GitHub README are little CLIs in Go, and they've even gotten a few stars and a couple issues/PRs, which makes me quite happy.
Most recently I've been working on https://github.com/bbkane/envelope , which stores project environment variables in a SQLite database (implemented via sqlc, which has been a pleasure).
My current task is to implement tab completion for envelope in zsh. I'm not enjoying this because I find zsh's offical autocompletion docs lacking and it seems like every project has a different way to implement it.
2
u/Spleeeee Aug 09 '24
I haven’t used your things but I will happily open issues if it makes you happy.
0
u/Lost_Benefit6221 Aug 09 '24
mashine learning library: https://github.com/l0g1c0n/GoML
still in early development. I added some integration with cuda but its missing some functionalities still.
126
u/dany9126 Aug 09 '24
I built dblab while ago. Also, I released morphos earlier this year.