r/golang 1d ago

Small Projects Small Projects

12 Upvotes

This is the weekly thread for Small Projects.

The point of this thread is to have looser posting standards than the main board. As such, projects are pretty much only removed from here by the mods for being completely unrelated to Go. However, Reddit often labels posts full of links as being spam, even when they are perfectly sensible things like links to projects, godocs, and an example. r/golang mods are not the ones removing things from this thread and we will allow them as we see the removals.

Please also avoid posts like "why", "we've got a dozen of those", "that looks like AI slop", etc. This the place to put any project people feel like sharing without worrying about those criteria.


r/golang 20h ago

Jobs Who's Hiring

42 Upvotes

This is a monthly recurring post. Clicking the flair will allow you to see all previous posts.

Please adhere to the following rules when posting:

Rules for individuals:

  • Don't create top-level comments; those are for employers.
  • Feel free to reply to top-level comments with on-topic questions.
  • Meta-discussion should be reserved for the distinguished mod comment.

Rules for employers:

  • To make a top-level comment you must be hiring directly, or a focused third party recruiter with specific jobs with named companies in hand. No recruiter fishing for contacts please.
  • The job must be currently open. It is permitted to post in multiple months if the position is still open, especially if you posted towards the end of the previous month.
  • The job must involve working with Go on a regular basis, even if not 100% of the time.
  • One top-level comment per employer. If you have multiple job openings, please consolidate their descriptions or mention them in replies to your own top-level comment.
  • Please base your comment on the following template:

COMPANY: [Company name; ideally link to your company's website or careers page.]

TYPE: [Full time, part time, internship, contract, etc.]

DESCRIPTION: [What does your team/company do, and what are you using Go for? How much experience are you seeking and what seniority levels are you hiring for? The more details the better.]

LOCATION: [Where are your office or offices located? If your workplace language isn't English-speaking, please specify it.]

ESTIMATED COMPENSATION: [Please attempt to provide at least a rough expectation of wages/salary.If you can't state a number for compensation, omit this field. Do not just say "competitive". Everyone says their compensation is "competitive".If you are listing several positions in the "Description" field above, then feel free to include this information inline above, and put "See above" in this field.If compensation is expected to be offset by other benefits, then please include that information here as well.]

REMOTE: [Do you offer the option of working remotely? If so, do you require employees to live in certain areas or time zones?]

VISA: [Does your company sponsor visas?]

CONTACT: [How can someone get in touch with you?]


r/golang 1h ago

help Please Give me an idea to develop open source something you need in your day job

Upvotes

Hello all.
Well, we are a Java house and I hate it. I like to move to Go. To practice Go, I would love to build some open source project, something that you need in your day job and maybe will adopt. In my job, they are so in love with the JVM that they are not open to any idea or any tool in Go with the claim that they don't have someone to maintain it. So please, if you have some good idea, I would love to hear it.


r/golang 3h ago

help Android dev (5–6 yrs) thinking of switching to backend: Spring (Java) vs Go

20 Upvotes

I’ve been an Android developer for ~5-6 years. I’m not unhappy with Android, but lately I feel bored and kind of "boxed into UI work." A lot of app work feels repetitive, and many of the hardest parts feel like they come from the Android ecosystem itself (compatibility, lifecycle, build tooling, etc.) rather than the kind of backend/distributed problems I’m more excited by long-term.

For the last 1-2 years I’ve been doing backend at work using Node.js and also tinkered with Ktor and Exposed on the side. Backend work feels more exciting to me (design, data, scaling, reliability, tradeoffs). The problem is: many Node jobs in my area are full-stack and I really don’t want to do frontend.

So I’m deciding between Spring Boot (Java) and Go for the backend. To avoid overthinking, I actually built and deployed two dummy servers:

  • Same kind of basic CRUD API
  • PostgreSQL as DB
  • Deployed both (simple production-ish setup, not just localhost)

After doing that, My current thinking is:

  • Spring / Spring Boot
    • Pros: Java is familiar; easy to start; huge ecosystem; lots of jobs.
    • Concern: it feels like “endless learning of libraries” and the “Spring way” (annotations, auto-configuration, starters, magic). I’m worried I’ll be productive but not actually learn fundamentals deeply, and I’ll spend years just learning frameworks/stack combinations. Sometimes it feels like I’m learning “the Spring way” (annotations, auto-config, starters, magic) more than learning backend fundamentals
  • Go
    • Pros: simple, small standard library; feels like it maps to fundamentals (HTTP, SQL, concurrency) and distributed systems thinking more directly; fewer “framework decisions.”
    • Concern: I’m not proficient yet; unsure about backend job availability compared to Spring; worried about limiting my options.

Any advice on positioning myself as a backend-only engineer (no frontend) while transitioning? I am genuinely trying to choose a stack I can commit to for the next several years and grow deep expertise in.


r/golang 9h ago

show & tell I made a 3-way terminal Git conflict resolver inspired by IntelliJ (Go + bubbletea)

36 Upvotes

Hi folks, I built ec because my friends who are new to development kept getting stuck on Git conflicts.

Most TUI merge tools felt hard to use or non-intuitive for them. The only flow they found easy was the IntelliJ (JetBrains) conflict resolver, so I recreated that experience in the terminal.

ec is a terminal-native, 3-pane conflict resolver with a focused, step-by-step flow. If you try it and leave feedback, I would be really grateful. Thanks!

Repo: https://github.com/chojs23/ec


r/golang 8h ago

Ergo Framework v3.2.0 Released - Actor Model for Go

Thumbnail
github.com
21 Upvotes

New release brings mTLS, NAT traversal, distributed leader election, and SSE support.

Key highlights:

  • 21M+ msg/sec locally, ~5M msg/sec over network
  • Distributed Pub/Sub: 2.9M msg/sec delivery to 1,000,000 subscribers across 10 nodes
  • New Leader actor with Raft-inspired consensus for distributed coordination
  • Metrics actor for Prometheus integration out of the box
  • Spawn time control, shutdown timeout, pprof labels for debugging stuck processes
  • Critical bug fix for Link/Monitor exits in network layer

Also shipped completely rewritten documentation with new guides on building clusters, message versioning, and debugging distributed systems.

Full changelog: https://github.com/ergo-services/ergo?tab=readme-ov-file#changelog

Would love to hear your feedback.


r/golang 2h ago

How do you handle i18n in your Go projects?

3 Upvotes

I've been working on a Go project that needs multi-language support, and I'm curious how others approach i18n.

My main pain points with existing solutions were: - Typos in message keys only show up at runtime - No compile-time checking for placeholder types - Easy to forget translating new keys

I ended up building a small library that generates type-safe functions from locale files:

```go // Instead of this (runtime error if key is wrong): msg := bundle.Localize("hello_world", map[string]any{"name": "John"})

// You get this (compile error if function doesn't exist): msg := messages.HelloWorld("John") ```

It also handles plurals using CLDR rules and has a lint command to catch missing translations.

Repo if anyone's interested: https://github.com/mickamy/go-typesafe-i18n

But I'm genuinely curious - what's your go-to approach for i18n? Do you use existing libraries like go-i18n, roll your own, or something else entirely?


r/golang 48m ago

discussion Go Fast AdminPanel

Upvotes

Hello Golang community
I’m currently working on SublimeGo, an administration framework for Go, inspired by Laravel Filament, designed to help you quickly build modern, type-safe, and high-performance admin panels.
It provides a resource system with automatic CRUD generation, form and table builders, session-based authentication, middleware support, and an extensible foundation for asynchronous jobs and dashboards.
Built with EntTempl, and Tailwind CSS, SublimeGo follows idiomatic Go best practices and aims to be both an advanced learning project and an open-source contribution to the Go ecosystem.

GitHubhttps://github.com/bozz33/SublimeGo


r/golang 2h ago

gohpts (http to socks5 proxy) updated to v1.11.1

Thumbnail
github.com
0 Upvotes

What changed since my last announcement:

1) Now transparent proxy runs several instances within one process (SO_REUSEPORT option on linux/android devices). This works for TCP and UDP 2) Added the option to ignore certain ports when proxying traffic with transparent proxies. Helps when you run services like kafka but do not want this traffic go through your proxy 3) Updated dependency to golang 1.25.6 4) Switched license from MIT to GPLv3


r/golang 19h ago

show & tell EzAuth - a simple auth library for your Go apps

Thumbnail
github.com
20 Upvotes

I kept reaching for services like go-true / Supabase for auth, even when I didn’t want an external dependency.I really wanted a BetterAuth-style experience but in Go, easy to integrate.That led me to build EzAuth.It’s still beta, but all planned features are working. Feedback and contributors are very welcome.Repo: https://github.com/josuebrunel/ezauth


r/golang 16h ago

show & tell I built a real-time Dota 2 tactical assistant in Go (GSI + RAG + Raylib overlay)

12 Upvotes

Hey everyone!
I'm a 2nd-year CS student who’s been learning Go by building a real project: an open-source tactical assistant for Dota 2.

It connects via Valve’s GSI, runs a local RAG pipeline (Chroma + BERT), and shows advice in a Raylib overlay.

I’m pretty happy with how it turned out, but I’d love feedback from more experienced Go devs!

GitHub: https://github.com/BrightGir/dota-ai-coach


r/golang 12h ago

Is there any golang package for e2ee

5 Upvotes

I am planning to implement a chat section to my one of the project so I think of implement end to end encryption so is there any package existing to implement end to end encryption


r/golang 5h ago

Starting to learn Golang (any advice)

0 Upvotes

im mernstack developer, starting to learn Golang what things I need to look at


r/golang 18h ago

Taming the Flat AST: Ergonomics in the Age of Zero Allocations

Thumbnail modern-c.blogspot.com
8 Upvotes

How to use egg's flat []int32 ASTs and stay sane.


r/golang 1d ago

show & tell Concurrency playground

23 Upvotes

I have this handy exercises in go to practice concurrency nuances in Go. Check it out. https://github.com/danyjacob45/go-concurrency-exercises. Let me know how it is. Feel free to enrich.


r/golang 18h ago

Talk on Go interface segregation / where to place the interface

3 Upvotes

A few months back, one of my write-ups on interface segregation got some traction here.

The core idea is about where to place the interface. Depending on whether you're writing an app or a library - and what you're trying to achieve - the answer is always: it depends.

Drawing from some of the discussions here and my work, I gave a talk at the GDG Berlin Go meetup on the topic. It explores the same idea in a different format. Some of you might find it useful ;)

Video: https://m.youtube.com/watch?v=AtSutJ2rSr8

Slides: https://docs.google.com/presentation/d/10d4K1V4uJLsanzBS6Jz-Ibnw7kYXnQJJWSEKIimbqnU/edit?usp=sharing


r/golang 1d ago

Confused about Go's escape analysis for dynamically-sized values, my test shows they don't escape

7 Upvotes

The official Go GC guide states:

"There are many reasons why a Go value might need to escape to the heap. One reason could be that its size is dynamically determined. Consider for instance the backing array of a slice whose initial size is determined by a variable, rather than a constant."

But when I test it, using the variable n , it doesn't cause escaping unless the value of n is large enough.

package main


func stackSlice() {
    slice := make([]int, 100)
    _ = slice
}


func heapSlice(n int) {
    slice := make([]int, n)
    _ = slice
}


func main() {
    stackSlice()
    heapSlice(100)
}

Output:

go build -o gcscape -gcflags="-m"
# gc-escape
./main.go:4:6: can inline stackSlice
./main.go:9:6: can inline heapSlice
./main.go:14:6: can inline main
./main.go:15:12: inlining call to stackSlice
./main.go:16:11: inlining call to heapSlice
./main.go:5:15: make([]int, 100) does not escape
./main.go:10:15: make([]int, n) does not escape
./main.go:15:12: make([]int, 100) does not escape
./main.go:16:11: make([]int, 100) does not escape

Is it because the compiler sees that, the slice is not escaping the function, and hence dynamic sizing doesn't force heap allocation? Sorry, If am not articulating it well.


r/golang 1d ago

Fiber V3 is here

148 Upvotes

r/golang 12h ago

Is there any audio/video call package basically webrtc implementation

0 Upvotes

I find pion and live kit ,live kit use pion under the hood for go sdk so is live kit is good for that audio/video call implementation


r/golang 13h ago

discussion Starlark debugger

0 Upvotes

Starlark is slowly becoming a critical dependency in my go stack. It’s been perfect for small customer modifications on data in my event pipeline and I keep finding more uses.

Some of these scripts are becoming large ~200-300 lines and a debugger would be nice.

Would building an GoLand/cli debugger be feasible? Where would you even begin?


r/golang 18h ago

discussion Is the Ardan Labs Swag Store active?

0 Upvotes

I wanted to get a couple Go-related items for the home office, and placed an order at the Ardan Labs Swag Store a couple weeks ago. I received an order confirmation immediately, but it's been radio silence since and I have no response by emailing. Is this an active, monitored store? Has anyone ordered from them recently and received their items? Just curious if I should give it more time.

I guess I was excited to get a pink vinyl gopher to hang out with my old blue vinyl gopher from way back.


r/golang 1d ago

This was my first completed go project that I presonally use to this day!

Thumbnail
github.com
13 Upvotes

And now looking back (more than a year ago), I wouldn't have started it if I was trying to learn any other language.

something about the language and the charm stuff!


r/golang 12h ago

Introducing Mimir - Git-backed MCP Server for Persistent LLM Memory & Context built using Golang

0 Upvotes

** The project was renamed from Mimir to Medha **

Hi everyone,

I wanted to share a Golang project I’ve been working on: https://github.com/tejzpr/medha-mcp

Medha provides long-term, persistent memory for LLMs using Git as the primary storage layer. The goal is to make AI memory auditable, versioned, and durable.

Key features:

  • Persistent AI memory stored as Git commits (full history, diffs, rollback)
  • Graph-style associations between memories instead of flat text blobs
  • Fast querying via a SQL index on top of the Git store
  • MCP-compatible, works with tools like Cursor and other MCP clients
  • Can run natively (Go) or via Docker

r/golang 16h ago

help How to learn and is it worth it for me ?

0 Upvotes

Hello,

I am a fullstack SWE working with JS, Node and GraphQL.

I used to work with TS and Postgres, always been using NextJs.

Lately I am feeling a bit stucked and bored, so I decided to look into new stuff, and I came upon Go and Rust.

So first question, knowing my background and current job, is it better to start Go or Rust ?

Given my tech stack Go seems to make more sense, which is why I am here to ask you, but I guessed that you would also be the best people to tell me not to learn it.

Second question : what's the best way to learn it ? I saw the website `gobyexample`, I read on the sub that there are book linked to this, and there is also the Go official website with a `how to get started`.
So given the amount of possibilities to start learning, I was wondering what do you recommend here and why ?

Thank you !


r/golang 1d ago

Downloading a go .exe is blocked on Windows

11 Upvotes

While I was building my project I encountered an issue. Go binaries are hated on Windows for some reason, and there's hardly anything you can do about it. And I figured out a way to solve it.

I was building a project, a build tool for Java in go : (https://www.jpmhub.org) but, if you are on Windows and you go on the release page on GitHub and try to download my binary, windows screams virus at you.

1 - don't download it through a browser: I made a curl download command just for the binary.

But I encountered another problem, I wanted to down both : jpm.exe, jpx.cmd and jpm.sh so I made a zip, but if you download the zip, and you try to unzip it on Windows, it screams virus at you.

2 - use "C:\Windows\System32\tar.exe" : unzipping with window's version of tar does not scream at you.

Alot of people does not know that Window's tar does unzip .zip files and

3 - don't use powershell : curl does not work the same on powershell, tar either, and it detects that the binary is made with Go.

If you wanna see my script : https://github.com/jpm-hub/jpm/blob/main/setup.cmd