What is cinematic?
This is a question that has followed me for years. It’s a feeling, an aesthetic, a vibe. Two years ago, I started a journey to answer it for myself, not with a film school essay, but with code. I built an iOS app called XpanCam. It was my first time truly "vibe coding" — building an application based on a feeling I was chasing.
Link of XpanCam: https://apps.apple.com/us/app/id6448869302
The Spark of Inspiration: The Legendary Hasselblad XPan
Years ago, I saw a YouTuber doing street photography with a camera called the Hasselblad XPan. That was the first time I was amazed by the Xpan’s 65:24 super-wide-angle aspect ratio. The view was overwhelming. It wasn't just wide; it felt like a story was unfolding within the frame. It was, in a word, cinematic.
I became obsessed with that look. But there was a problem. An actual XPan film camera is incredibly expensive. So, like many digital creators, I thought about the simple solution: just squeezing the letterbox by adding black bars to make a video feel like a film. People could even just use black tape on their camera screens to get the Xpan-like look.
But that felt like a cheat. It was mimicking the shape, but not the spirit. It was a compromise. Then a new idea came to mind.
Can I make an XPan camera app on my iPhone?
When I knew I could finally build an app with the help of AI from the ground up, I realized I could build the app that I’d dreamed of but had never done before: a camera app.
Vibe Coding an App: The Birth of XpanCam 1.0
The initial design philosophy was built on a few core principles.
Principle 1: Full-Screen Immersion
The first thing was absolute: under any circumstances, without any compromise, we should use up all the width of our screen. The entire experience had to be about that immersive, wide view. Since we used all the space, the UI had to be about simplicity and be easy to read.
Principle 2: Gamifying Beauty with an AI Aesthetic Score
Then I was thinking, can we add a small feature that turns every single shot into a fantastic challenge?
Back then, I was playing around with Stable Diffusion, the AI image generation tool. I noticed there’s a parameter called "Aesthetic Score." If you set that score higher, you get a prettier image. This sparked a reverse-engineering question: Can we input an image and get that score?
Then, how can we integrate this score into our app organically?
This led to the core feature of XpanCam. We would use an offline AI model to score every photo in real-time. I found out that below a score of 4.5, the image usually looks bad. So we set a rule: the app would not allow the user to save photos that scored below 4.5.
It feels like a Texas sharpshooter fallacy — where you shoot first and draw the target later. It's definitely not a good way to make a product, but please, please let me do this! It just felt fun.
And that makes every take exciting. You’re not just taking a photo; you’re trying to beat the AI. This was the fantastic combination I was looking for. Since this app is emphasizing taking cinematic photos, what if the AI could detect the bad photos and delete all of them? We could only get good photos, right?
So, we had version 1.0 of our XpanCam app.
The Evolution: Real-Time Rendering and Iconic Film Looks
After two years of "vibe coding," AI and I had changed a lot. A lot of customers asked me, “Can we get the real-time rendering of the film look?”
Today, I’m thrilled to announce that we are able to do the real-time rendering now.
I looked up classic films with the most iconic color palettes and made customized filters based on them. The purple in La La Land, the orange in Blade Runner 2049, the red in Hero — you can see a lot of them in the new version.
Putting It to the Test: A Cinematic Journey
With the new version ready, it was time to take some sample photos.
My plan was simple: start at Yunhai Plaza to capture the dramatic elevation drop of Yantian Port, then head to Golden Pier at sunset to film the ships docking. Later in the evening, we’d make our way up to the observation deck at Yantian Senior High School to shoot the night view from the mountain.
I looked up the weather forecast, and it was supposed to be nice. But right now… it is just rainy outside.
What a fantastic way to start our trip.
I used my A7R5 and 1635 f4 PZ to film my iPhone via XpanCam which is nice.
Later, at the pier, the sunset was perfect. I found the Blade Runner filter—the orange one—just pops. I had originally thought the La La Land filter would be a great choice at dawn, but the orange one won. The app gave the scene an otherworldly, sci-fi feel that was just perfect for the massive container ships.
Finally, we made it to the observation point on the mountain. Alright, now we have finally arrived. Looking down at the city lights, it is just gorgeous to use the La La Land filter. And let’s enjoy it.
The Real Meaning of "Cinematic"
Two years later, I now have a much better understanding of what "cinematic" means. But every time I open my XpanCam app, I could still have great fun playing around, even without selecting any filters.
I think that could be the biggest reason behind "cinematic." It’s not just a look; it’s an intention, a constraint, and a process that makes creation exciting again.
And this is the story of the XpanCam app.
Have fun, and we will see you in the next one.