- Team Lead: Amaldev V K - LBS College of Engineering, Kasaragod
- Member 2: Vaishnav Gopalakrishnan - LBS College of Engineering, Kasaragod
A full-stack web application that combines the retro aesthetics of 8-bit graphics with the uncanny power of modern AI. It's a digital memory decay machine that pixelates your photos and then uses Gemini AI to hallucinate their restoration.
In a world of flawless, high-resolution digital photos, our memories have lost their charm. We've forgotten the beauty of corrupted files, the mystery of a pixelated face, and the nostalgia of a low-fidelity aesthetic. Our digital lives are too perfect.
The Nostalgia Pixelator solves this nonexistent problem by intentionally degrading your high-quality images into glorious 8-bit, monochromatic masterpieces. Then, with a single click, it uses Google's Gemini AI to "restore" them, creating a completely new, often unsettling, but always fun, version of your memory. It's a journey into what our memories would look like if a machine tried to recreate them from scratch.
For Software:
- Languages used: JavaScript
- Frameworks used: Node.js, Express.js, TailwindCSS
- Libraries used: Mongoose,
@google/generative-ai,dotenv,cors,body-parser - Tools used: MongoDB Atlas
For Hardware: (Not applicable for this project)
For Software:
- Clone the repository.
- Install dependencies.
npm install- Set up your .env file with your GEMINI_API_KEY and MONGO_URI
For Software:
node server.jsFor Software:
A high-resolution image is uploaded to the Nostalgia Pixelator.
The uploaded image progressively decays into a low-fidelity, pixelated state over time.
This diagram outlines the flow of data for the core functions of the "Nostalgia Pixelator" application, from the user's browser to the backend services.
+----------------+ +-----------------+ +---------------------+
| Frontend | | Backend | | Database/AI |
| (index.html) | | (server.js) | | (MongoDB/Gemini) |
+----------------+ +-----------------+ +---------------------+
| | |
| 1. User Uploads Image | |
+----------------------->| 2. Receives Image Data |
| | 3. Saves to DB |
| +---------------------->| 4. Stores Image Data |
| | |
| | |
| 5. User Clicks Restore| |
+----------------------->| 6. Receives Image ID |
| | 7. Fetches Image from DB |
| +---------------------->| 8. Retrieves Image |
| | |
| | 9. Sends to Gemini API |
| +---------------------->| 10. AI Restores Image |
| | |
| <----------------------+ 11. Sends Image Back |
| | 12. Updates DB |
| +---------------------->| 13. Sets 'restoredFromBin'|
| | |
| 14. Displays Restored | |
| Image | |
+----------------------->| |
| | |
| | |
| 15. User Enters Prompt | |
+----------------------->| 16. Receives Prompt |
| | 17. Sends to Gemini API |
| +---------------------->| 18. AI Generates Image|
| | |
| <----------------------+ 19. Sends Image Back |
| | |
| 20. Displays Generated| |
| Image | |
+----------------------->| |
For Hardware: not applicable
https://drive.google.com/file/d/19L22sJuSnYK8dGawCcEj-0P2a61TeUz2/view?usp=drive_link
[Add any extra demo materials/links]
- Amaldev V K : Full-stack development, Gemini AI integration, MongoDB integration, frontend UI/UX, and project lead.
- Vaishnav Gopalakrishnan : Backend API development, MongoDB integration, and bug fixes.
Made with ❤️ at TinkerHub Useless Projects