

Fox & Graham: Real Estate Listings Rebuilt as Native Framer Pages, Not a LoopNet Embed
How a boutique Houston commercial real estate firm got a custom Framer site whose property listings match the design instead of sitting inside an uncustomizable LoopNet iframe.
Framer Development + Animations
At a glance
Client: Always Creative (design agency), for their client Fox & Graham (Houston commercial real estate)
Design: Always Creative, art-directed by Jay Higginbotham
Stack: Framer, with a CMS-driven properties system fed from LoopNet/LoopLink data
My role: Framer build, properties CMS, SEO setup, launch and post-launch support
Live: foxgraham.com
The challenge
Always Creative had designed the full Fox & Graham site in Figma and brought me in for the Framer build. Fox & Graham is a boutique commercial real estate firm in Houston with 65+ years of combined experience on the team, so the site had to read as established and considered, not like a template. Roby Fitzhenry, Always Creative's founder, set the tone early: "Excited to get some beautiful motion in it."
The hard part was the property listings. Fox & Graham's live inventory lives on LoopNet, the CoStar-owned marketplace most commercial brokers list on. The original scope was the simple version: embed LoopNet in an iframe and style it at the container level. I started there and hit the wall fast. A raw LoopNet embed drops a chunk of someone else's interface into the middle of a custom site. You can frame it, but you can't touch the listing cards, the typography, or the spacing inside it. On a site whose whole point is looking boutique, the one page that actually sells the properties would be the one page that looked rented.
So I pitched the reframe. Instead of embedding LoopNet, I built a native properties collection in Framer's CMS (the content database that powers repeatable pages) and populated it from the LoopNet/LoopLink listing data. Each property becomes a real page on foxgraham.com, wearing the site's own design, with its own URL. The listings stop looking like a third-party widget and start looking like the firm.

The build
A few decisions shaped the front end:
An eight-page modular system built on a shared component library, so new sections and service pages slot in without rebuilding layouts from scratch
Three service pages (Brokerage, Development, Investments) running off the same flexible page template
A properties CMS with 28 live listings, each with its own detail page, sortable and filterable inside Framer instead of locked inside an iframe
A testimonials carousel pulling real client quotes (Baker Katz, Stolz Partners, and others) into a single scrolling band
A newsletter signup embed and a tested contact form for lead capture
The properties system is the piece I'm proudest of structurally. Because LoopNet has no usable public API (CoStar licenses one at the enterprise tier only, and scraping the public site breaks their terms of service), the listings are maintained manually from the LoopLink data rather than synced live. That's a real tradeoff: the client gets a properties page that looks native and loads fast, in exchange for a refresh step when inventory changes. For a firm carrying a couple dozen listings at a time, that trade is worth it. The page earns its place in the design instead of fighting it.
The motion
The brief asked for motion, so I treated it as a first-class part of the build rather than a coat of polish at the end. The homepage opens on a muted background video behind the "Find your place." headline, set to loop without ever pulling focus from the call to action sitting on top of it. From there, sections resolve on scroll with subtle reveals, and the service cards respond on hover so the three areas of focus feel browsable rather than static.
The restraint is the point. Commercial real estate clients are evaluating whether a firm is serious, and motion that shows off reads as the opposite. Every animation here is quiet enough that you feel the site is well made before you could name a single effect. That calibration, knowing how much motion a boutique B2B brand can carry before it tips into flashy, is most of the job.
Launch, and the indexing save
The site launched on foxgraham.com after final copy and image rounds came through Jay's Figma comments. Then a problem surfaced that had nothing to do with the design.
Roby ran a branded Google search and found the old /about-us page, a dead 404, sitting as the top result while the new site was nowhere. I traced it to two causes. The homepage had been set to noindex, so Google wouldn't surface the new front page at all, and the retired /about-us URL still had old search equity with no redirect pointing anywhere. I removed the homepage noindex and republished, then added a 301 redirect from /about-us to the new /company page so the old equity flowed somewhere real.

Results
First 30 days after indexing recovered (Jun 2 to Jul 2, Framer Analytics):
154 unique visitors and 490 pageviews, at a 2m49s average session and a 40.7% bounce rate
Google is the top traffic source (52 referrals against 5 from Bing), so the indexing fix did its job: organic search is now the front door to the site
/properties was the second most-viewed page (62 views), behind the homepage (116) and ahead of /company (51) and /services (27). The native listings are pulling real traffic, which is the whole argument for not burying them in an iframe
87% US audience (134 of 154 visitors), skewing desktop at 104 to 50 mobile, which fits commercial real estate clients browsing from the office
8-page site live on foxgraham.com with a 28-listing properties CMS, search indexing confirmed recovered in Search Console
What changed
Two things came out of this build that I keep using. The first is a default answer for any client whose data lives on a marketplace like LoopNet: build the listings as native CMS pages, not an embed, unless there's a licensed API that makes live sync worth it. The native version almost always looks better and is the only version that respects the design.
The second is a sharper SEO checklist for Framer launches. After Fox & Graham, I verify indexing against the raw served HTML and Search Console, never the DevTools inspector, because the inspector will happily show you a fix that the CDN hasn't actually shipped yet. Both of those are now standing parts of how I scope and launch a site.
"Hannes is a great person to work with. His quality is fantastic, very organized, and so much better than most in his industry. Excited to continue working with him in the future."
— Roby Fitzhenry, Founder/CCO, Always Creative
