Show HN: Zebrapuzzles.com – Daily Logic Puzzles (zebrapuzzles.com)
I've always been fascinated by logic puzzles and, over the past 15 years, I've published around 300 zebra puzzles, mostly in Portuguese. Now, using LLMs, I've managed to automate the creation of these puzzles, leading to the birth of ZebraPuzzles.com.
There are around 80 different themes that the generator uses to transform a raw puzzle into a thematic one. For instance, the LLM translates this clue:
>The girl Shirt=Pink is next to the girl Age=11
to
>The girl who wears a Pink shirt is next to the 11-year-old girl.
The website offers five new logic puzzles daily, designed to challenge and engage your problem-solving skills. The site requires JavaScript to track your progress interactively, but for those without JavaScript enabled, you can still enjoy the puzzles by marking off clues manually.
While classic Logic Puzzles requires a grid, the puzzles we generate do not: they're solvable using only basic logic and pen/paper.
I'm eager to hear your thoughts and feedback. Are the puzzles challenging enough?
24 comments
[ 2.3 ms ] story [ 69.3 ms ] threadI found it when I was a teenager and right before starting as a programmer. This kind of iterative and deduction process to solve it is what I like the most.
Good job!
For instance, Do you track completion rates x time to see how hard it is for users?
It would be great to mark which options aren't valid on the website. Maybe a checkbox UI for the more challenging puzzles? Where we can mark a checkbox for entries that aren't the right answer and choose the correct one with the dropdown?
BTW, it's completely normal to use paper/pencil while you're getting the hang of it.
[0] https://galati.dev/personal/zebra-puzzles-helper
Very well-designed site, definitely will be returning often
I've found some issues: - when refreshing, all progress is lost, including previously solved puzzles. I guess that you could store the current state of the daily puzzles in a cookie or on the drive. -
And I've some suggestions: - maybe add a grid like this one[0] in a tool or something to help us solve the hardest puzzles. I don't know if it's relevant, but i feel it is. I didn't need to use this kind of grid until the hardest puzzle, but again, I couldn't finish it, so I'm not sure it's useful. - make the coloring of the grid optional: they're distracting when solving the puzzle, I think
Anyways, very nice! I can't wait for tomorrow's puzzles :)
[0]: https://murdle.com/
About saving the state locally, should be trivial to do since I'm using React, nice suggestion.
The hardest level usually is tricky, but I'm sure you'll solve tomorrow's puzzle.
I plan to launch a logic grid puzzles website with a proper grid as well. Thanks again for the honest feedback.
Today's hardest puzzle (#110 @ 2024-03-23) says that "Theodore's favorite player is Italian".
The list comprises of the following players: Di Stefano (Argentina then Spain), Maradona (Argentina), Ronaldinho (Brazil), Ronaldo (Brazil or Portugal, depends on who the game speaks about), Rooney (England).
That's roughly what I don't like with your implementation: the grids cannot be solved by themselves. Some external knowledge is required, and in this case, the knowledge is incorrect. Basically, the hint here should say: "Theodore's favorite player is <whoever the AI thinks is Italian>".
>The grids cannot be solved by themselves. Some external knowledge is required
I introduced this kind of feature in another custom made puzzles, such as one about blood types ("the universal donor is ...") and I got a lot of praise for it and I thought it could be extended to another themes. But I can see that it might be too broad and uninteresting. Will revise this.
I would suggest you add some sort of share button, for bragging and viral spreading. And maybe some sort of local state for tracking streaks.
I'm going to implement some sort of tracking streaks as soon as possible.
Since you have many data points, I'd love to hear your thoughts on the level difficulty and on the clues that require external knowledge (such as "the universal donor is sitting at..."). Thanks again!