The idea behind Majestic was born from the extremely hard task of photo editing, sometimes you only want to make a small change to a photo, but the process can be time-consuming and overwhelming, especially for people who don't have experience with photo editing software. Our goal was to create a solution that makes photo editing accessible to everyone, regardless of their level of technical expertise. I wanted to build a platform that could harness the power of AI to simplify the photo editing process and allow users to achieve the results they desire in a matter of minutes.
What it does ❓
Majestic is a web application that allows users to edit their selfies with AI technology easily. The process is simple: all users need to do is upload a photo and provide a description of the desired changes, and the AI model will take care of the rest. The results can then be retrieved via email, making the photo editing process fast, convenient, and stress-free.
How I built it 🏗️
Majestic was built using Next.js, a React-based framework for building server-side rendered applications. The AI model is hosted on Replicate's API, which provides access to state-of-the-art AI technology for natural language processing and image generation, specifically uses a fine-tuned open-source model for image manipulation, and is hosted as an API in a reliable and scalable way. I use a PostgreSQL database managed by Prisma ORM to store the results. The user interface was designed using TailwindCSS, a modern CSS framework, to provide a clean and intuitive user experience.
Challenges I ran into 🚧
The biggest challenge I faced was ensuring that the AI model was fast enough to meet the needs of the users. The model was slow to generate the results (up to 7 minutes), and this was a significant bottleneck for the application. To address this, I implemented a webhook system that allows us to update the data in real-time and speed up the generation process, and when done notify the user. This ensures that users receive their edited photos as quickly as possible, without having to wait for the AI model to complete its work.
Accomplishments that I am proud of ✅
I'm incredibly proud of what I have achieved with Majestic. The powerful REST API with rate limiting, the model pipeline, the database storage, and the beautiful UI.
What I learned 🙋♂️
The development of Majestic has been a great learning experience for me. I learned that AI technology is a powerful tool for photo editing, but it can also be quite complex. I also learned that building a user-friendly interface is crucial for ensuring that the tool is accessible and easy to use for everyone. Finally, I learned that it's important to constantly iterate and improve upon your work to deliver the best possible experience for your users.
What's next for Majestic 💭
The sky's the limit for Majestic! In the future, I plan to add more features to the tool, such as the ability to edit videos, add filters, and even integrate with popular social media platforms. My goal is to make Majestic the go-to tool for anyone looking to edit their photos and videos with ease. I'm constantly exploring new ways to improve and enhance the tool, and I'm always looking for feedback from our users to help guide us.