Skip to content

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

20 Commits

Folders and files

Repository files navigation

Go Starter Projects

A collection of backend projects built in Go while transitioning from Node.js. Each project is a miniature version of a real production tool built from scratch to understand how things actually work under the hood.


Projects

A command-line tool that hammers any HTTP endpoint with configurable concurrency and rate limiting, then outputs a latency report with p50/p95/p99 percentiles. A baby version of k6 or Apache Bench.

→ README


Tails a log file and streams live entries to a browser dashboard over WebSockets, colour coded by severity. A miniature Datadog.

→ README


An HTTP-accessible key-value store with TTL expiry and automatic background eviction. Set a key with an expiry time and it disappears automatically when the TTL runs out. A miniature Redis.

→ README


A job queue where tasks have priority levels — higher priority jobs are processed first regardless of submission order. Supports retry with exponential backoff and a dead letter queue for permanently failed jobs. A miniature Sidekiq.

→ README


A URL shortener with a real-time async analytics pipeline. The redirect is instant — click events are captured and enriched (device, browser, OS) in the background without adding any latency. Includes IP-based rate limiting and a timeline endpoint showing clicks grouped by hour.

→ README


Why Go

Coming from a Node.js/Express background, I built these projects to understand Go's concurrency model by actually using it. The biggest shift was goroutines — unlike Node's single-threaded event loop, Go achieves real parallelism, which changes how you think about backend architecture at scale.


Author

Zainab Wahab — Backend Engineer (Node.js / Go)

GitHub · LinkedIn

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages