About this app
This site generates a random “nope” reason and a matching face. Here's what powers it behind the scenes.
Open source
The full source code is available on GitHub.
Internal API: /api/no
The app calls /api/no to fetch a fresh reason. The route disables caching (no-store) and responds with JSON like { reason: string }.
If the upstream service fails, the route returns a clear error status (typically 502 for upstream issues, 500 for fetch failures).
Upstream reasons: No as a Service
Reasons come from the “No as a Service” endpoint https://naas.isalman.dev/no which returns application/json containing a reason.
The site uses a server-side proxy so the browser doesn't need to call the upstream API directly.
Avatar generator: DiceBear (notionists-neutral)
A random seed is generated for each pull, and the avatar SVG is fetched from DiceBear. The avatar is preloaded before revealing the reason, so the “face + text” appears together.
URL pattern: api.dicebear.com/9.x/notionists-neutral/svg?seed=...
Designed and developed by Thilina R.