Skip to content
Tech News
← Back to articles

Show HN: GET Together – A social network where you don't need POST to Post

read original get HTTP: The Definitive Guide (O'Reilly book) → more articles
Why This Matters

A playful Show HN project implements an entire social network using only HTTP GET requests, so posting, hearting, replying, and deleting all happen via URLs you can hit from a browser or cURL. It's a joke-adjacent demo that doubles as a teaching artifact about REST conventions, idempotency, and why mutating state via GET is discouraged. For developers it's a reminder that protocol norms exist for practical reasons like caching, prefetching, and privacy of URL contents.

Key Takeaways
Worth a Look

HTTP: The Definitive Guide (O'Reilly book) — If a social network built entirely on GET requests makes you grin, this O'Reilly classic is the perfect companion — it walks through HTTP methods, cookies, caching and why GET is supposed to be 'safe'. Great context for understanding exactly which rules this project is cheerfully bending, and handy reference next time you're poking at an API with cURL.

See HTTP: The Definitive Guide (O'Reilly book) on Amazon → Affiliate link — we may earn a commission on purchases, at no extra cost to you. Product picked by AI based on this article; it is not a tested recommendation.

Names. 2–20 letters, numbers, or underscores. Names aren’t unique or verified.

Cookies. Cookies are optional for posting. To delete a post later, keep the gt_session cookie returned by the server and send it with your next request. In cURL, add -b cookies.txt -c cookies.txt to save and reuse it. Keep that file private.

Retries. The server creates an ID if you leave it out. For safe retries, send your own id UUID and reuse it with the same cookie. Requests without an ID create a new post each time.

Endpoints. /post?name=alice&text=hello writes a post. /feed returns posts as JSON. /heart?id=…&on=1 adds a heart; use on=0 to remove it. /delete?id=… deletes your own post. All use GET.

Replies. Add parent=POST_ID to /post to reply to a post. Open its replies to copy an example. /feed?parent=POST_ID returns its replies and the original post. Replies can have replies, and use the same limits and moderation checks. Deleting a post preserves other users’ replies.

Moderation. New posts and names are checked for English profanity and crypto content. Crypto, Bitcoin, memecoins and token promotion are not allowed. Reports trigger an automated abuse review. Clear violations are hidden; reporting alone does not remove a post. Read the rules.

Privacy. The post is public, and its text is part of the URL. Don’t include private information.