Go development
Fast, simple, and easy-to-operate services in Go — from APIs and background jobs to low-level protocol libraries.

Tools and frameworks we use
- Go
- Fiber
- GORM
- PostgreSQL
- Cron jobs
- Docker Compose
- Caddy
- APDU and NFC
- CBOR
- secp256k1
- lnd
Go development for simple, robust services
Go is designed for services that should be easy to read, quick to build, and simple to operate. A single binary, few dependencies, and good support for concurrency make the language well suited to APIs and background jobs that need to run reliably over time. We have built services in Go with Fiber, GORM, and PostgreSQL, and workers that fetch and aggregate market data on a schedule.
When we recommend Go — and when Rust or .NET is a better fit
Go is our first choice when a service should be small, start quickly, and be simple to operate: APIs of moderate complexity, workers that fetch data on a schedule, command-line tools, and network-level libraries. Compilation is fast, the binary is self-contained, and the code is easy for new developers to pick up.
There are still good reasons to choose something else:
- Rust when correctness and control over memory matter most, or when the best libraries live there. Canary is written in Rust, where BDK and rust-bitcoin are well established.
- .NET when the team already has a large C# codebase, shared libraries, and operations built around Azure. A single Go service in an all-.NET environment rarely gains enough to justify an extra language.
- Rich domain models with a lot of business logic can become verbose in Go. There, languages with a more expressive type system are often the better tool.
Within Go we stay close to the standard library, and use Fiber and GORM where they genuinely save time.
Protocols, NFC, and Lightning in Go
Go also works well close to hardware and protocols. We wrote tapcards, an open-source Go library for the Coinkite Tap Cards protocol with a focus on Satscard. The library talks to the card over NFC using APDU commands, encodes messages in CBOR, and uses secp256k1 for cryptography. We have also contributed to the Lightning ecosystem, including wallet work based on lnd.
Typical engagements
APIs and backend services
We build APIs in Go with Fiber and PostgreSQL, with a clear structure and few dependencies that keep the service easy to operate.
Background jobs and data flows
We build workers and scheduled jobs that fetch, aggregate, and store data — for example market data from several sources.
Protocols and hardware
We implement low-level protocols in Go, such as communicating with NFC cards over APDU with CBOR encoding and cryptography.
Relevant experience
Projects and open-source work where the technology has been used in practice.
Open source
- tapcards
A Go implementation of the Coinkite Tap Cards NFC protocol, focused on Satscard.
Frequently asked questions
When do you recommend Go?
Go suits services that need to be fast, use few resources, and be easy to deploy as a single binary. It is a good choice for APIs, background jobs, and network-level tools.
How do you run Go services in production?
Often in Docker with Docker Compose behind Caddy, or on a cloud platform such as Azure or Fly.io. We choose the simplest setup that covers the need.
Do you have experience with Go in the Bitcoin and Lightning ecosystem?
Yes. We have written an open-source Go library for the Coinkite Satscard and contributed to wallet work based on lnd.
How quickly can you start?
Get in touch with a short description of what you need, and we will respond with an assessment of scope and when we can contribute.
Related technologies
Part of the service: Backend development and integrations
TypeScript and Node.js
Backend services, integrations, and internal tools in TypeScript and Node.js, from REST APIs to build and release automation.
Read more.NET and C#
APIs, microservices, and integrations in C# and .NET, from new services to modernising older codebases to .NET 10.
Read moreRust development
Rust backends with Axum and Tokio for long-running, security-sensitive services, with tests, Docker, and packaging for self-hosting.
Read moreNeed help with Go?
Tell us briefly about the product, the team, or the system. We will respond with a practical suggestion for the next step — a complete delivery, senior capacity in your team, or technical advice.
- Phone
- +47 920 50 946
- Location
- Oslo, Norway
