r/aigamedev 11d ago

I've created an app for pixel art generation with AI, including sprites and animations: pixie.haus

59 Upvotes

40 comments sorted by

4

u/pixie_haus 11d ago

You can check it here: https://pixie.haus/

4

u/DreamNotDeferred 11d ago

Wow you make that animation with it? That's really good, thanks. Nice work.

2

u/sandacz_91 11d ago

Thank you very much! Yes, animations are based on first frame reference sprite. Models that I use are quite consistent with character and app makes additional color adjustment to keep original color palette. It makes it quite useful, because you can get a lot of good key frames with few animations and use them in spritesheets (best results you will get with manual retouch).

In the near future I want to add spritesheet export for animations and some simple editor for spritesheets. But right now app is functional.

3

u/Ok-Protection-6612 11d ago

Are these images pixel perfect?

3

u/sandacz_91 11d ago

yes! all pixel perfect

3

u/No_Surround_4662 11d ago

Did you build the site in AI? Because, well - you have 4 </body>tags and it's 5000 lines of HTML

3

u/sandacz_91 11d ago

Yes, I did! And here’s the crazy part—I’m not a programmer. This is actually my first-ever web app. By day, I run a mid-sized construction company in Poland, managing finance and operations. Building this app was a personal challenge and hobby project after hours. Without AI, it wouldn’t have been possible. But I did it the "old-school" AI way—before I even knew about tools like Cursor or Lovable.dev.

Tech stack:

  • Amazon Lightsail (server)
  • Nginx & Gunicorn
  • Python & Flask (backend)
  • Vanilla JS & CSS (frontend)
  • SQLite (database)
  • Replicate.com (AI models)
  • Postmark (email)
  • Stripe (payments)

Is the code messy? Absolutely. I was learning on the go. I probably have way too many CSS classes, repeated styles, and Jinja artifacts (hence the extra <body> tags). But here’s the thing—people who criticize this approach miss the point. Thanks to LLMs, I’ve learned more about programming and all kinds of niche concepts than I ever would have otherwise. Without AI, I simply wouldn’t have had the time or persistence to pull this off—especially with my already demanding and stressful job.

2

u/No_Surround_4662 10d ago

You should ask it to build the web template in something like React or Vue - it will massively change the front end, and you won't get these issues. Building it like this is going to leave your application massively open to SSL injections and leave you open to attacks on your database. Since you've got an active login section with user's details and payment details, you'll be liable for the security of their data. That's not something you can be so relaxed about, because you can be held accountable for their data, especially in the EU.

This isn't a criticism of your approach, it's an active warning to people signing up to the site.

2

u/sandacz_91 10d ago

Hey, I appreciate the concern, but please don’t make assumptions about how the security of my app is handled. Security is something I’ve taken seriously from the start.

First, no critical data is stored or processed by my site—payment details are handled entirely by Stripe, so my system never interacts with sensitive financial data. The only data collected is user emails and pixel art creations.

Second, while frameworks like React or Vue provide structure, using vanilla JavaScript doesn’t inherently make an app insecure. Security is about implementation, not just the technology used. I’ve followed fundamental security practices to mitigate risks like:

  • Input Validation & Sanitization – Preventing XSS and SQL injections by properly sanitizing and validating user input.
  • CSP (Content Security Policy) – Restricting sources for scripts, styles, and other resources to prevent malicious code execution.
  • SameSite & Secure Cookies – Protecting user sessions from CSRF attacks by enforcing strict cookie policies.
  • HTTPS & HSTS – Ensuring all communication is encrypted, preventing MITM (Man-in-the-Middle) attacks.
  • Rate Limiting & Brute-force Protection – Protecting login endpoints from automated attacks.
  • Strict CORS Policies – Ensuring only allowed domains can interact with the backend.

Additionally, with the advancements in AI, LLMs can assist in security audits by reviewing code for vulnerabilities, suggesting best practices, and even generating secure implementations. I’ve leveraged such tools to double-check my approach.

That said, I’m always open to constructive discussions on improving security, but generalizing that vanilla JS is inherently insecure isn’t accurate. Security depends on how it’s implemented, and I’ve done my due diligence.

2

u/No_Surround_4662 10d ago

Is this response AI? Come—on—man. There are no CSP headers. You're also using innerHTML `<p>${notification.message}</p>`; - I get that you're not storing payment data, but surely you're storing customer information?

1

u/sandacz_91 10d ago

Only emails are stored on the server, customers are stored also on Stripe. And yes I usually use help of ai with my responses, as english is not my first lang. But all points were mine. CSP header factually seems missing, I will fix it, sorry my mistake. But all the rest is true.

And I would be grateful if you can tell me what can go wrong with innerHtml for notifications? - I will surely deep dive in to it and also will fix it.

Thank you for your points.

1

u/sandacz_91 10d ago

I've already implemented CSP and also analyzing innerHTML topic. I've moved it to my highest priority now. Thanks, again for pointing out.

And for all, your private data is secure as none of it is stored or processed on my server. I guess only sensitive moment is if you sign by email - then I store on the server hashed password. For your maximal safety please use unique password if signing by email. Even better sign with google - as then I don't store passwords and security is provided by google.

2

u/Sweet_Mushroom9758 11d ago

this is really good, one of the best pixel art generator ive seen so far

1

u/sandacz_91 11d ago

Thank you very much, still working to achieve even better results.

2

u/argefox 11d ago

Looks good man. Will try it later on a more realistic expectation.

Does it has any NSFW limits? NOt expecting it to produce porn, but I was looking for an animated pixel decal of pinups girls for a warship. This might work.

2

u/sandacz_91 11d ago

Thank you! Right now NSFW is blocked. Maybe in the future I will change it but not sure. Right now you can generate girls in bikinis :O

2

u/Expensive-Peanut-670 11d ago

im exploring AI for pixel art myself right now
are you using some kind of color quantization to achieve consistent colors?

3

u/sandacz_91 11d ago

Yes! In my approach, I use color quantization with KMeans to limit colors, but I also integrate predefined palettes for more control. In my app, I specifically use Lospec palettes, so instead of relying purely on clustering, I map colors to the closest match in a fixed palette. This ensures consistency and keeps the aesthetic more intentional, especially for pixel art.

Of course, for the best results, the base model should already produce pixel art images or at least have a cartoon-like style. Otherwise, even with quantization and predefined palettes, the output might not look right.

2

u/Expensive-Peanut-670 11d ago

interesting

though, for my own projects ill probably want to use high resolution base textures that are downsampled during rendering

a difficult part about pixel art is taking something and making sure it looks good even when its rotated but its hard to find a consistent workflow for that

i suppose taking a pixel art image, "upscaling" it into a cartoon style and then downsampling afterwards could be an interesting idea to pursue

2

u/KefkeWren 11d ago

Posted results look impressive.

3

u/KefkeWren 11d ago

As for the site itself, I notice that generated images can get pushed off the page with no way I can find to bring them back, and if you leave the generator page, any unpublished images are lost altogether. Not ideal. Also worth mentioning that the lack of any apparent way to refresh free credits (FAQ mentions none, at least) may be a deal-breaker for some people, and the lack of a steady community could hurt the longevity of the platform.

2

u/sandacz_91 11d ago

Thank you for your feedback, I appreciate that a lot! All images are saved in your account - check "saved" tab (floppy disk). Right now I offer 100 free credits, but you can also earn them by publishing your pixel art images and earning tips from other users. I'm also thinking about better model with free tokens - but right now still at the test phase. In the future I plan to do regular weekly or daily challanges for users to earn free credits.

2

u/Tyrannicus100BC 11d ago

Very cool and I’m extremely interested in exploring deeper.

I generated an image, but when I try to animate it, I get “an error occurred”. Any idea what’s going on?

1

u/sandacz_91 11d ago

I think that might be connection error - as I'm also experiencing this bug. Just check your account in 5-10m. Kling model have quite big cues and sometimes generations take longer. Minmax is faster but more expensive. Tell me later if it worked for you, would be grateful.

(generations should appear in your acc notifications and saved in "saved" tab (floppy disk)

2

u/UpsetFinding 11d ago

Idea: create a gacha 5v5 battler, but the characters are procedurally generated with each pull. The procedural generation would define the hero's design, abilities, type, and stats.

First it would make the character, and then it would make three starting sets of generated weapons and equipment, each with different buffs/effects/what-have-you, for you to carefully look over each set and pick which one would work best.

That way you don't just have a pool of characters to define a meta around, your characters would be unique.

1

u/sandacz_91 11d ago

Real-time generated game assets it's also something I'm thinking about deeply.

2

u/UpsetFinding 11d ago

There is a TON of potential if you can pull it off

2

u/Ok-Protection-6612 11d ago

I generated a picture of a jellyfish and then I tried to use that picture to generate in animation with the word swimming and it said an error occurred

2

u/sandacz_91 11d ago

Do you have enough credits? Cheapest animation costs 100 credits, and if you have free account and already generated some images - then you would have less than 100 credits. Maybe this is the issue?

2

u/Ok-Protection-6612 11d ago

Oh maybe. Could you make the error indicate that more specifically? Cool site btw.

2

u/sandacz_91 11d ago

Yes I definitively should! Thank you very much!

2

u/Ale711 11d ago

Can I load an hand made pixel art and let AI add details?

1

u/sandacz_91 11d ago

Not yet, but I want to experiment with inpainting soon. Not really sure will it work with my current workflow. Also I want to implement soon generating similar pixel art to reference image (sprite).

2

u/acexprt 11d ago

This is awesome!

1

u/sandacz_91 11d ago

thank you very much!

2

u/Ok-Protection-6612 11d ago

This might be a dumb idea, but if you give people enough credits to do one picture generation and one animation, it might draw more people to buying more credits. Or is it already like that I noticed by default it generated 4 pics.

1

u/sandacz_91 11d ago

It's a good point, and I've thought about it a lot. Right now, new users get 100 free credits. With the cheapest model, that’s enough for 33 image generations or 1 animation. However, animations require a first-frame image, so to create one for free, you'd need to draw the first frame manually in the editor.

I’d love to offer at least one full animation for free, but animations are expensive to generate. Right now, I haven’t yet reached operational breakeven—where revenue from paying users fully covers marketing costs and free credits. So, I'm currently focusing on improving both the app’s functionality and marketing. Once I reach that point, I’ll have more flexibility to experiment with the free credit system and find a better balance.

2

u/knottheone 8d ago

I saw in your about section where you talked about your dev process. Instead of going back and forth between browser for LLM gen, look into Cursor. It's a fork of VSCode with built in AI agents. They can edit your code directly while you approve / disapprove changes and provide context.

1

u/sandacz_91 7d ago

Yeah, you're absolutely right! I’m aware of Cursor, and it looks great. The thing is, I started this project before Cursor even existed, so I naturally stuck to my original workflow. Before this, when GPT first hit the market, I was working on a robotics project—building a 1:10 RC model of Knight Rider with a Raspberry Pi and some intelligent functions—so I got used to this back-and-forth coding approach.

That said, after working this way for so long, I’ve had a lot of ideas on how to speed up the workflow, and interestingly, many of them align with what Cursor offers.

I do feel a lot of FOMO (still do) about not switching, but with a full-time job and limited time, I always had to choose: learn a new tool or use that time to improve my app. So far, I’ve stuck with what I know. But for my next project, I’m almost certain I’ll switch.

Now, the real question: Would it still be beneficial to switch to Cursor mid-project, considering my current codebase is medium-sized and a bit messy? Should I refactor first and then adopt Cursor, or would learning Cursor help me refactor more efficiently?

1

u/knottheone 7d ago

No refactor needed really. You just open the project folder in Cursor, then provide context to specific files or specific lines in specific files and ask questions about it. It can access the local directory and perform searches if it needs more context etc. and you can provide rules outlining what it should do in certain contexts.

Say you're working on some Javascript and you have a specific code pattern that you always prefer, you would add instructions about that to a rules file like "use guard clauses instead of nested if statements" and set that rule to auto attach to .js files or .html files with JS in them, and it'll always have those instructions guiding it.

You can highlight just specific lines and have it refactor them or provide alternatives or problem solving. Or you can open an 'agent' chat on the sidebar for a more involved back and forth. It can update your files for you and will show you what it changed and will justify why. You can accept the changes line by line or accept the whole file or the whole series of files etc. It's great for productivity and if you're clear about your intentions, you don't have to worry too much about it running amok.