Skip to content
View samber's full-sized avatar
👋
👋

Sponsors

@mralves
@theopenlane
@sdaf47
@matoszz
@Artmann-Technologies
@pthm
@akkaraponph
@phith0n
@roofimon
@BetterStackHQ
@dash0hq
@Vito-castai

Organizations

@Kordam

Block or report samber

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
samber/README.md

Software Engineer · Go Open-Sourcer · GenAI Community Leader · Hackathon Organizer

📍 Nantes, France | 🌐 samuel-berthe.fr | 📝 Substack | 🐦 @samuelberthe | 🦋 @samber.bsky.social | 💼 LinkedIn

image

Hi. I'm Samuel. I write Go libraries. It started as a hobby, turned into a side project, and is now my attempt at making open source a full-time job. The jury is still out. The coffee budget is not.

It began the usual way: I needed something at work that didn't exist, built it, and thought "someone else probably needs this too." That pattern never stopped. The most well-known result is lo, a utility library built on Go generics. It's now used in production at companies of all sizes, such as RedHat, VMware, Tencent, Bytedance, Grafana, and many others.

The community around these projects is overwhelmingly kind, sharp, and generous. Yes, even the occasional keyboard warrior ready to die on a typo 🙃. And I'm grateful for every single one of you. 💖

The ecosystem kept growing from there: monads, dependency injection, caching, structured errors, and 35+ log/slog handlers. If your stack uses Terraform, Kubernetes, the Grafana stack, apps you've definitely opened today (if you're Chinese), or a few places you'd rather not think about 😅 #pr0n — there's a fair chance my code is already quietly running somewhere.

On the community side: I started the Generative AI meetup in Nantes (Fr) from scratch: no audience, no budget, no certainty anyone would show up. It became the largest GenAI meetup in France 🇫🇷. I also run hackathons, speak at conferences, and write on Substack.

If your team ships with any of my libraries and you want to help me keep doing this, sponsoring on GitHub goes a long way. No SLA included, but bugs get fixed with genuine enthusiasm.

My lifetime goal? git push --force into a satellite. Just kidding. Well... maybe not entirely.


The Go Toolkit

Turns out Go generics unlock a lot. I'm still finding out how much.

LibraryWhat it does
🔧 loLodash-style helpers for Go: Map, Filter, Reduce, and 90+ more
🌀 moMonads for Go: Option, Result, Either, Future
⚙️ doDependency injection with generics for Go
🌊 roReactive streams & event-driven programming for Go

Be aware, 22 letters left for my next Go projects. Plenty of runway. 😂😂😂

At this pace I'll own the entire alphabet before Go drops GOPATH from the docs.


The Go slog Ecosystem

Go 1.21 introduced log/slog as the standard structured logger. I built 35+ handlers so you only configure slog once and route logs anywhere:

At some point "just one more handler" stopped being a joke. When you have 1, the next 42 come effortlessly.

Core

ProjectDescription
🔀 slog-multiFanout, pipeline, routing, and failover between multiple handlers
🎨 slog-formatterAttribute formatting and transformation
🎲 slog-samplingLog sampling policies to reduce high-volume noise
🃏 slog-mockMock handler for unit testing

HTTP middlewareslog-gin · slog-echo · slog-fiber · slog-chi · slog-http

Monitoring & observabilityslog-logstash · slog-syslog · slog-fluentd · slog-loki · slog-datadog · slog-sentry · slog-otel · slog-graylog · slog-quickwit · slog-rollbar · slog-betterstack

Notificationsslog-slack · slog-telegram · slog-webhook · slog-mattermost · slog-microsoft-teams

Messaging & streamingslog-kafka · slog-nats · slog-channel · slog-parquet

Adaptersslog-zap · slog-zerolog · slog-logrus


Go Utilities

The stuff that didn't fit anywhere else but was too useful to delete.

ProjectDescription
💥 oopsErrors with context, stack traces, and structured metadata
🔥 hotIn-memory cache: LRU, LFU, TinyLFU, W-TinyLFU, ARC, 2Q, S3FIFO, SIEVE, FIFO, N-random; TTL, sharding
🕸️ go-mod-graphWeb-based Go module dependency graph visualizer
🐰 go-amqp-pubsubResilient pub/sub framework for RabbitMQ, auto-reconnects and binds on network failure
🔁 go-singleflightxx/sync/singleflight with generics and an extended API
📦 go-batchifyGroup and deduplicate concurrent tasks to reduce downstream load
🔤 go-type-to-stringExtract a string representation of any Go type
📏 go-metered-ioDrop-in io.Reader/io.Writer that tracks total bytes transferred
🔌 go-tcp-poolTCP connection pool with auto-reconnect as a net.Conn drop-in
📊 go-psiLinux Pressure Stall Information (PSI) reader and starvation notifier
🔍 go-quickwitGo ingestion client for Quickwit search engine
🛡️ go-safe-csv-writerencoding/csv fork that prevents CSV injection and data exfiltration
📦 go-pkggodev-clientTyped Go client for the pkg.go.dev API

Claude Code / AI Tooling

AI-native tooling built by someone who spends way too much time inside the tool. You know... dopamine...

ProjectDescription
🛠️ ccClaude Code toolchain and marketplace
cc-caffeineKeep Claude Code alive while commuting, prevents laptop sleep
🧠 cc-skillsReusable AI agent skills for marketing and engineering
🐹 cc-skills-golangAI agent skills purpose-built for production Go projects
🤖 go-playground-mcpMCP server for Go Playground, run and share Go code from your AI assistant
🛡️ the-great-gpt-firewallCurated list of sites blocking AI crawlers via robots.txt
🧠 awesome-ai-nativeCurated list of AI-native tools where the LLM is the product itself
🔢 tiktoken-cliCount LLM tokens in files and directories from the terminal
📊 vscode-token-counterVS Code extension showing live token counts in the status bar
📊 godigCLI & MCP server for pkg.go.dev - replaces Context7 for Go projects

Awesome Collections

Lists of things so you don't have to ChatGPT them at 2am.

ProjectDescription
awesome-prometheus-alerts1.000 production-ready Prometheus alerting rules for 100 services
📊 awesome-olapCurated list of OLAP databases and analytical query engines
🫟 awesome-user-researchCurated list of tools for Product Managers and UX Researchers
🧠 awesome-ai-nativeCurated list of AI-native tools where the LLM is the product itself

Prometheus & Observability

If you can't measure it, you can't get paged on it at 3am.

Alert on everything. Sleep on nothing.

ProjectDescription
awesome-prometheus-alerts1.000 production-ready Prometheus alerting rules for 100 services
📊 prometheus-query-jsJavaScript client for the Prometheus HTTP query API
📈 chartjs-plugin-datasource-prometheusPrometheus datasource plugin for Chart.js
📤 promql-exporterPrometheus exporter that re-exposes PromQL query results as metrics (replacing federation and remote-write for niche use-cases)
🏓 hyperping-exporterPrometheus exporter for Hyperping uptime monitoring
☁️ clevercloud-exporterPrometheus exporter for Clever Cloud infrastructure metrics

Tools & Utilities

Random things? Maybe. Useless? Never.

ProjectDescription
📈 oss-kpiDashboard to track open-source project KPIs: stars, forks, downloads, and more
🧾 invoice-as-a-serviceGenerate professional PDF invoices from a single HTTP POST, with S3 upload
📝 headercheckLinter that checks and fixes required file headers, golangci-lint compatible
🔑 sync-ssh-keysSync server ~/.ssh/authorized_keys from GitHub/GitLab org membership
🔀 git-contrib-graphGit contribution graph rendered in the terminal

Writing & Talks

Occasionally I stop writing code long enough to write words about code, with live demo that goes exactly as planned.

Substack - I write about Go, open-source, and software engineering on Substack. Deep dives into performance engineering, library design, and lessons learned from maintaining high-traffic OSS projects.

Talks - Slides and resources from my conference talks and meetup presentations. Topics include generative AI, performance engineering, observability, Golang, and building open-source communities.

Generative AI meetup replays 🇫🇷 - When my camera does not crash in the middle of the talk.


🚀 Fuel My Work

All those green squares, and yet rent is still due every month.

My open-source libraries ship in production at companies of all sizes, maybe yours too. Sponsorship keeps the libraries maintained, documented, and evolving.

What your sponsorship funds
🐛 Bug fixes & security patchesRapid response to issues affecting production systems
📖 Documentation & examplesReal-world patterns, migration guides, and tutorials
🔬 New features & researchExploring what Go can do next
🌍 Community supportAnswering questions, reviewing PRs, mentoring contributors

Become a sponsor

💎 Corporate Sponsorship Tiers

Ideal for teams that depend on lo, mo, do, oops, or awesome-prometheus-alerts in production.

TierBenefit
☕️ Individual backersFuel the coffee machine
🥉 InsiderPrivate channel + early access + roadmap vote
🥈 SupporterLogo in sponsored repos (READMEs and websites)
🥇 PartnerLogo everywhere + priority issue response + co-marketing

Contact for partnership

🙏 Thank You, Sponsors

Pinned Loading

  1. loloPublic

    💥 A Lodash-style Go library based on Go 1.18+ Generics (map, filter, contains, find...)

    Go 21.4k 949

  2. dodoPublic

    ⚙️ A dependency injection toolkit based on Go 1.18+ Generics.

    Go 2.8k 110

  3. momoPublic

    🦄 Monads and popular FP abstractions, powered by Go 1.18+ Generics (Option, Result, Either...)

    Go 3.4k 119

  4. oopsoopsPublic

    🔥 Error handling library with context, assertion, stack trace and source fragments

    Go 978 39

  5. cc-skills-golangcc-skills-golangPublic

    🧑‍🎨 A collection of Golang agentic skills that works

    Go 2.9k 188

  6. awesome-prometheus-alertsawesome-prometheus-alertsPublic

    🚨 Collection of Prometheus alerting rules

    Astro 8.1k 1.2k