Inspiration
I'm a photographer and I've spent hours and hours editing photos. It is my least favorite part of the process because of how time consuming it is. Editing is also completely subjective, so it is up to individual taste.
What it does
editing is a basic editing software that allows you to edit photos by talking or typing. It makes the workflow much easier and quicker.
How we built it
Typescript, React, and Vite for a website with no backend: all on device. I used one json to store the entire edit stack. this allowed the LLM to work with the edits really easily. The LLM never picks a number. It returns a parameter, a direction, an intensity word and a target; every magnitude comes from our own calibration table. So "a bit warmer" means the same thing every time.
Challenges we ran into
There were many challenges with making the initial editing software. It is a complex process to take raw files so I had to figure out which libraries to use and the overall tech stack. I also needed to make deliberate choices when choosing how to use processing power. The speech to text and text to tools pipeline was offloaded to being all online and handled by an api, allowing for low latency editing.
Accomplishments that we're proud of
I'm proud of how little delay there is between making your prompt and getting an update in front of your eyes. The software is intuitive and easy to use, it looks good and gets the job done.
What we learned
I learned a lot about organizing a project and all the layers of tech required to make it. Working with raw photos is not that simple and requires many layers to make sure that the user sees the image they want to see. Working with open router api again was easy and quick to set up so it allowed me to do spend my energy on the actual workflow and how work would be split up.
What's next for editing
Adding more functionality. Right now Editing is a very minimal editing software and is missing a few features I would want before I actually use this for my own work. I want to be able to give the model more context with the image. For example subject detection for masking would be cool so you could say "make the bird a little brighter" and it masks it and brightens just the bird. Another big one is cropping. Being able to crop with voice would be so cool.
Built With
- libraw-wasm
- openrouter
- react
- webgl2