
Oops!… I Did It Again — how I rebuilt my website in 24 hours (without knowing how to code)
I can't code. And yet my entire website — including client portal, CRM, galleries and admin area — has been running on my own server for two weeks. About twenty-four hours of building, two weeks of extending, and the feeling of watching software development reinvent itself in real time.
Oops!… I Did It Again.
I can't code. Really, I can't. I dropped out of my computer science degree back then with four straight failing grades. C, Java, data structures, algorithms. I genuinely tried and I genuinely failed. Since then I've carried this one sentence with me: programming isn't for me.
And yet for the last two weeks, my entire new website has been running on my own server with its own IP. Including a client portal, CRM, galleries, admin area, blog system and everything that goes with it. Built in twenty-four hours. Extended over two weeks. Entirely with AI.
I sat in front of the screen several times and thought: this isn't real right now.
The whole thing started with a dissatisfaction. My old website worked. It was tidy, it was reachable, it served its purpose. But it was a classic service-provider page. Services, packages, prices, contact form. A list of what I can do, without anyone really understanding how I work. And the longer I'd been talking to companies about real partnerships, the less that page felt like me.
I wanted something else. A site that shows how I think. How I accompany projects. How a job actually unfolds with me, from the first conversation to the final file. Something closer to consulting than to a webshop for shoot days.
So I started. With Claude as a sparring partner. First concept, then copy, then rough structure. And at some point one evening I thought: if I already have the concept, I can also just start building.
Twenty-four hours later, the first version was running.
Dynamic page structure. Client portal with login, dashboard and project status. Download area for finished deliveries. Online gallery for photo material. Inquiry form with an automatic summary by email. A custom backend where I can manage content, services, blog posts and clients directly.
And that's when it really started.
A finished application is one thing. Getting it to run somewhere is another. I had an empty VPS. Nothing on it but a fresh Linux. What happened next, in retrospect, sounds like a quick learning tour through what developers normally do for years. Set up SSH access. Install Node.js. Set up PM2 as a process manager. Put Nginx in front as the web server. Configure the firewall. Open ports, close ports, test routing. Issue certificates. Redirect DNS records. Put Cloudflare in front.
I pushed five hundred megabytes of project data onto the server via rsync. Built the Next.js app, deployed it, started it. The first errors came immediately. Routing conflicts, a wrongly set port, a cache layer that served everything twice. Step by step, reading logs, describing errors, applying fixes. Not me alone, but always in dialogue. I describe the problem, the AI suggests a solution, I apply it, I report back what happened. Again and again, until it ran.
At some point late in the evening, that was it. The site was live. Publicly reachable. On a real domain, on a real server, with real infrastructure.
And then I didn't stop.
In the two weeks after that, the website turned into a complete system. Piece by piece, feature by feature. Whenever I noticed in my day-to-day that something somewhere was still manual, I'd add another piece.
The CRM was one of the first big building blocks. A dedicated interface inside the admin area where I bring clients, inquiries and projects together. Who got in touch when. What was discussed. Where the project stands. Which files are already in the portal. Instead of three tabs, a notebook and an inbox, I now have one place where everything comes together.
In parallel, the admin area grew. I can now write, publish or unpublish blog articles directly in the browser. I can adjust services without touching code. I can swap images, rearrange content, create galleries, create clients, issue portal access. All in an interface only I see, tailored exactly to my workflow.
Then came the galleries. When I had to deliver five hundred images after a shoot, it used to be a mix of cloud links, mail attachments and explanations. Today I create a new gallery in the admin area, upload the selection, hand out access and send a link. The client sees a clean, calm interface, can click through, mark individual images and download everything at once.
The project file works on the same principle. Each project has a protected area containing everything that belongs to that job. Quote, concept, shoot plan, intermediate versions, final files. Instead of digging through old emails, the client looks into the area unlocked for them and immediately finds what they need.
The video review is the most recent addition. When a cut is ready, I no longer upload it to an external service, I upload it directly to the portal. The client can watch the video, comment at specific moments, leave feedback that I find again to the second in my editing program. Instead of ten emails with timecodes, there's a list I work through in order.
In front of the server now sits Cloudflare. Caching, bot protection, DDoS filtering, faster delivery to every region. When someone from Frankfurt or Hamburg loads the site, they don't pull it from the server in my data centre, they pull it from the nearest node. That makes the site noticeably faster and protects it at the same time.
Under the hood, a lot now runs automatically. I don't summarise form inquiries myself anymore, I get them as a neatly structured email. Login attempts in the admin area are secured. Data is backed up regularly. If a process crashes, it restarts itself without me even noticing anything happened.
When I write it like this, it sounds like a developer project. It isn't.
I didn't really write a single line of this code myself. I described what I needed. In my language, from my perspective. What should happen when a client logs in. How inquiries should feel. Which data needs to be in a CRM entry for me to actually work with it. The AI turned that into code, I got it onto the server, tried it, described what wasn't working, and handed it back.
That's a different mode from what I remember from my old studies. Back then I sat in front of a compiler telling me that line forty-two was missing a semicolon, and I had no idea what that even meant. Today I have a dialogue. I can ask why something is built the way it is. I can suggest alternatives. I can say a solution feels too complicated and get a simpler one. It feels less like coding and more like building something together.
What surprises me most about this process isn't that it works. It's how close what comes out of it is to my own way of working.
Every system I used before was built for someone else. A gallery platform for wedding photographers. A CRM for sales teams. A project management tool for agencies with twenty people. I always had to press my reality into their forms. Now it's the other way around. The software adapts to my daily life, not the other way around. If something's missing, I build it. If something's in the way, it goes.
That has consequences I'm only slowly grasping. I spend less money on tools. I'm not dependent on providers changing their pricing or killing features. I can put data where I want it. When a client sends sensitive material, it lives on my server, not in some third-party cloud whose terms I never really read. That's not a side point. That's a piece of sovereignty I didn't have before.
At the same time, that brings responsibility. If the server goes down, my whole working environment goes down. If backups don't run, data might be gone. If I misconfigure something, that's my problem. Honestly, not everyone wants that responsibility, and that's fine. For me it fits. I like understanding what's running, and I like being able to react quickly when something is off.
Maybe that's the real point. It isn't that every videographer now becomes a half-developer. It's about what becomes possible once you have tools that take building off your plate but leave the decisions with you.
I decide how a client moves through the gallery. I decide which data I capture per project. I decide what shows up on the admin home page and what lives in a second submenu. The AI builds, I shape.
If someone had asked me a year ago whether I could imagine running my own client portal, I would have waved it off. Too big. Too complex. Too far from my actual profession. Today it's reality. And it doesn't feel like a side project, it feels like a natural part of my studio.
What's becoming possible right now completely changes how fast you can turn ideas into reality. An idea that used to need a development team, three months and a five-figure budget is now a weekend. Provided you know what you actually want.
And that's exactly the new difficulty. It's no longer the building. It's knowing what should be built.
Maybe that's also the most honest advantage of my work as a videographer. I've been observing processes for years. I see where friction shows up in companies. Where communication breaks down. Where tools don't match reality. That same eye is what now helps me build my own system meaningfully. Not for a target group. For myself and my clients.
I didn't turn into a programmer. I still can't do it. If someone hands me a function on paper tomorrow and says, write that in C, I'll be out after three lines.
But I can build systems. I can run them. I can maintain them. And I can adapt them to the people who work with them.
Maybe that's the actual change. Not that everyone can suddenly code. But that the barrier between idea and execution is shrinking at a speed you barely notice while you're inside it.
I sat in front of the screen multiple times and thought: this isn't real right now.
It is. And it's running.
MORE INSIGHTS
Why visibility without trust doesn't move the needle — and how a film builds both
On how reach, trust and an employer brand that actually attracts candidates connect. And why video isn't an end in itself — it's a tool.
WorkflowWhat to think about before you have me produce a film for you
On briefings, budgets and the questions that actually matter.
WorkflowGoodbye SSD chaos — why I rebuilt my storage setup from scratch
Sometimes you suddenly notice that a system isn't growing with your work anymore. On the moment chaos turned into structure — and why a new NAS is my workflow upgrade of the year.