All Projects

Bonavista Admin Panel

Operations platform with a custom AI powered SEO engine that replaced a $400/month vendor at $0.50/run, plus receipt automation, Google Reviews, Matterport, and mileage tracking across 60+ properties.

Admin Panel home screen
Google Reviews dashboard
Mileage entry
🧾

Receipt Processor

Cloudflare Email Workers · Browser Rendering · R2 · Gemini Flash · MySQL · Resend

📧

Email received

receipts@ inbox

Cloudflare Worker

Parse & extract

🤖

Gemini Flash

OCR & classify

Store & Confirm

MySQL + R2 + email

  • Accepts receipts via email forwarding or direct UI upload
  • Handles PDF, image (HEIC/JPEG/PNG), and text-only emails (Amazon order confirmations)
  • Gemini Flash extracts structured JSON: total, merchant, description, GL code, date, OCR text
  • Rule-based learning engine improves merchant recognition and GL code accuracy over time
  • Accuracy tracking system measures extraction quality per merchant
  • Files stored in Cloudflare R2, confirmation email sent via Resend

1,000 receipts/month · <60 second processing

📈

SEO Engine

Gemini 3.1 Pro · Google Search Console · DataForSEO · Foursquare · Google Places

The existing SEO vendor was charging $400/month for generic content that didn't reflect individual property characteristics. Replaced it with an automated Gemini pipeline at ~$0.50 per property per run, generating data-driven, property-specific content across all 60+ sites.

Pipeline

1

Data Collection

Aggregates property data, nearby places, walk scores, competitor keyword positions, and performance history from 6+ APIs in parallel

2

Portfolio Deconfliction

Ensures 60+ properties in overlapping markets target different keywords, preventing the portfolio from cannibalizing its own rankings

3

Content Generation

Gemini generates property-specific meta descriptions, FAQs, page content, and schema markup, each citing real neighborhood data, never prices

4

Delivery & Tracking

Content pushed to WordPress plugin, keyword positions tracked biweekly. Stable content preserved, declining content auto-refreshed, saving ~30-40% on API costs

What It Generates

📝

Page Titles & Meta

Tailored per property and page type with template placeholders for individual floor plans

FAQ Content

10 structured items per property with FAQPage schema: availability, neighborhood, and floor plan topics

📄

SEO Paragraphs

Per-section content citing specific nearby places, walk scores, amenity counts, auto-refreshed on decline

🏘️

Neighborhood Summaries

Lifestyle prose from Foursquare + Google Places: walkability, dining, transit, grocery data

🖼️

Image Alt Templates

Per-category templates (bedroom, kitchen, exterior) with property context applied

📍

GBP Content

Q&A pairs, biweekly post content with semantically matched property photos

Monitoring & Optimization

  • Biweekly keyword position tracking via Google Search Console. Trend analysis flags improving, stagnant, and declining keywords
  • Automated SERP screenshots with fuzzy matching to detect name, address, phone, or URL mismatches
  • Seasonality awareness: content strategy shifts 6 to 8 weeks before peak leasing season
  • Competitor keyword gap analysis identifies terms competitors rank for that the property doesn't yet target

$400/mo

Previous vendor

~$0.50

Per property, biweekly

99.7%

Cost reduction

See how this content is delivered →

The WordPress plugin and Next.js sites that render SEO engine output across 60+ properties

🌐

GBP & Listings Sync

Google Business Profile · Foursquare · Google Places · ILS Platforms

  • 20+ automated cron jobs sync property data, media, reviews, and listings across GBP, Foursquare, Google Places, and ILS platforms
  • Photo rotation with scored image selection on a weekly schedule
  • Neighborhood profile generation: walkability scores, nearby amenities, cuisine data, transit lines
  • HelloData integration for property comparables and market positioning
  • Runs 24/7 on nightly, hourly, and weekly schedules depending on data freshness requirements

Google Reviews

Google Business Profile · Gemini · Sentiment Analysis

  • Automated review retrieval from Google Business Profile across all 60+ properties
  • AI-generated response drafts using Gemini, tone-appropriate and brand-consistent
  • Employee name extraction and sentiment analysis for performance tracking
  • Review engagement metrics and export for reporting
📸

Matterport 3D Tours

Matterport GraphQL API · Yardi · RentCafe

  • Bonavista-owned iPhones checked out by property managers for 3D tour capture via Matterport app
  • Matterport GraphQL API auto-categorizes scans to the correct Yardi/RentCafe property ID
  • Billing automation: reminders on day 10, approval on day 15, billing on day 1 via cron jobs
  • Global billing settings management with per-property override support
🚗

Mileage Tracking

Google Maps Distance API · CSV Export · Payroll Integration

  • Property origin and destination input with automatic distance calculation
  • End-of-month automated mileage report generated per employee
  • CSV export for payroll integration

99.7%

SEO Cost Reduction

1,000/mo

Receipts Auto-Processed

60+

Properties Managed

20+

Automated Cron Jobs

6

Integrated Modules

Built With

Next.jsTypeScriptGoogle GeminiCloudflare WorkersMySQLMatterport API