Posted by david927 11/9/2025
Ask HN: What Are You Working On? (Nov 2025)
It’s inspired by tile placement board games like Patchwork and crosswords. You rotate and move tiles to rebuild a broken crossword.
It’s free, web based, and responsive.
I currently have several hundred daily players and growing. My wife and I create the puzzles and I’m continuing to fix bugs and add new features.
I just launched a ”community puzzle” feature to let players help build new puzzles.
I’d love to know what you think!
I do a lot of NYT puzzle stuff every day and some other random puzzle sites before I get out of bed. That said, I'm over 40, love puzzles, love complicated board games, went through your brief explainer, and could not get a sensible handle on how to even start this thing. A new player has to really care about how to even try to begin to figure out whatever this is. I gave it about 20 seconds after the "how does it work?" Honestly, I gave up. I'm really not trying to rain on your parade. You might find a niche audience, and it'll be what you're going for, but I think you need a much, much better rules explainer if you want to be even remotely in the vicinity of a Wordle-level banger.
This thing might be really awesome, but not being able to figure out how to use it is a hard out for me.
I’m curious if there were specific aspects you struggled with or if the whole thing was confusing?
Did you try the Practice Puzzle or jump right into the daily?
Practice puzzle: https://tiledwords.com/puzzles/practice
It sounds like you read the instructions but they weren’t enough. Maybe a video explainer would be better? Does the gameplay recording on this Reddit post help at all?
https://www.reddit.com/r/DestroyMyGame/comments/1osxb2q/i_re...
People really seem to like it once it clicks (Over 1100 people have finished the daily puzzle so far today) but there is a steep learning curve and I’d love to learn how to help people get past that initial hump.
It's very much a learn-by-doing game.
PS - This game is so fun. I don't usually do word games, but I can't stop playing this one.
- Add an optional video explainer on the How To Play screen
- Redesign How to Play to push you towards the practice puzzle more strongly
- Add more practice puzzles that ramp up in difficulty
I want to explore a future feature where dropping a tile “pushes” other tiles out of the way that will hopefully make it feel less cramped
i wonder if have the clues point to a starting square (e.g., "E5") would be better than the current "reveal" aid. The spatial information would become more helpful toward the end when the player is dealing with the words they need help on.
I like that clue idea! I want to change how the reveals work. I’ll play with that!
Generating a custom sharing image is interesting!
(She finished today's puzzle, and I gave up.) From a UI perspective it is very slick - very smooth, and I like how it kind of "gets" what you were trying to do when providing corrections/hints.
there's a type of crossword called "diagramless" where you have the numbered clues and an empty grid
there was one in NYTimes Magazine Sunday puzzle page this past weekend
A more meta tip is if you make multiple games, try to have some genre or theme overlap so you can build a community among players of your games. I wish I had done this more with my more successful games (which are mobile games, not web games, but the same idea applies).
I found the instruction about double tapping a little confusing at first but figured it out as I played.
Nice work!
I solved the first puzzle: -Congratulations! -You solved Paprika with 18 slabs
But this was unclear: -You've solved 0 puzzles! -Reveal Rule -Next Puzzle -View Archive -You still have 2 guesses left. Finish guessing before revealing the rule if you're feeling brave!
I have to do 2 more guesses before I can reveal the rule that I already figured out?
Getting any of the guesses right counts as a win, and you get different guessing slabs for each guess (this latter part isn't made at all clear upfront).
If you have a rule in your head like "no red", but the true rule is "no red or orange", it's possible that on the guessing slabs those two rules evaluate to the same things (e.g. there weren't any oranges present in the guessing slabs). You could then try the rest of the guessing slabs, which might have an example where you get it wrong, giving more gameplay.
I wanted to give a victory on any subset of 5 slabs guessed successfully since trying to get all the guesses is very hard (especially the first guess on many puzzles), and you can get new information from guesses which fail, which offers some progression. Hence getting "you won" and the ability to reveal the rule (I've also thought about keeping the reveal unavailable until you do all guesses) and the invitation to keep playing.
If you have a minute I'd love to hear from you if that makes sense and if you have thoughts about what might make more sense. I've also tried to consider ways of restructuring the gameplay, e.g. automatically progressing to the next set of guessing slabs, such that the flow here is less confusing.
Thanks for playing, and for sharing!
Maybe just simply state it?
E.g, instead of “you solved paprika”:
“You got 5 slabs right; 10 more to prove you really solved the rule”
(Being better versed in making games than I am, you can likely come up with more enticing prose)
This game was Show HNed two times in ten days, [1][2], but unfortunately, it didn't get as much attention as it should! Ironically, this current thread has already gained almost double the comments from both submissions combined!
I whish you best of luck to succeed in your journey.
___________________
Yeah I felt odd reposting the Show HN but I thought that the HN crowd would enjoy the game if a post got traction
The game design is really good too. It has just the right amount of juice.
On large screens adding more space would be a big quality of life improvement.
But it doesn’t really work on smaller screens.
So far I’ve tried to keep the experience as similar as possible across devices but maybe that’s silly
As a non native it feels awesome to finish a puzzle like this haha
How do you market it – now or planning to, if I may ask?
I showcased at the Portland Retro Gaming Expo with the Portland Indie Game squad and that got me some players. I also shared it on my various personal social medias. The neighborhood board game store let me put up a poster!
I’m also hoping that organic sharing will drive growth.
This HN comment has been some of my most successful marketing so far. Around 2400 people from HN have visited since I posted!
I hope you make a success of this and sell it to the NYT for a disgusting amount of money.
This is a classic HN comment but I’d love a Thursday/Friday crossword difficulty equivalent in addition to the dailies which are a ~Monday.
I was getting a little bored of retrocomputing discourse being so centered on gaming, so I'm exploring the productivity software of the 8/16-bit era. I put real effort into learning and using the programs, giving my light-hearted but heartfelt assessment of its form and function for both its time and today.
Using the software inevitably gets me thinking about other things, and I explore those threads as well. For example, "Superbase on the C64" also discusses the legacy and promise of "the paperless office." A couple of other posts got some nice traction here on HN, notably "Deluxe Paint on the Amiga" and "VisiCalc on the Apple 2".
I'm hoping to build a strong monthly readership, so I'm putting in the work. It's been up for two months and five posts now, with a new one coming at the end of this week.
> There is utility in those old tools and interesting ideas to be mined. Recently I stumbled across something that by all accounts should have set the world on fire, but whose ideas needed more time to germinate before blossoming much later. Discoveries like this are not just nostalgic “what ifs” to opine wistfully upon, they can be dormant seeds of the future.
> Computing moves at such an unrelenting pace, those seeds may lie dormant for any number of reasons: bad marketing, released on a dying platform, too expensive, or even too large a mental leap for the public to “get” at the time. I see this blog as a way to explore the history of the work tools we use every day. I don’t do this out of misty-eyed sentimentality, but rather pragmatic curiosity. The past isn’t sacred, but it is still useful.
What's your research process? Do you use lots of Internet Archive material? Do you reference any personal artifacts i.e. old hardware or documentation laying around? Any interviewing?
My first job out of college was with a tiny, now-defunct company that built simple I/O hardware for 8-bit systems. One of the "side products" was a MacPaint clone for the Radio Shack Color Computer II called CoCoMax. We didn't write it: AFAIK, the programmer for the original version contacted the company and asked if they wanted to buy it and pay him royalties. He later went off and built an even more successful product used in TV stations called the Video Toaster. Side product or not, CoCoMax was a cash cow!
On the heels of that success, another programmer who'd written a more advanced version for the Color Computer 3 offered the same deal. From what I recall, they both made buttloads of money from their royalties.
Sometimes I wish I had kept some of that old hardware & software, but it's long gone.
So, my impression is that, for a while, things started getting simpler by having WYSIWYG editors and multiple things running at the same time in windows, but as the processing power and memory started improving, instead of making things easier and better, we (as people) started just adding more features and other things that they just made things more complicated than they should be.
Well, with all that, I wish success for you!
PS: It would be great if you had RSS support on your website.
I got word in the Ghost forums that there may also be an RSS feed bug, which I'll look into and see if that applies to this case.
RSS is a bit of a pain as most feed readers will accept malformed XML (unlike Atom feeds). Hence you end up with a lot of malformed XML.
Having said that it mostly looks valid:
https://validator.w3.org/feed/check.cgi?url=https%3A%2F%2Fst...
https://www.inclusivecolors.com/
The interface is optimized to let you quickly explore and tweak multiple tints/shades at once so you can customize all colors exactly how you want e.g. try dragging vertically through the saturation curve in one motion to edit all the tints/shades at once, or shift whole curves horizontally by dragging between the dots on a curve.
It uses the HSLuv color space, where (unlike say HSL) the WCAG contrast stays the same when you change the hue and saturation sliders. This makes it much easier to explore accessible colors choices as you know only changes to the lightness slider will impact the contrast. You can also switch from the WCAG2 contrast checker to using APCA, which is meant to correct for inaccuracies in WCAG2, such as it being too forgiving for dark mode color combos.
Note the mobile version is more of a preview and the desktop version has more features.
I probably need to add something like a tutorial as there's a lot going on, but I've added more hints and tooltips recently. Open to feedback on what's initially confusing and what changes might help!
I'd also keen to hear from people who are interested in accessibility but don't know much about it too. I've tried to explain the WCAG contrast rules in the simplest way I can (interactively, via the live mockup example on the right and contrast indicator icons that appear on the left) but there's quite a lot to cover.
It's still a small closed alpha, if anyone is interested: https://testers.birdlego.com
Here is a rough trailer of it: https://www.youtube.com/watch?v=yVpR8aafFjI
When Romania announced that the Lesser Kestrel had returned after 100 years iNaturalist actually had several of the observations in the nearby area. [2]
[1] https://www.inaturalist.org/observations?subview=map&taxon_i...
[2] https://www.inaturalist.org/observations?subview=map&taxon_i...
It’s basically a gamified version of Merlin. Would love any and all feedback!
Birdle Go seems really cool, very impressed and would love to test that!
LISTERS: A Glimpse Into Extreme Birdwatching
https://youtube.com/watch?v=zl-wAqplQAo
1.9m view | 2mo ago | 2hr long (buckle in, documentary by a couple young goofball brothers)
- No sign-up, works entirely in-browser
- Live PDF preview + instant download
- VAT EU support
- Shareable invoice links
- Multi-language (10+) & multi-currency
- Multiple templates (incl. Stripe-style)
- Mobile-friendly
GitHub: https://github.com/VladSez/easy-invoice-pdf
Would love feedback, contributions, or ideas for other templates/features.
PS: e-invoice support coming soon
No signups, free for all, browser-only, live pdfs, etc
Built it for a friend and decided to share with all, it's just a react app (no backend) running on GCP and costs almost nothing to run.
Didn't think about opensourcing it and I will, why not.
Only thing I would suggest is, to support different tax formats (or provide an ability to fill custom tax format name that applies to the whole invoice). Right now, it is largely VAT. In some countries, it may not be relevant.
(Having said that, as a work around, currently anyone can use Notes field to fill custom tax details and hide all VAT related fields.)
UPD: Created an issue to investigate
I think by this point everyone that is learning a language knows that immersion is very important, however a problem I've had myself is that the content that interests me is beyond my reach, and the content that is within reach doesn't interest me.
This is my attempt at doing something to remediate that. You select the content you want, and I create a personalized study plan to learn the most important words to achieve a target % of understanding. Then I generate a short story each week for your particular level containing the new words in the context of your content.
The idea is to bring the content you want to learn to your level so you can watch what you want to watch.
I'm making Easel, a 2D game programming language designed to match how humans, not computers, think about game logic. It also has automatic multiplayer. I've been working on it for 3 years!
Easel feels like a declarative programming language even though it is imperative, because lots of useful game-oriented features are first class. Like behaviours - you just say `on Pointer { ... }` and you have a concurrently-executing coroutine that's lifetime is managed. But you don't think about any of that complexity, you just think of your entity as having a behaviour and go forth and make your game.
It also happens to have automatic multiplayer. Normally with multiplayer you have to worry about doing everything in a "multiplayer safe" way (i.e. be deterministic and only modify the things your side has authority over). My idea was to put all the multiplayer stuff in the programming language itself, underneath all your lines of code. This way, anything you write in that programming language can just be made multiplayer, automatically. So you can just pretend all your players are in one shared world, like a singleplayer game, and the engine does all the multiplayer for you. It was really difficult to make but it makes multiplayer so easy for you now.
Easel is my idea of how games should be made, or at least as close to the idea as I can achieve with 3 years of work, and I would love for more people to try it out.
But how does this really work? The website also says it's just baked into the language but there are many different approaches to networking games that have their own pros and cons.
To be able to roll back, Easel incrementally snapshots the game state every tick. It only snapshots (and restores) what has changed, which makes it a lot more efficient than most rollback netcode implementations.
It also uses a peer-to-peer relay and adapts the latency asymmetrically, so the player who introduces latency feels their own latency.
I know there are other models and pros and cons, this is the right choice for Easel because I wanted to make the multiplayer fully automatic. One shared world, coded like a singleplayer game. There are certainly games which suit a client/server model better but I think the developer would then need to understand where their code is running and when to do remote procedure calls, and my goal was to make multiplayer so easy that even a teenager on their first day of coding could do it.
It might be a good idea to highlight some of the limitations to this approach somewhere so users aren't caught off guard later in the development process. For example, it wouldn't be great to build a competitive FPS or MOBA with this because the game state is replicated to all players which is a cheaters dream. The latency characteristics would also not be ideal for games with a larger number of players. I also assume there are no escape hatches for doing any non-deterministic things like I/O so there would be limited to no persistence possible. It won't be an issue for most games but worth highlighting just in case IMO.
Persistence is actually handled by the server, and then the server inserts an input back into the game state with the result when it's done. So, no issue with I/O.
I see Factorio is doing deterministic lockstep, which like rollback netcode but without the rollback. That makes sense seeing as it is a game with a lot of state and so it would be too expensive to snapshot and rollback all the time. But yes, I think having a game engine which guarantees determinism in all cases could be a useful base for other multiplayer architectures too. Right now Easel only does rollback but maybe it could do more in the future.
I tried doing something much more rudimentary before. Will be following
I would love to hear more about what you were trying to do with your project before. Was it more similar to the declarative coding part, the automatic multiplayer part, or something else? Part of why I'm doing this is to explore the design space of how games should be made and I'm interested to hear what problems, issues, pet peeves, "bugbears" etc that other people think are worth solving.
It was messy. I ended up having NPC, Item, Attack classes and for each a NPC Manager, Item Manager, and Attack Manager to calculate all their interactions and states.
That's why your project seems interesting because it seems to handle the heavy lifting of behaviors and "behind the scenes".
Is the ID computed based on the shape of the expression at runtime or on something else?
Great documentation, by the by!
for i in RangeInclusive(1, 10) { TextSprite(i) }
Yes, you found the right place in the documentation. Thanks, yes I worked very hard on the documentation!
The IDs are assigned at compile time by the Easel compiler. So they don’t change in any way at runtime. Does that answer your question?
If you are actually trying to make multiple sprites and not keep replacing them, what you do is you spawn a new entity to hold your extra sprite:
for i in Range(0,10) { Subspawn { TextSprite(i) } }
That code creates 10 sprites and achieves what I think you are thinking of.
I've actually gone with a 100% declarative approach. Basically you define effects, which are executed in response to certain interactions. There's a comprehensive targeting system. But the best part is this is all type-safe using TypeScript, the declarative structure is enforced. That means even when you chain effects, nested effects are able to access (incl. autocomplete) the targets of parent effects etc. Whilst this provides a super nice experience to consume, it's definitely non-trivial to build this system.
https://github.com/scallyw4g/bonsai
I recently ported the terrain generators to the GPU, and increased the visible volume to 1 billion voxels cubed. I did a short YouTube video about it.
https://www.youtube.com/watch?v=bLfgjWsM1PI
I also wrote a metaprogramming language which generates a lot of the editor UI for the engine. It's a bespoke C parser that supports a small subset of C++, which is exposed to the user through a 'scripting-like' language you embed directly in your source files. I wrote it as a replacement for C++ templates and in my completely unbiased opinion it is WAY better.
Stoked to have another user!
> What was the hardest part of this project?
Fuck.. that's a hard question. I'm almost always trying to push at least one of three boundaries; voxel engine techniques, engine performance, my mechanical programming skill. Trying to push those boundaries, often in tandem or tridem, is always hard. Different jobs are often hard for different reasons, but overall it's been a difficult project for most of it's existence. That said, doing hard projects is what I enjoy, and it's a great feeling when you sit down to, for example, optimize something, and end up making it 20x faster!
> What motivated you to attempt creating this?
It started out as a learning exercise; a safe space where I could just 'fuck around and find out'. When I started, I never expected to spend nearly as much time on it as I have.
But I'm hoping to have it out by the first week of December.
It's an explorable database of films, TV shows, books and board games based around their historical setting: where and when the thing is set. It's been incredibly complex and interesting getting the (messy) data, making sense of it and trying to design a UI to explore it.
https://stevebennett.me/2025/08/26/whenever-exploring-times-...
I will note that there are some Norfolk England things showing in Norfolk Virginia.