Readit News logoReadit News
Posted by u/danterolle 6 months ago
Show HN: I built an offline, open‑source desktop Pixel Art Editor in Pythongithub.com/danterolle/til...
It requires no registration, no installation, and no configuration. Just run it on any computer and start drawing freely.
rudolftheone · 6 months ago
Related: I know that many people use AI image generators to make pixel art, and recently I've stumbled upon a great tool to make a proper pixelart based on AI generated input see https://github.com/jenissimo/unfake.js and live demo on https://jenissimo.itch.io/unfaker (disclaimer: I don't know the author, just thought I'd share as I find it amazing)
mclau157 · 6 months ago
Which AI pixel art generator?
rudolftheone · 6 months ago
Any: flux or SD produce good results with a proper LoRA.
rvnx · 6 months ago
Very nice to see that this project is hand-crafted and not AI-generated like 99% of the submissions here

So, congrats on your release.

ofrzeta · 6 months ago
When I clicked I already thought about the comments that ask "is this vibe coded". So I kind of asked myself that question. As someone who manually codes as well as experiments with AI-assisted coding I ask myself what attitude we should develop towards AI-assisted coding in the long run. Right now on HN it almost seems like "AI shaming" at work. If you post a project that's a result of using AI you can expect a lot of critique around here. While I understand that to a certain extent I guess we also need to overcome that sentiment. After all we don't blame people using IDEs, code completion or other tools that have become the norm.
criddell · 6 months ago
It would be similar to me posting “Show HN: I built a turbo encabulator in Rust” and I actually hired coders from Craigslist to bring my idea to life.
latexr · 6 months ago
> After all we don't blame people using IDEs, code completion or other tools that have become the norm.

Because those don’t have the same issues. It’s not like IDEs, LSPs, and other tools were the target of warranted criticism and then we stopped. Rather, they never received this kind of backlash in the first place.

No IDE has ever caused millions of people absolutely unrelated to it to have to ration water.

https://archive.ph/20250731222011/https://m.economictimes.co...

To use an exaggerated analogy, it’s like saying “people are complaining about arsenic being added to food but we need to overcome that sentiment, after all we don’t blame people adding salt and pepper which have become the norm”.

globular-toast · 6 months ago
If I can tell something is "vibe coded", that means it's bad. It doesn't matter what tools people use as long as the output is good. Vibe coding smells include:

1. Tons of pointless comments outlining trivial low-level behaviour,

2. No understanding of abstraction levels,

3. No real architecture at all,

4. Not DRY, no helper functions or inconsistent use of said functions across project,

5. Way too many lines of code.

None of these are shaming for use of any particular tool, they are just shaming the output.

itsoktocry · 6 months ago
>Right now on HN it almost seems like "AI shaming" at work.

HN leans "old school". It's the Angry Nerd trope; Comic Book Guy from the Simpsons.

The people doing "AI shaming" or claiming that "AI doesn't work" are going to have their lunch eaten.

danterolle · 6 months ago
Thanks! Although I had to use it for some things (like the logo, for example, and I’m not a "graphic guy"), in the end, since it’s a simple project by design, I didn’t mind, and the result isn’t bad at all.
vnhrmth · 6 months ago
It's really odd now that we look for more human code rather than AI Generated code, and I think this is going to be increasing in every form of data that's out there.
llbbdd · 6 months ago
Genuinely why do you care?
hombre_fatal · 6 months ago
Because we are a forum of craftspeople. The Show HN system is a good faith system for showing something that you built and can presumably engage with us about what you built.

We want to engage with the person who engineered the thing, not someone who is just going to pipe our feedback into an LLM and see what pops out.

Just like I'd consider it deceptive if it turned out that HN populated the comments with an LLM. I want to engage with humans using their own brain.

That said, I would also consider it acceptable if you mentioned that your Show HN was vibe-coded if it were. But consider the vibe shift (pun) that would happen. We'd be curious about your vibe-code workflow and the experience of vibe-coding it if it was impressive, not necessarily curious about the thing the LLM built because that part isn't necessarily interesting anymore.

Finally, it's inevitable that these lines will quickly blur over time as AI becomes increasingly centerpiece in our lives. But in this transitionary phase so far, it kinda feels like you've been actually playing on a bot server in Quake 3 when you catch yourself admiring something that you thought the OP made: it's not rewarding to realize you're just stomping bots that you thought were human.

SanitaryThinkin · 6 months ago
This may not be entirely the right metaphor but I kinda see it as the difference between fast food, a top rated restaurant, and home made cooking —with fast food being AI.

Generic, does the job, not the highest quality, bleak, fast repetitious output

renegat0x0 · 6 months ago
Please provide github topics (tags) for the project. It may boost your project discoverability. I often use it with github search to find interesting projects in "topic".
danterolle · 6 months ago
Done. Thanks!
HelloUsername · 6 months ago
> There are several Pixel Art Editors that do the same things and even much more, but many require an account registration or the insertion of an e-mail or have a certain business model.

https://libresprite.github.io/

3036e4 · 6 months ago
Latest Aseprite is still available with free (as in beer) source code to compile, even if it is a bit heavy on the dependencies these days, including requiring that you install a special fork of Skia iirc. I paid for it to get the pre-compiled binaries for Windows, but on Linux and OSX I always compiled it myself anyway. On FreeBSD, that is my desktop OS of choice now, I use the ancient open source version of Aseprite since that is what is most convenient to install (from the port). Maybe I should try Libresprite instead.

For my programmer art I also use old (Autodesk) Animator (in DOSBox) a lot. It is small and runs anywhere. Perfect for doodling on my phone, with some configuration to add various on-screen buttons in DOSBox. Small enough (less than 1 MB) that the entire application plus all configuration and saved working files can go into every source code repository where I want to edit some pixel art. https://github.com/AnimatorPro

Also have VGA Paint 386 installed in DOSBox everywhere. Have not used it much, but it seems good (probably more interesting for those that want something closer to a Deluxe Paint clone). https://www.bttr-software.de/products/vp386/

Then there is https://orama-interactive.itch.io/pixelorama that is open source and seems to improve at a good pace. I just never took the time to look very close.

Going to have a look at Tilf as well, to see if it is not too much work to get it to run in FreeBSD. Not being an expert in drawing anything, it helps to have many tools and switch between, as all tend to have something they do better (or easier) than the other ones.

danterolle · 6 months ago
> Going to have a look at Tilf as well, to see if it is not too much work to get it to run in FreeBSD

It should work without any issues, as long as there’s a Python interpreter you can definitely run it. If needed, let me know and I’ll try to work on it. I have plenty of other ideas to implement as well.

smartmic · 6 months ago
I'll throw my favourite into the ring, mtPaint: https://mtpaint.sourceforge.net/
HelloUsername · 6 months ago
Looks very nice, too bad no macOS :(
hug · 6 months ago
Great project!

I have one very silly question... Why is the elf logo not pixel art? :)

danterolle · 6 months ago
I’m not a graphic designer guy, I wouldn’t know where to start, but maybe in the future I could use Tilf to draw the logo! My highest artistic expression, for now, will probably be redrawing some Earthbound characters to experiment with SDL3.
SkyeCA · 6 months ago
Awesome program OP, I downloaded it on my Mac and it Just Works(TM).

One helpful feature would be to shift an entire row/column of pixels down X rows/columns. Perhaps if I get time I'll submit a PR for it.

danterolle · 6 months ago
Thank you, and thanks for the suggestion. I’m open to any changes or proposals that might help improve this project, so I’ll gladly accept them!
JKCalhoun · 6 months ago
The Pencil appears to put down the foreground color, the Eraser appears to clear to the background color.

Working at the pixel level, it is extremely useful to be able to "toggle" a pixel without switching tools. MacPaint (for example) would use the foreground color if you click on a pixel whose color is not the foreground color. If you start your Pencil drawing (click) on a pixel that is the foreground color, the Pencil draws with the background color instead.

Also, a modifier (like the Option key), is a nice way to also specify the background color for the pencil (regardless of the initial pixel clicked on).

zamadatix · 6 months ago
I like that it really is simply built and packaged, I'm sure it was fun to hack away at. There's something about gluing together a million packages which sucks the fun out of tinkering (for me, at least).
danterolle · 6 months ago
That’s also why the project was built from scratch. The only real dependency of the project is PySide6. The icons don’t come from any package. PyInstaller is used solely for bundling purposes. As outlined in the README.md, running Tilf requires nothing more than an installed version of Python (3).
kookamamie · 6 months ago
Why, of all names possible, you thought TILF was the best one?
danterolle · 6 months ago
There’s no specific reason, I just liked the idea of a little elf/goblin having the freedom to draw whatever they wanted. At first, I wanted to call this project "Folletto" (in Italian, that means elf), but then I thought it would be better to keep an extremely simple name: a tiny elf who picks up his pencil and starts drawing. Tiny Elf.
vorticalbox · 6 months ago
Tile I’d Like to Fill.
runjake · 6 months ago
It’s “Tilf” not TILF, and means Tiny Elf, per the docs.

Why? What’s the problem with it?

BriggyDwiggs42 · 6 months ago
Milf, dilf, etc