PropertyPulse: How We Built a Central Florida Investment Intelligence App That Gives the Same Score Twice

Web Development · 5 min read ·

By Heath Daniel, Founder & AI Platform Architect, HD Connex · Published:

Direct answer: PropertyPulse is a Central Florida real estate investment intelligence app for investors, realtors and contractors. HD Connex built it: a Next.js 14 and TypeScript app with Prisma and PostgreSQL on Vercel, deterministic Buy/Pass scores, market signals pulled from public data, a Mapbox market map and an Expo mobile app, built in 88 commits between April 1 and October 31, 2026.

PropertyPulse is a Central Florida real estate investment intelligence app for investors, realtors and contractors. HD Connex built it: a Next.js 14 and TypeScript app with Prisma and PostgreSQL on Vercel, deterministic Buy/Pass scores, market signals pulled from public data, a Mapbox market map and an Expo mobile app, built in 88 commits between April 1 and October 31, 2026.

PropertyPulse - Central Florida investment intelligence home page
PropertyPulse - Central Florida investment intelligence home page

What PropertyPulse does

The app at propertypulse-gold.vercel.app is listed among the product builds on our portfolio, not the client sites, and serves three sides of one market. The model: investors pay for scores, heat maps and ROI tools on a subscription; realtors pay for leads with proven investment intent; contractors pay for renovation projects in ZIP codes where permits are moving; nobody pays for browsing. The home page promise is blunt: buy or pass, same answer tomorrow. Same inputs, same scores, published weights, and grades that are never re-rolled for theater.

The one hard problem: numbers you could trust

The hardest work was not a feature. It was removing invention. Our July 11, 2026 execution report records that the AI advisor, contractor matching, heatmap, permit and gamification engines had all been leaning on random values, and the rental yield API carried a hard-coded neighborhood average of 7.2. The pass replaced them with deterministic math, and a grep gate now checks that no engine calls Math.random. With fewer than three comparable sales the yield average returns nothing and the interface shows an empty state. A fabricated statistic and placeholder testimonials came off the marketing pages in the same pass, replaced by trust pillars. That run ended at 72 of 72 tests passing with a clean typecheck. The Buy/Pass score card landed in that pass too, with server-enforced free-tier limits and a public, crawlable property section.

Real signals from public data

The next layer came on August 17, 2026. We laid the pipeline foundations, import-log sources and a cron dispatcher, then fed them: per-ZIP market aggregation that retired the illustrative heatmap, Census data across two vintages for growth and education plus County Business Patterns, building permits from the Census survey with Orlando open data for detail, BLS job growth, an OpenStreetMap walkability proxy, Zillow research data, USASpending and FBI crime scaling. A real school signal followed on August 26; on October 31 we had to follow the Florida Department of Education's new file path when its school-grade files moved. Two Vercel crons are configured: a listings import at 02:00 UTC, which waits on a licensed feed, and a data refresh at 04:00 UTC. August 17 also brought the engagement layer: an event-sourced PulsePoints ledger, leaderboards, a trophy case and Investor IQ deal predictions, the last of which came in as the project's second pull request.

The listing data, honestly

Here is the part a marketing page would skip. Our September 2026 integration note says it plainly: the app has no real listing data. Every property is a generated fixture tagged DEMO DATA on web and mobile, and the August 29 Central Florida demo dataset covers residential and commercial, on-market and off-market. MLS access is gated on licensing, not engineering. Central Florida is served by Stellar MLS, membership goes through a licensee, and an IDX or VOW participation agreement decides what may be displayed. So we built the plumbing: a provider-agnostic importer with a RESO Web API provider that maps Data Dictionary 1.7 fields, a dry run that fetches five listings, writes nothing and flags a feed with no Florida records, and a provenance column that keeps seeded rows marked as seed. The note also lists what is still missing: broker attribution on cards, a refresh cadence that meets a typical twelve-hour IDX window rather than the daily cron, a purge for delisted records, since the importer upserts and never deletes, and a review of the unauthenticated search API against redistribution terms.

What we built, and what it runs on

The web app is Next.js 14 on the App Router with TypeScript, with Prisma 5 over PostgreSQL in production and SQLite in development. Sign-in is NextAuth 4 with email and password, bcrypt hashing, JWT sessions in HTTP-only cookies and five login attempts per hour per email address. The interface is Tailwind with shadcn/ui, the map is Mapbox GL with supercluster, email goes through Resend, and Stripe handles the free, premium and professional tiers with webhook handling. The language-model features use the OpenAI SDK, after the October 31 switch from Anthropic. Vercel runs prisma migrate deploy before every build, and seven migrations span July 11 to September 3. The look follows the Industry design spec approved on August 23: Barlow type, light and dark tokens, a rule of no red, green or amber anywhere, and a SAMPLE label on any fallback data. Sixteen pages were wired to the REST backend on August 25, and eight waves on August 26 added score transparency, alerts, monetization, the Mapbox map view, natural-language search, a self-healing pipeline, a chatbot and contractor bidding. An Expo mobile app on Expo 54 and React Native 0.81 lives in the same repository, with its screens filled in on September 2.

Security and cleanup

August 31 closed an insecure direct object reference that let saved calculations be fetched without authentication, patched fourteen dependency advisories, pinned a patched SheetJS build and fixed billing gating. October 8 fixed mobile authentication with a mobile sign-in screen (the third pull request) and replaced unsupported marketplace estimates with listing evidence (the fourth). October 31 added the HD Connex build credit to the footers.

What shipped, and when

Eighty-eight commits between April 1 and October 31, 2026:

  • April 1: initial commit.
  • April 20: Vercel serverless fixes.
  • July 11: determinism and honesty pass.
  • August 17: data pipelines and gamification.
  • August 23 to 25: design system and mobile app.
  • August 26: eight feature waves.
  • August 29: Central Florida demo dataset.
  • August 31: security fixes.
  • September 2: mobile screens and listing provider seam.
  • October 8: mobile authentication and marketplace fixes.
  • October 31: footer credit, model switch and school-grade fix.

What we would do differently

  • Start the licensing path the week the listing UI starts. The importer is ready; the agreement is the gate, and our own note budgets it in weeks, not days.
  • Make scoring deterministic from the first commit. Random values had reached the engines before the July pass removed them.
  • Write an authorization test for every saved-object route up front; a test should catch an IDOR like the one fixed on August 31.
  • Treat every outside data source as something that will move; the school-grade path did in October.

Building a data product in Florida?

HD Connex builds custom software, web apps and AI agents from Daytona Beach for businesses across Volusia County, Orlando and Florida. Every engagement starts with a free consult and a fixed quote before any build.

Sources and further reading

See it live: PropertyPulse

PropertyPulse home page

Three-sided real estate tool for investors, agents and contractors.

Visit propertypulse-gold.vercel.app · See it in the portfolio

Frequently Asked Questions

What did HD Connex build for PropertyPulse?

The web app at propertypulse-gold.vercel.app: a Next.js 14 and TypeScript application with Prisma on PostgreSQL, NextAuth sign-in, Stripe billing, a Mapbox market map, deterministic Buy/Pass scoring, public-data pipelines for census, permit, job, crime and school signals, a gamified PulsePoints layer, deployed on Vercel, plus an Expo mobile app that lives in the same repository.

Does PropertyPulse show live MLS listings?

Not yet. As of the September 2026 integration note, every property is a generated fixture labeled DEMO DATA, because displaying listings requires Stellar MLS membership through a licensee and an IDX or VOW participation agreement. The importer already speaks the RESO Web API and has a dry-run mode, so going live is a licensing and compliance step, with broker attribution and a delisted-record purge still to build.

What does "same answer tomorrow" mean on the PropertyPulse home page?

Scores are deterministic. The July 11, 2026 pass removed random values from the scoring engines and made the rental-yield tool return an empty state rather than an invented average when fewer than three comparable sales exist. The live site states that its weights are published and that the same inputs produce the same scores.

Topics: Project Story, Real Estate Software, Next.js, Prisma, Vercel, Central Florida

Written by Heath Daniel

Founder & AI Platform Architect, HD Connex. Heath builds the websites, AI agents and lead systems HD Connex ships for Daytona Beach and Volusia County businesses, and writes up what works from real client builds. About Heath

Keep reading

Related: Custom software and web apps · Custom AI agents for Florida businesses · Web development in Orlando · Book a free consult · Industry solutions (Daytona Beach) · Website design packages

← Back to blog · Industry solutions

Contact Us View Case Studies

HD Connex
Daytona Beach, FL 32118
Phone: +1 (386) 318-2214
Email: heath@hdconnex.com