SnarkAPI
A tiny web service with exactly one job: hand you a freshly-crafted, professionally-unhelpful remark whenever you ask. No auth, no onboarding call, no feelings taken into account.
Rude but well-engineered
It is a joke service that takes its craft seriously. Clean architecture on the inside, gentle character assassination on the outside.
One honest endpoint
A single GET returns a single slight. No keys, no quotas, no "let's hop on a quick call to discuss your needs".
Never the same slight twice
A rotating supply of hand-written condescension, so it stays fresh long after your self-esteem has not.
Rain is included
The live site types its verdict at you, slowly, over a moody blue downpour. The drama is not a bug. It is the whole point.
Runs on FastAPI
Ports, adapters and a proper service layer under the hood. Even the sarcasm respects the dependency direction.
Tested to the last branch
Coverage is gated at 100% with branch coverage on; the gate lives in the config rather than a command line, so it cannot be forgotten. The insults are frivolous; the build is not.
It degrades, it does not die
If the quote supply goes missing or turns up malformed, the service falls back to a built-in reserve and keeps answering. A joke endpoint returning a 500 is worse than one repeating itself.
One request away from being told off
Point anything that speaks HTTP at the endpoint and it answers with a fresh line. Plain text, ready to pipe.
# ask nicely; get told the truth $ curl https://www.snarkapi.com/api/v1/sarcasm/ You’ve achieved the rare feat of being wrong in several dimensions.
Endpoint: GET /api/v1/sarcasm/ on
https://www.snarkapi.com. Or just open the
live site and let it type at you.
That is the whole surface: one endpoint and one homepage address, with
every other path folded into it.