I'm planning to make a special digital art gallery as a gift for my girlfriend's 24th birthday. Although I have some basic coding experience from college and have tinkered a bit with Python libraries like matplotlib, I'm not very skilled at coding. My goal is to create an interactive space where I can showcase her artwork alongside personal notes and memories—something that reflects her personality and creativity. I've previously created a graph in Python that resembled a room, and I thought it would be beautiful to design something similar where I can hang her art in digital frames.
However, I'm not entirely sure where to start with the actual coding, and I want to make sure this project is done with intention rather than relying on AI for coding help. I'd love some advice on the following:
1. What software or platform should I use for the coding?
2. How feasible is this project given my coding background? Can I pull this off?
3. What libraries or tools should I look into for building this?
4. Any additional ideas on how to make this project even more special for her?
5 Answers
Using Unity is a great idea! I've made a virtual gallery myself and the visuals really enhance the experience. You get to work with lighting and textures that can make everything feel much more lively. It would be a fantastic gift for her!
I recommend you skip Matplotlib for this project. Consider using Streamlit instead! It’s entirely in Python, no extra HTML or CSS required, and you can have a shareable gallery up and running quickly. Plus, you can deploy it for free on Streamlit Cloud, making it easy for her to access without any installations.
Have you thought about using Pygame for this? It's definitely manageable, and you can find a lot of resources to learn the framework online. If you want to make it more personal and do everything from scratch, Pygame could be great, but bear in mind you'll want to research how to keep it mobile-friendly if that's a goal for her!
Yeah, while Pygame is an option, creating it as a web app would definitely make sharing much simpler, especially for viewing on mobile!
Honestly, if you want a 'room' layout, consider using a game engine like Unity or Godot instead of building everything from scratch. These platforms let you drag and drop models visually and with minimal coding, you could create a beautiful space for her art. Then build it for WebGL and upload it online; she could view it on her phone easily!
This sounds like a really fun beginner project! You could use the three.js library to create interactive 3D graphics for your gallery, which would let you add models you find online, like bookshelves or frames for her artwork. You can code this in VS Code and when you’re done, host it on a site so she can access it from her devices. This way, she'll even be able to share it with her friends!

While Pygame is good, you should consider using JavaScript to make it more accessible. A web app would let her view the gallery on any device without needing to install anything. Plus, it would be easier to share! Think about using HTML5 elements instead!