About monk.flights
monk.flights is a flight search engine that measures what every other search engine pretends doesn't exist: suffering.
Every flight gets an agony score from 1 to 100. It combines price, duration, number of stops, layover quality, departure time, and arrival time into a single number that tells you how painful the journey will actually be. Low is zen. High is suffering. 1 is enlightenment. 100 is a red-eye with two stops and a 38-minute connection through a hub that's under construction.
Why This Exists
Because the cheapest flight is almost never the best flight. It's the one that departs at 11:30pm, connects through two airports with a layover that's technically legal but spiritually criminal, and deposits you at your destination at 2am looking like you've been through something. You saved $60. You lost 8 hours and your will to live.
Sorting by price tells you what costs the least money. The agony score tells you what costs the least life force. We believe these are different things. Radical, we know.
The Formula
base = price ÷ 10 + duration ÷ 5 + stops × 50
+15 red-eye departure (10pm – 4am)
+10 early morning departure (4am – 6am)
+35 micro layover (under 45 minutes)
+20 per hour of long layover (over 3 hours)
+10 late arrival (after 11pm)
+15 Friday evening departure (4 – 8pm)
normalized to 1 – 100 across your results
✦ deal = agony ≤ 25
How It's Built
Next.js, TypeScript, Tailwind CSS. The flight visualization uses CSS clip-path polygons colored by time of day. The timeline view plots flights on a 24-hour Gantt chart. The entire interface is keyboard navigable and ARIA compliant. The design system enforces a 4-point spacing grid and a 5-level radius scale. Everything renders from shared tokens.
Scroll Toward Zen
Results are sorted by agony, lowest first. The calmest flight sits at the top. The deals — agony under 25 — are marked with a ✦. As the list grows, so does the suffering. We put zen first because that is the point.
Built in Dallas–Fort Worth by Robby Choate. Powered by data about your suffering.