Phase 1 Build Proposal / 10.1.2026
For Matt & the H.G. Fenton team

Mark it once
in Yardi.
The site follows.

A rebuilt SRMurban.com that reads availability, pricing, and floor plans straight from Yardi, so nobody enters a unit twice.

Phase 1 Build 12 Weeks / $15,000
The Situation

Every unit
gets entered
twice.

Your leasing team marks a unit available in Yardi, sets the price and the terms, then opens WordPress and does it again by hand. It takes them 30 seconds and they're fast at it.

The cost shows up when somebody skips it. A unit that's live in Yardi and dark on the site never gets marketed. A stale price on a published listing is a fair housing problem, not a typo.

You're moving the whole portfolio off MRI onto Yardi anyway. The site is the last piece still running on hands, and it's also the piece doing the least commercial work for you today.

The Investment
$15,000 Fixed project price.

One number for the rebuild, the Yardi integration, and the marketing setup. We carry the overage risk, so the price holds even if the build runs long.

107 Hours of design + dev

Design and dev hours across both scope spreads. Management, design review, and QA are broken out there too, so you can see what sits inside the number.

Kickoff: late October 2026 Launch: January 2027
What We're Building

Six pieces.
One source of truth.

01

The site, rebuilt on Next.js

We keep the structure, the map, and the look your renters already use. Underneath it runs on a modern stack that your team can extend without fighting plugins.

02

Yardi as the only place you type

Availability, pricing, lease terms, photos, and floor plans all pull from RentCafe on a schedule. Your team marks a unit in Yardi and the website catches up on its own.

03

Search that reads live availability

Find Your Pad filters on bedrooms, price, neighborhood, and pets against real inventory. Map and list stay in sync, and a failed refresh shows the last good data instead of nothing.

04

Unit pages that build themselves

One page per available unit, created and retired by what Yardi says. Street and neighborhood lead, the way SRM actually rents, with apply links pointing at the right RentCafe record.

05

Tracking, retargeting, and lifecycle email

Tag Manager, GA4, and Customer.io wired to real events. Google and Meta pixels installed, so a renter who looked at a unit twice can see it again in their feed.

06

SEO and AEO from a clean start

You're near zero today, which makes this the cheapest upside in the project. Metadata, structured data, and a redirect map that keeps the listing URLs you've already earned.

The Difference

Two systems,
or one.

Today

Hands on every unit

A coordinator updates Yardi, then updates the site. Thirty seconds a unit, a few hundred units, and every one of them rides on somebody remembering.

“God willing, I hope they do it right, because otherwise it's fair housing challenges on the backside of that.”

After

Yardi decides, the site agrees

One entry in Yardi. The site picks it up on the next refresh, publishes the unit, and pulls it down when it leases. Nobody opens WordPress again.

“Here's your unit, and check out which street you're on, because that matters.”

Dual entry, retired Yardi as system of record
From Matt, on the call

“I don't want more work and more complexity. I want more customers.”

Matt Putman
Technology, H.G. Fenton Company
The Timeline

Twelve weeks,
gated on your Yardi cutover.

Late OctoberLaunch, January
Data contract
W1-2
Site build
W2-5
Yardi, sandbox
W3-6
Live SRM data
W7-9
SEO, tracking, QA
W9-11
Launch
W12

Your October cutover sets the pace here, not our build queue. We work against Yardi's sandbox from week 3 so the integration is proven before SRM data lands, then point it at live property data in week 7.

The Scope / Part 01 of 02

What your renters see.

Open any line for what's included
Item Type Design Build
  • Map pins draw from cached Yardi data, not manual entry
  • Featured units surface by availability date with no curation step
  • Neighborhood tiles route into the shared neighborhood template
  • Hero video and brand copy stay editable without a developer
  • Filters cover bedrooms, baths, price, neighborhood, pets, and unit features
  • Map and list views stay in sync as filters change
  • Filter state survives the back button from a unit page
  • Empty results and stale data both have a defined screen
  • One page per available unit, created and retired by Yardi
  • Photos, floor plan, price, terms, and square footage from RentCafe
  • Apply and inquiry buttons hit the correct RentCafe URL
  • Street and neighborhood context sits above building details
  • One template covers all eighteen neighborhoods, not eighteen pages
  • Available units in the area list themselves from live data
  • Local copy and imagery editable in the content system
  • Per-neighborhood metadata for local and AI search results
  • Our Story, FAQ, contact, and the resident portal handoff
  • FAQ marked up so answers can surface in AI results
  • Fair housing, accessibility, and privacy pages in place
  • Keyboard navigation, contrast, and alt text checked against WCAG AA
  • Contact form routed to the right leasing inbox with spam protection
  • Insider's Club email capture feeding a Customer.io welcome sequence
  • Submissions land in Customer.io, not an unmonitored inbox
  • Validation and confirmation messages on both forms, server side too
  • Headless CMS your marketing team runs for about $30 monthly
  • Content models for neighborhoods, FAQ entries, and page metadata
  • Editors change copy and metadata without touching code
  • Preview before publish, so nothing ships by accident
Part 01 Subtotal 11h 30h
The Scope / Part 02 of 02

What makes it work.

Item Type Design Build
  • OAuth token refreshed inside Yardi's eight hour window, with a lock
  • Per-property rate governor keeps calls under Yardi's daily ceilings
  • Fast lane for availability and pricing, slow lane for setup data
  • Last known good data serves if Yardi returns an error
  • One internal shape for units, so the front end never parses Yardi
  • Refresh cadence set per property, not one global setting
  • Swapping or adding a data source later touches one layer
  • Transaction counts logged, since Yardi reports nothing back to vendors
  • Metadata and canonical URLs per template, not per hand-built page
  • Structured data for listings and neighborhoods, readable by AI search
  • Redirect map so existing unit URLs keep the traffic they have
  • Sitemap and robots file generated from the live inventory
  • Tag Manager container with events for inquiries, applies, and filters
  • GA4 reporting configured against that event model, not defaults
  • Google and Meta retargeting pixels installed and verified firing
  • Customer.io connected for lead capture and follow-up sequences
  • Staging and production on your own cloud, with preview builds
  • Rollback path tested before the launch, not after
  • Uptime and error alerts on the integration, not just the site
  • Two weeks of post-launch fixes on integration behavior
Part 02 Subtotal 0h 38h
+ Project Management 15% of design + build — 12h
+ Design Review Floor, light design scope 2h —
+ QA + Testing 20% of build — 14h
Project Total 13h 94h
Same Team, Next Build

Ready when you are, Matt.

We built the site you're running today, and we've kept it up since launch. This is the next version of that same working relationship, with Yardi doing the typing instead of your leasing team.

Sign off and we'll start on the data contract while your October cutover runs, so the rebuilt site and the tracking stack are live before January.

Contact

Brian Hammond
VP of Sales, FYC Labs

Reach Me

bhammond@fyclabs.com
fyclabs.com

Proposal valid 14 days 10.1.2026
01 / 10