inreal.studio3D Studio Website Development

Case study of a 3D studio website. Built a high-performance frontend with animations and an admin panel integrated via Next.js ISR

The client requested the development of a new project - a website for a 3D studio. Initially, there were only 2 pages - the homepage and the portfolio (which is divided into 4 categories), as well as several pop-up windows.

The client’s two main requirements were SEO and the ability to easily add new works to the portfolio.

Frontend

Therefore, Next.js was chosen for the frontend, as it perfectly fits the tasks. First of all, technically it is an SPA, so all page transitions are just changes within a single page. Visitors don’t notice this, but it allows, for example, making a pop-up window a separate page, which is crucial for SEO. Secondly, it supports ISR — pages will be regenerated at set intervals, reducing the load on both the server and the user’s browser.

Backend

WordPress was chosen as the CMS. Overall, it might not seem like the best idea in 2026. However, the web development landscape is shaped such that only PHP hosting costs pennies, and absolutely everyone knows how to work with WordPress. Writing a custom backend would heavily impact the development budget, and choosing a ready-made CMS on Node.js would require renting a VPS, which is also significantly more expensive than regular file hosting.

As a result, we saved both the development and hosting budgets. Meanwhile, WordPress is used as a Headless CMS, making it easy to rebuild any component at any time without much trouble.

Home

While working with animation, several issues arose. First, building it with pure JS was a fatal mistake — initially, I thought it would simplify the process (since the animation isn’t very complex) and speed up the site loading time. In reality, it turned out exactly the opposite. But most importantly, it had almost no impact on the final result.

Portfolio

The portfolio is divided into categories, and each project features tags. As mentioned before, it is loaded from WordPress. ISR was implemented here — the page regenerates every 10 minutes instead of on every user request as usual. This significantly cuts down loading times and reduces server load.

Screenshot of the portfolio page of the inreal.studio website

Thanks to the Next.js app router, each category is a separate page, while shared elements are loaded only once, rather than multiple times as it would be with other tools.

Cases (and new categories) can be created, deleted, and reordered in the WordPress admin panel, and then Next.js generates the ready page instead of making requests every single time.

Services

After some time, a need arose to add service pages. The navigation elements there are exactly the same as on the cases page. But I also anticipated a scenario where the number of services might grow

Screenshot of the service page of the inreal.studio website

Conclusion

What conclusions did I draw from this project? Actually, quite a lot. Among the wrong decisions, as I mentioned, was the choice to handle animations using pure JS. Now I would use motion or GSAP. On the other hand, WordPress, though its integration wasn’t without hiccups, fit in perfectly in my opinion — we saved both the development and hosting budgets.

Overall, just like with any project, I learned a lot of new things from this one, and I believe even the most experienced developer can say the same after completing another project.