func main() { http.HandleFunc("/pickup", randomPickupHandler) http.ListenAndServe(":8080", nil) }
func randomPickupHandler(w http.ResponseWriter, r *http.Request) { rand.Seed(time.Now().UnixNano()) line := pickupLines[rand.Intn(len(pickupLines))] resp := PickupResponse{Line: line}
Run it:
package main import ( "encoding/json" "math/rand" "net/http" "time" )
Go makes building tiny APIs ridiculously fast. Try it, then expand it into something bigger. Share your own pickup line generator on GitHub and tag me. 😄 simple pickup project go
Here’s a simple for a pickup line generator, complete with a blog-style post you can publish. 📝 Blog Post: Building a Random Pickup Line Generator in Go Published: April 17, 2026 Skill level: Beginner / Intermediate Tech: Go (Golang), HTTP, JSON 🧠 The Idea I wanted a tiny, fun project to practice Go’s HTTP server capabilities and basic JSON handling. A random pickup line generator felt perfect — minimal logic, instant feedback, and room to expand.
The result: a GET /pickup endpoint that returns a random cheesy, funny, or surprisingly smooth pickup line. Create a main.go file: func main() { http
func indexHandler(w http.ResponseWriter, r *http.Request) { html := ` <!DOCTYPE html> <html> <head><title>Pickup Line Generator</title></head> <body> <h1>💘 Random Pickup Line</h1> <button onclick="fetchLine()">Get a line</button> <p id="line"></p> <script> async function fetchLine() { const res = await fetch('/pickup'); const data = await res.json(); document.getElementById('line').innerText = data.line; } </script> </body> </html>` w.Header().Set("Content-Type", "text/html") w.Write([]byte(html)) } Don’t forget to register it:
type PickupResponse struct { Line string json:"line" } 😄 Here’s a simple for a pickup line