Case study
A site built to hand off qualified leads, not just look good.
Brenova — a premium website for a Brazilian camera-operator and drone-filmmaking business, delivered and running in production. Conversion was the brief from day one, not an afterthought.
The brief
Brenova shoots corporate video, real estate tours, event coverage, and aerial/drone work for clients across Brazil. The site had one job beyond looking the part: turn a portfolio visit into a qualified inquiry an actual CRM could pick up — not just a "contact us" page that goes into a void.
What's built
Next.js, React and TypeScript on the frontend, a headless CMS behind the portfolio and services content so Brenova can update their own work without touching code. Video runs through Cloudinary — hero reels autoplay with a poster fallback on mobile, tuned specifically so the video doesn't block Largest Contentful Paint. Portfolio is filterable by category (Corporate, Real Estate, Marketing, Events, Aerial), each item linking through to more detail, and the quote form does conditional routing into their CRM rather than a flat "someone will email you" box.
Delivery ran in five phases — discovery and approved scope, a build-ready foundation (repo, CI/CD, CMS, design system), a functional conversion MVP (pages, forms, CRM sync, booking), a proof pass (case studies and trust signals), and a hardening pass on performance, SEO and accessibility before launch. That structure is what let performance and accessibility work happen as a dedicated phase instead of a rushed afterthought.
A decision worth explaining
The project's own README scopes video hosting for Vimeo Pro or Wistia rather than self-hosting. What actually shipped, per the commit history, is different: video runs through Cloudinary alongside images, and the repo root was cleaned of raw media files entirely once that pipeline was live (a commit does exactly that). Worth naming plainly rather than smoothing over — the delivery deviated from its own planning document on this point, and Cloudinary is what's actually serving video today, not Vimeo or Wistia.
The CMS choice was headless specifically so a non-technical client could update portfolio items, pricing tiers and testimonials without a developer in the loop — the cost is more integration work up front (schema design, preview wiring) for less ongoing maintenance burden after handoff.
Measured, not claimed
brenova.com.br resolves to a fully operational site — a complete portfolio with named projects, working navigation and CTAs, and Cloudinary-served images. Checked by fetching the page directly, not a full technical crawl — so this confirms the site loads and functions, not an exhaustive audit for every broken link or asset.
The build was contracted against a specific performance bar — Lighthouse 90+ across categories, Core Web Vitals green, load under 2.5s — and the repo shows real work toward it (a dedicated "Core Web Vitals pass" commit, CSP and script-loading fixes tuned for the /odonto and /precos landing pages specifically). What isn't here is an independently re-measured Lighthouse score for this case study — that contracted number was the delivery target, not something I re-ran and captured myself, so I'm not presenting it as a measured result.
One more thing this case study won't do: cite a business outcome or a client quote. No permission to attribute a result to Brenova has been requested or granted, so none is claimed. What's above is everything I can stand behind without it: the brief, the build, and a site you can go check yourself.
See the delivered site
The portfolio, the service pages, and the quote flow are all live.
Visit brenova.com.br →