Asi real-estate-shark

Real Estate Shark

install
source · Clone the upstream repo
git clone https://github.com/plurigrid/asi
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/plurigrid/asi "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/real-estate-shark" ~/.claude/skills/plurigrid-asi-real-estate-shark && rm -rf "$T"
manifest: skills/real-estate-shark/SKILL.md
source content

Real Estate Shark

Trit: MINUS (-1) — Validation/Analysis
Color:

#DA9E5A

URI:
skill://real-estate-shark#DA9E5A

Purpose

Transform single property/neighborhood images into photorealistic 3D Gaussian Splats using Apple's ml-sharp, enabling virtual walkthroughs from a single photograph. Bridge to PropertyPriceOracle for valuation analytics.

When to Use

  • Converting property listing photos to 3D walkthroughs
  • Neighborhood visualization from street-level imagery
  • Real estate due diligence with 3D spatial analysis
  • Virtual staging and property tours from single images

Dependencies

  • apple/ml-sharp
    — SHARP monocular view synthesis
  • PropertyPriceOracle
    — Addictive market dynamics valuation
  • Gay.jl GF(3) coloring for property classification

Quick Start

# Activate ml-sharp environment
cd ~/ies/ml-sharp && source .venv/bin/activate

# Single image → 3D Gaussian Splat (<1 second on GPU)
sharp predict -i property_photo.jpg -o splats/ --device mps

# With video rendering (CUDA only)
sharp predict -i photos/ -o splats/ --render --device cuda

# Render from existing splats
sharp render -i splats/ -o videos/

Architecture

┌─────────────────┐     ┌──────────────────┐     ┌─────────────────┐
│  Property Image │────▶│  SHARP (ml-sharp)│────▶│  3DGS .ply file │
│  (single photo) │     │  ViT + SPN + UNet│     │  (63MB splat)   │
└─────────────────┘     └──────────────────┘     └────────┬────────┘
                                                          │
                        ┌──────────────────┐              │
                        │ PropertyPriceOracle│◀────────────┘
                        │ • get_price()     │     Spatial analysis
                        │ • get_volatility()│     informs valuation
                        │ • get_sentiment() │
                        └──────────────────┘

GF(3) Balanced Triad

SkillTritRole
real-estate-shark
-1Validation: 3D reconstruction quality
map-projection
0Coordination: Geo-spatial transforms
addictive-market
+1Generation: Price dynamics
Sum0✓ Conserved

Output Format

SHARP produces 3DGS

.ply
files compatible with:

  • gsplat renderers
  • Standard 3DGS viewers
  • OpenCV coordinate convention (x right, y down, z forward)

Performance

MetricValue
Inference time<1 second (GPU)
Output size~63MB per splat
LPIPS improvement25-34% vs prior SOTA
DISTS improvement21-43% vs prior SOTA

Example: Neighborhood Batch Processing

from pathlib import Path
import subprocess

def shark_neighborhood(image_dir: Path, output_dir: Path, device: str = "mps"):
    """Convert neighborhood photos to 3D splats."""
    cmd = [
        "sharp", "predict",
        "-i", str(image_dir),
        "-o", str(output_dir),
        "--device", device
    ]
    subprocess.run(cmd, check=True)
    return list(output_dir.glob("*.ply"))

# Usage
splats = shark_neighborhood(
    Path("~/listings/123_main_st/photos"),
    Path("~/listings/123_main_st/splats")
)
print(f"Generated {len(splats)} 3D property splats")

Integration with PropertyPriceOracle

from addictive_market_dynamics import PropertyPriceOracle

# Initialize oracle with base property values
oracle = PropertyPriceOracle({
    1: 450_000,  # 123 Main St
    2: 525_000,  # 456 Oak Ave
    3: 380_000,  # 789 Pine Rd
})

# Get current valuation with market dynamics
for prop_id in [1, 2, 3]:
    price = oracle.get_price(prop_id)
    vol = oracle.get_volatility(prop_id)
    sentiment = oracle.get_sentiment(prop_id)
    cascade = oracle.get_cascade_state(prop_id)
    
    print(f"Property {prop_id}: ${price:,.0f} (vol={vol:.2%}, {cascade})")

References