Dev Meeting

Hearthstone Realty & Kalayjian Projects

May 28, 2026
Dev Session Notes
🏰

Realm Estate

Fantasy real estate strategy · Medieval → Maritime → Modern
🌐 realmestate.netlify.app
A fantasy strategy game teaching real estate investing. Buy properties, collect rent, survive rivals and disasters across three eras. Playable on web and mobile (PWA), with Google Play and Microsoft Store packaging in progress.
⚔️ Medieval — Live ⚓ Maritime — Post-launch 🏙 Modern — Post-launch
✅ Live & Complete
⚔️Medieval hex map — terrain textures (plains, forest, mountain), property purchase, tenants, lease system, eviction & sob stories
💎Gem economy — earn free gems & spend on property upgrades, disaster protection, condition boosts
Disaster events with gem protection options
🤝Multiple offer / rival bidding on purchases + Negotiation modal (3 offer tiers + walk away)
🔊Sound system — era music & sound effects with volume control
💳Stripe payments live & tested — gem packs ($4.99 / $7.99 / $14.99), Lord's Charter ($12.99 one-time founder pack), Apprentice Pass ($4.99/mo) & Realm Pass ($9.99/mo)
🏆Gem Shop — Lord's Charter & Monthly Pass buy/status screens. Monthly passes non-auto-recurring (player opts in each month — no surprise billing)
🤖AI Advisor — era-appropriate sage, navigator, or analyst
📲Cross-platform save — device transfer via text code, no account needed. PWA ready — installable on iOS & Android, works offline
🖼️17 unique portrait artworks — rivals, tenants, advisors
💎Free gem earning: +5 on first startup · +1 every 15 turns · +1 on level-up · weekly drip while a pass is active
🐛Crash fix deployed (May 28) — manage modal null guards added for condition repair block & tenant status display; resolves round-5 crash when viewing owned property upgrades
🛒"Buy Gems" button (May 28) — gem shop entry button label updated from "Tap to Shop" → "Buy Gems" for clearer call-to-action. Deployed.
💬 Discussion — Voluntary Rewarded Video Ads (Mobile Only)
📺 Philosophy: Forced ads kill games. Voluntary rewarded ads — where the player actively chooses to watch for a reward — are a completely different experience. Player feels in control; the ad becomes a feature. Web version stays 100% ad-free; Google Play mobile gets opt-in AdMob rewards.
🎮 How it works: A windfall event is discovered on a property → banner appears: "Ancient artifact found at Willowfen! Watch a short video to claim your reward." → Player taps Watch & Claim (15–30 sec ad plays) OR taps Skip (no penalty, event passes). Max 2–3 prompts per session.
🗺️ Web/laptop — NO ads. Bigger screen stays clean and premium. Google Play mobile — voluntary rewarded ads via AdMob, fully opt-in.
Windfall Events — Already in Game
Gem deposit found (+1 gem) Broken warding rune — cheap disaster protection Sunken treasure (gold windfall — maritime) Pearl bed (+1 gem — maritime) Hidden safe (gold windfall — modern) Old sprinkler / flood barrier (discounted upgrade — modern)
Proposed New Windfall Events
Ancient artifact — sell for gold haul Traveling fair — bonus rent this turn Royal tax exemption scroll Old ledger — rival loses gold Dragon's hoard (+2 gems) Enchanted spring (+1 gem/turn × 3) Mystic relic — choose gems OR gold Treasure map — off-market at 20% off Skeleton key — reserve listing free Crystal ball — preview next 3 listings Ancient deed — claim vacant hex free Celebrity tenant — double rent one lease Wizard lodger — pays in gems Alchemist's workshop — convert gold to gems Pre-built fortification — free disaster upgrade
Decisions Needed
Confirm voluntary-only ad policy officially
Choose which windfall events get the "Watch to Claim" option (suggest 6–8 to start)
Build event system now with a placeholder, or wait until Google Play packaging?
💬 Jason's Feedback — May 28 Session
Seller pic & statement — Confirmed good as-is. No changes needed to the current negotiation intro screen.
Crash fix — Round-5 crash when clicking an owned property (manage modal) identified and fixed. Root cause: condition repair block assumed a valid condition index; added null guards for condition repair and tenant status. Deployed.
"Buy Gems" label — Gem shop button now reads "Buy Gems" instead of "Tap to Shop." Deployed.
📊 Advisor financials at asking price — When the AI advisor gives its advice, show the actual numbers for the property at its current asking price (GRM, cap rate, monthly cash flow). Currently text-only. Build: add a small stats panel below the advice text in the property examine / negotiate flow — same numbers the Investor Calculator outputs.
💰 Financials by purchase type — Jason observed the numbers should reflect how you finance it. Clarification: GRM and cap rate are property-level metrics — they stay the same regardless of financing. What does change: cash-on-cash return and monthly cash flow (because debt service changes). Proposed fix: show all three financing scenarios side-by-side (Cash / Royal Bank mortgage / Grimdar loan shark) so the player can see exactly how each choice affects their monthly pocket and return on invested capital. Discuss: all three options shown simultaneously, or just the one the player selects in the finance tab?
🗺️ Map animations — More animation and better graphics on the people and property cards moving across the hex map. Current movement is minimal. Options to discuss: CSS transition upgrades (smoother card slides), sprite-based walking character frames, or animated purchase/sale "pop" effects on the hex tiles.
🎭 NPC Cinematic Negotiation System — May 28 Design
💡 Concept: Every property for sale has a named NPC seller — Lord Aldric, Widow Maren, Brother Ossian, etc. — assigned by property type. Instead of clicking straight to a bid form, you get a short cinematic story moment: the seller's portrait fills the screen, they deliver 2–3 lines of dialogue revealing their situation (desperate, shrewd, sentimental, impatient, or greedy), and then you choose your offer. Modeled on the shop negotiation screens from Shop Titans and similar mobile games. Uses the existing 17 portrait artworks — no new art budget needed.
How It Flows

Phase 1 — Story Hook

Seller portrait fills screen Name + personality label shown 2–3 taps of dialogue (Tap to continue) Context: why they're selling

Phase 2 — Bid

Offer Low (–15%) — risky, may offend Offer Fair (asking) — safe Offer High (+10%) — impresses seller Walk Away — free, no commitment

Phase 3 — Counter

Seller responds by personality Names a specific counter-price Accept · Counter · Walk Away Seller portrait reacts (pleased / offended)

Personality Types

🙏 Desperate — accepts any offer 🦊 Shrewd — haggles hard, won't budge far 💔 Sentimental — cares who buys it ⏳ Impatient — take it or leave it fast 💰 Greedy — always wants more
Portrait Assignment by Property Type
🏰 Noble/Manor → Lord or Lady portrait 🏡 Cottage/Farm → Farmer or Widow portrait 🏪 Shop/Inn → Merchant portrait ⛪ Temple/Keep → Clergy or Knight portrait Uses existing face1–face17 portrait art pool
Decisions Needed
Build now vs. post-launch? (Core loop is solid; this is a polish feature)
Lowball behavior: does a lowball offer to a Shrewd or Greedy seller cause them to walk away entirely, or always counter? (Walk-away = more realistic; counter = better UX)
Story taps: 2 taps of dialogue before the bid, or 3? (2 is faster-paced; 3 tells a better story)
🔧 In Progress / Pending
Maritime era — structure built, needs property price audit and avatar art pack (post-launch)
🏙Modern era — structure built, needs same audit and art pack (post-launch)
📦Google Play packaging via Capacitor — estimated 1–2 sessions. Discuss: push to after June 1?
📸ASO store assets — Play Store requires phone & tablet screenshots, feature graphic, short & long description, content rating questionnaire
🎬D-ID animated advisor — post-launch premium feature. Option A: pre-recorded loops (free tier). Option B: live API lip-sync (~$11–15/mo combined D-ID + ElevenLabs)
🏡

Hearthstone Realty App

Client-facing web app · Netlify · React/JSX
🌐 sisqrealtor.com
Note: This is the same app as Home Finder (sisqrealtor.com). Both entries refer to the single Preact PWA deployed on Netlify. Fully restructured May 28 — see Home Finder tab for complete status.

Live Features

AI Valuation CMA (Sellers) Buyers Affordability Offer Strategy Closing Costs Est. Sellers Net Sheet Live MLS Search Community Profiles Netlify Contact Forms Listing Alerts Modal Home Carousel Team Bios

Pending / In Progress

IDX Integration Recently Sold (RETS debug) Address Search Field Multi-property Checklist Save BPO Module
✅ What's Done — as of May 28
🗂️Full nav restructure: Home · Our Listings · Search · Buyers · Sellers · Communities · Contact
🎠Home carousel — pocket listings + MLS photos, 5s auto-advance, overlay with price/address/beds
🏦Buyers tab — affordability calc (43%/28% DTI), real First American Title closing costs, AI offer strategy
💰Sellers tab — CMA + net sheet, commission tiers, Siskiyou transfer tax
🔔Listing Alerts modal — next to Search button, pre-fills last search, collects contact info
📊Sortable search result headers
🧮PITI mortgage calculator on listing detail (3.5% down, 1.1% tax, $417/mo CA Fair Plan)
👨‍👩‍👦Full team bios — Donna, Jason, John Kalayjian
Real client testimonials (4 reviews)
🖼️Favicon fixed — Hearthstone icon (was showing Homes.com)
📋Netlify Forms — review + alert forms working (no Outlook popup)
🤖AI-powered property valuation, CMA, offer analysis via Anthropic API
🗺️Community profiles, interactive map, traffic layer
🔧 In Progress
📍Recently Sold — RETS agent filter returning empty; county-wide fallback active; needs debug
🔗IDX integration — pending provider setup
💾Transaction checklist: multi-property save & Google Drive upload
📋

TC Checklist App

CAR-compliant transaction checklists · Residential & Vacant Land
🌐 hearthstonetransactions.netlify.app
Full compliance review completed May 21, 2026. Checklist data audited against current CAR forms library, California state law, AB 2992, and NAR Clear Cooperation Policy. Deploy file rebuilt and ready for Netlify.
✅ Corrections Made — Deploy File Updated
📄 BRBC — changed from Conditional to Required. AB 2992 (eff. 1/1/2025): required for ALL buyer-side representation before showing or concurrent with offer; 90-day max. Applies to Res & Land.
📄 WDA → WFDA (Wildfire Disaster Advisory) — corrected CAR form code. Required on ALL CA transactions. Applies to Purchase Disclosures — Res & Land.
📄 BIA-INS → BHIA (Buyer Homeowners' Insurance Advisory) — corrected CAR form code (revised June 2024). Applies to Purchase Disclosures — Res & Land.
📄 TE → TEC (Tenant Estoppel Certificate) — corrected CAR form code. Applies to Listing Disclosures — Res.
📄 WFA added to Listing Disclosures — Residential. Wire Fraud & Electronic Funds Transfer Advisory was missing from Res listing (was present in Land version).
📄 FHDS notes updated (3 locations) — June 2025 CAR revision adds 12 retrofit disclosure checkboxes. Note added to ensure current version is used.
⚠️ Flagged for Donna's Verification
IEW — Inspection Election or Waiver. Possibly BIE, or a local form — needs confirmation.
RR — "Receipt of Reports" conflicts with CAR's RR = Request for Repair. May need to be relabeled as a workflow item rather than a form.
SBD — Window Security Bar Disclosure. Not confirmed as a current CAR form code.
TOA — Tenant/Owner-Occupied Addendum. CAR's TOA = Text Overflow Addendum; tenant form may be TIP.
LOCAL — Siskiyou County Advisory. Confirm it's labeled as a local/brokerage supplement, not as a CAR form.
CDA — Brokerage-generated form. DRE issued advisory June 2025 on improper CDA use — worth reviewing current practices.
RLAA vs RLA — Confirm whether office uses RLAA (Agency) or RLA (Exclusive Listing Agreement).
🚀 Priority 1 Features (Crew Meeting)
📝Notes field per transaction
📅Days on Market tracking
💰Price History Log
🖼️Property Photo
🖨️Print / PDF Cover Sheet
📋Duplicate Property function
🏡

Hearthstone Home Finder

Live MLS search · PWA · Microsoft Store · Google Play
🌐 hearthstonerealty.netlify.app
🪟 Microsoft Store — Live but 0 downloads 🤖 Google Play — Still Under Review (May 28) 🌐 Web PWA — Live
Live MLS property search PWA at sisqrealtor.com — pulling 200+ active listings from SAOR. Fully restructured May 28: new 7-tab nav (Home · Our Listings · Search · Buyers · Sellers · Communities · Contact), home carousel, Buyers affordability + closing costs + offer analysis, Sellers CMA + net sheet, listing alert modal, and sortable search results. Available on web and Microsoft Store; Google Play still under review.
🏪 App Store Status — May 28 Update
🤖 Google Play — Still under review. Submitted May 25 (version 3), no update as of May 28. Reviews typically take 3–7 days — could come any day. Once approved: do keyword/description updates and print QR yard sign riders.
🪟 Microsoft Store — Live but zero downloads. Keyword optimization still needed (see action items below).
🔍 Making the App More Searchable — Action Items
Microsoft Store — ✅ Completed May 28
Keywords field — Added: real estate, homes for sale, MLS listings, property search, Siskiyou County, California real estate, home values, CMA, mortgage calculator, Yreka, Mount Shasta
Description — Keywords front-loaded in first 2 sentences. Done.
Category — Confirmed under Real Estate.
Screenshots — Updated with Search, Listing Detail, Map, and Mortgage Calculator screens.
Google Play — Set Up Before It Goes Live
🔑Same keyword and description updates as Microsoft Store — do once approved
💰$500 Google Ads credit — reserved for game app launch, not Home Finder
Outside the Stores
🌐sisqrealtor.com — Add "Download the App" buttons linking to both stores on the main website
📧Email signatures — Add app download link to all three agents' signatures
🪧Yard sign QR riders — Print once Google Play URL is confirmed
📱Social media — Facebook / Instagram / Nextdoor post announcing the app with a direct download link
🤝At appointments — Show clients the app in person; ask them to install and leave a review (reviews directly boost store search ranking)
✅ Completed — May 27–28 Sprint
🗂️Full app restructure — new 7-tab nav: Home · Our Listings · Search · Buyers · Sellers · Communities · Contact. Mortgage and Property Analysis tabs absorbed into Buyers/Sellers.
🎠Home page listing carousel — pocket listings + MLS listings with photos, auto-advance 5s, price/address/beds/acres overlay, dot nav
🏦Buyers tab — Affordability calculator (43%/28% DTI), real First American Title closing costs (cash vs. financing toggle, property type selector), offer strategy CMA powered by AI
💰Sellers tab — Full CMA tool + net sheet with Siskiyou transfer tax ($1.10/$1k) and commission tiers (residential 3% min $2,500 · land 5% min $1,000 · commercial 5% min $2,500)
💲Real First American Title fee data — piecewise interpolation from actual quotes at $5k/$50k/$250k/$600k, used in both Buyers and Sellers tabs
🔔Listing Alerts modal — "Set Up My Alerts" button next to Search, pre-fills last search params, collects name/email/phone, posts to Netlify Forms
📊Sortable search results — click column headers to sort by price, address, beds, city, type
🧮Mortgage calculator popup — on listing detail, full PITI (3.5% down default, 1.1% property tax, $417/mo CA Fair Plan insurance)
👨‍👩‍👦Full team bios — Donna, Jason, and John Kalayjian from Bio PDF; Contact tab titled "Meet the Kalayjian Family"
Real client testimonials — Holly & Robert, Jacob, Breton, Cheryl & Mike (replaced placeholder seeds)
🖼️Favicon fixed — Hearthstone icon now shows on sisqrealtor.com (was displaying Homes.com logo from previous DNS pointing)
📋Netlify Forms — Review submission and listing alert forms now POST to Netlify (no Outlook popup for users without email client)
📍Recently Sold section — on Contact tab, queries RETS for Hearthstone closed transactions; fallback to county-wide recent closings if agent filter returns empty
✅ Previously Completed
IDX compliance (SAOR Section 12.16) — attribution, MLS#, timestamps, non-commercial notice, full disclaimer
🏠Expanded property details — heating, water, road, flooring, appliances, roof, garage, view, foundation, laundry & more (on-demand fetch)
🗺️Map heat layers — live traffic (Google) + Siskiyou County population density
❤️Save & share listings
🪟Microsoft Store — live. Search "Hearthstone Home Finder."
🔧Google Play icon mismatch fixed — dark navy "HS" logo, version 3 resubmitted May 25.
🔮 Future — "Hearth" (Several Months Out)
🏢 White-label version licensed one agent per zip code — each agent gets their own branding, MLS connection, and lead routing. SaaS model. Working name: Hearth.
📇

Hearthstone CRM

Client relationship manager · SMS · Email · Push notifications
🌐 hearthstonecrm.netlify.app
Full-featured CRM built for the Hearthstone team. Text clients directly, draft AI-powered emails, track full conversation history, and get push notifications when someone texts in — all in one place.
✅ What's Built
📱 SMS texting — text clients from their contact page; full sent & received history as chat bubbles; uses Twilio number (530) 435-7658. ⚠️ Awaiting Twilio A2P carrier approval (1–3 days).
💬 Text Inbox — nav bar "New Texts" button glows gold on incoming; lists all contacts with unread texts; tap a name → goes straight to their SMS thread; unknown numbers auto-create a new contact
🔔 Push notifications — phone buzzes on new texts even when app is closed; tap notification → opens straight to Text Inbox; each agent must open app in Chrome and allow notifications
📧 Email — AI Draft button writes personalized emails in seconds; attach files to outbound emails; full thread history per contact
🗂️ Contact list fixes — new "New" filter tab catches unassigned contacts; tab counts always add up correctly; Privacy Policy & Terms pages live (required for Twilio)
🔧 Action Items — Team
👥 Everyone — open the app in Chrome on your phone and allow notifications
📲 John & Jason — once Twilio approves, test receiving a text from a client to confirm delivery across carriers
📬 Donna — watch for Twilio approval email (check spam too)
🎲

AD&D 1e Character Sheet

Browser-based · Firebase · Google Auth · Cloud save
🌐 add-1e-character-sheet.web.app
Fully browser-based character sheet for AD&D 1st Edition. Open the link, sign in with Google, and play — no install required. Characters save to the cloud and load from any device. Content strictly PHB + DMG + Unearthed Arcana (1985) + White Plume Mountain. No 2e content.

Core Features

Auto-calc Stats Saves & Skills Cloud Save/Load Google Sign-in Equipment & Encumbrance

Content Database

498 Spells (6 classes) 315 Magic Items 21 Artifacts & Relics PHB + UA (1985) White Plume Mountain
✅ Completed This Round
🐛Three broken function calls causing JS errors on every page load — resolved
🌐Languages tab — auto-populates racial languages by race (locked, per PHB); bonus slots calculated from INT; player checks optional languages up to INT limit
🧍Appearance tab — height, weight, eye & hair color suggestion ranges auto-fill from race and sex (PHB tables)
📖Unearthed Arcana spell update — 30+ UA spells added across Magic-User (levels 1–7), Illusionist, Cleric, Druid; Illusionist level 4 duplicates fixed; list now current with PHB + UA 1985
⚔️Magic item database cleanup — weapons, instruments, misc moved to correct categories; duplicates removed; Greyhawk Legendaries & Cursed Items filters now work correctly
💀 Artifacts & Relics — full 1e rules added for all 21 items (DMG + White Plume Mountain): powers, malevolent effects, and means of destruction. Covers Eye/Hand/Skull of Vecna, Sword of Kas, Ring of Gaxx, Wand of Orcus, Orb of Dragonkind, Blackrazor, Wave, Whelm, and more.
💰

Hearthstone Investor Calculator

Built May 21, 2026 · Single-file React · Claude API · Netlify
🌐 invenstorcalculator.netlify.app
Three-tab investor tool built as a single-file React app deployable to Netlify. Combines a full deal analyzer, AI-powered photo repair estimator, and inspection report analyzer — all calibrated for Siskiyou County / rural NorCal. Built and deployed today.
✅ What's Built — Three Tabs
🧮 Tab 1 — Investment Calculator
Purchase price, down %, rate, term → auto mortgage payment. Up to 4 rental units with vacancy rate. Full expense breakdown (taxes, insurance, HOA, mgmt %, maintenance & CapEx, utilities). Outputs: Cap Rate, Cash-on-Cash Return, Monthly Cash Flow, GRM — color-coded green/yellow/red. Fix & flip section: ARV + repair cost → projected equity. Auto deal score: Strong Deal / Borderline / Needs Work.
📸 Tab 2 — Photo Repair Estimator
Drag & drop up to 24 photos (up to 20 analyzed by AI — auto-compressed, no prep needed). Inputs: address, property type, sq ft. AI returns: condition rating, itemized repair list by severity (Critical / Moderate / Minor / Cosmetic), low/high cost ranges, overall total, investor recommendation. Costs calibrated for Siskiyou County / rural NorCal contractor rates.
📄 Tab 3 — Inspection Report Analyzer
Upload any PDF (home inspection, pest/WDO, roof, septic, well). AI returns: risk level, critical/moderate/minor breakdown with costs, negotiation points, deal breakers, investor verdict. Includes built-in note that CA pest reports are NOT public record.
💾 Save Bar (every tab) — Download as JSON (drag to Google Drive or OneDrive) or copy to clipboard
✅ Completed — May 28 Session
Streaming edge function — Converted Claude proxy from a Netlify Lambda (26s timeout → always failing) to a Netlify Edge Function that streams Claude's SSE response directly to the browser. No more timeouts on Photo and Inspection tabs.
📸Photo limit 4 → 20 — App now accepts up to 24 photos, sends up to 20 to Claude. Auto-compressed to 600px client-side — no prep needed. Same single API call, no extra cost.
🚀Netlify CLI deployment — Switched from drag-and-drop zip to netlify deploy --prod one-command deploys. Handles build + edge functions + regular functions correctly every time.
⚔️

Hearthstone Dungeons

Concept v0.1 · Mobile dungeon crawler · Stardew Valley meets AD&D
🌐 hsdungeoncrawler.netlify.app
You are the keeper of a crumbling Hearthstone — an ancient waystation at the edge of civilization. Recruit a party, descend into procedurally generated dungeons, survive turn-based combat, and bring back treasure to restore your home base. 10–15 minute sessions. Target audience: women 30–50 and lapsed tabletop gamers. No one else is making this game for them.

The Dungeon

Turn-based tactical combat THAC0 + saving throws Procedural rooms Traps & secret doors Boss floors every 5 levels Darkness / torches Permadeath (optional)

The Hearthstone (Home Base)

Inn — recruit & rest Blacksmith — craft gear Library — spells & lore Garden — herbs & potions Chapel — bless & resurrect Trophy Room Seasonal events
⚔️ Starting Six Classes
🗡️ Fighter — front-line wall, multiple attacks 🔮 Magic-User — powerful spells, memorize before descending ✝️ Cleric — heals, turns undead, hits harder than expected 🗝️ Thief — backstab, lockpick, disarm traps 🌿 Druid — nature magic, shapeshifting 🏹 Ranger — ranged attacks, bonus vs. giant-class
💰 Monetization Plan
🆓Free — floors 1–10, all 6 classes, core Hearthstone
🔓Premium expansion $4.99 — floors 11–30, 2 more classes, full story
🎨Cosmetic packs — decor themes, portrait skins, dice skins (no gameplay impact)
🗺️Adventure modules $1.99 — standalone dungeon campaigns (e.g. "The Sunken Temple")
📺Optional ads — watch ad = resurrect one fallen party member (once per run, never forced)
🔧 Stack Decision (To Discuss)
🎮GDevelop — free, no-code/low-code, exports to Android. Lower learning curve.
⚛️React Native + Expo — reuses existing web dev skills. More control, more ramp-up.
🌸

Bloomscape

Sandbox garden + pixel art mobile game · Android (Google Play) · Browser prototype first
🌐 hsbloomscape.netlify.app
Grow flowers in a living garden to unlock art styles, then use those styles as pixel stamps to paint on a separate studio canvas. Gardens and artwork are social — visit each other, share paintings, vote in a community gallery. Inspired by the MySpace flower garden games of the late 2000s. Free-to-play, cosmetic IAP, optional rewarded ads.
🔄 Core Loop
🌱 Plant seed 🌸 Bloom → unlock style 🎨 Paint with stamp 🖼️ Share → earn votes 🌱 Earn seeds → repeat

Garden Mode

Freeform placement Grow/bloom mechanic Rarity-based timers Botanical SVG art style Sway animation (toggleable) Canvas grows with level

Studio Mode

Pixel art stamp canvas Dark theme + grid 5 painting slots Pan + pinch-to-zoom Undo / redo PNG export

Flower Rarities & Bloom Times

Common — 15 min Uncommon — 2 hr Rare — 8 hr Epic — 1 day Legendary — 3 days
✅ Build Status — Phase 1 In Progress
Garden canvas — place, drag, delete, undo/redo
Pan and pinch-to-zoom
Local save — auto-saves, persists on refresh
Seed shop, grow/bloom mechanic, wiggle-burst animation
Studio canvas — pixel stamps, painting slots, PNG export
PNG export polish
Animation toggle setting
Real art assets — botanical SVGs + pixel art sprites (Step 8)
🎨 Art Assets Needed Before Launch
🌺10 starter flowers × botanical SVG (Garden Mode) — Inkscape (free) or commission
🕹️10 starter flowers × pixel art PNG 32×32 (Studio Mode) — Aseprite ($20) or Fiverr / itch.io / Craftpix
🌸

Garden Bloom

Block puzzle · Google Play · React JSX · Prototype playable
🌐 hsgardenbloom.netlify.app

Concept

Block Puzzle

Platform

Google Play

Levels Built

7

Status

Playable
An 8×8 block puzzle with a flower garden theme. Place pieces until nothing fits — clear rows and columns to score. Five flower-type block sets (Rose, Sunflower, Lavender, Daisy, Lily), weed obstacle cells that force strategic play, and a 7-level progression system. Built in React JSX, deployable to Netlify via drag-and-drop. Next step: wrap in Vite for Google Play.
✅ Built This Session
🖱️Drag-and-drop piece placement — centered ghost piece, live grid preview, green/red border for valid/invalid drops
8×8 grid with row and column clear mechanic — place pieces until nothing fits
🌺5 flower block types (Rose, Sunflower, Lavender, Daisy, Lily) with color gradients
📊7-level progression system — score targets, progress bar, level-up overlay
🌿Weed obstacle cells (0 → 12 per level) — block placement but can't be cleared, forces strategic play
🎯3 piece difficulty pools (easy / medium / hard) that unlock progressively across levels
🗺️ Level Map
1 · Seedling 0 weeds · small pieces · 200 pts
2 · Sprout 2 weeds · small · 400 pts
3 · Budding 4 weeds · small+med · 700 pts
4 · Blooming 6 weeds · small+med · 1,100 pts
5 · Flourishing 8 weeds · medium · 1,600 pts
6 · Garden Master 10 weeds · med+hard · 2,200 pts
7 · Royal Garden 12 weeds · hard only · 3,000 pts
🏨

Grand Mystique Hotel

Browser hotel builder · Inspired by Hotel City / Playfish · React JSX → Google Play
🌐 mistiquehotel.netlify.app
A browser-first idle hotel builder — place rooms, earn gold every 8 seconds, level up, unlock themes and amenities, and build a full-service hotel. Single-session build, no backend yet. Google Play via React Native is the long-term target.
✅ Built This Session
💰Idle income system — rooms earn gold every 8 seconds (one "day")
XP & leveling — earn XP from income; level up grants +2 gems
💎Gem trickle — ~1 gem earned randomly every ~3 days
🏅Reputation system — driven by amenities placed; stacks and boosts all room income
🏗️12-column × 9-floor grid — tower zone (10 cols), lobby overhang (2 cols), protected entrance plaza, floor numbers on left edge
🛏️10 room types — Standard, Deluxe, Suite, Double Decker Suite (gem), Lobby, Laundry, Bar, Restaurant, Pool, Gym
🎨8 themes — Gothic (free), Hippie, Tropical, Royal, Sci-Fi, Haunted, Retro 80s, Woodland — each adds an income % bonus
🏁Game launches with Lobby and Laundry pre-placed on the ground floor
🛏️ Room Types
Room Size Cost Notes
Standard Room1×1$80Free from start
Deluxe Room2×1$200Unlock $400
Suite3×1$500Unlock $1,000
Double Decker Suite3×25 💎Unlock 3 💎 — premium
Lobby4×1FREEPre-placed
Laundry1×1FREEPre-placed
Bar2×1$350Unlock $500
Restaurant3×1$600Unlock $800
Pool3×1$700Unlock $900
Gym2×1$400Unlock $600
⚠️ Known Issues / To Discuss
🖱️Room hover footprint works but could be smarter — snap to valid position
🏛️Lobby is fixed 4-wide — consider making it resizable?
🎯No win condition or progression goals yet — need to define mid/late game loop
💎Gem economy needs balancing once more gem rooms exist
🪐

Planet Forge

Mobile puzzle game · HTML5 Canvas · Single file · Netlify · Android Chrome
🌐 hsplanetforge.netlify.app
Forge a habitable planet before a colony ship arrives. Colored element blocks fly in from random directions — spin a wheel to redirect them, fill rings to clear them, and balance Water / Air / Earth to determine what kind of planet you build. The colonists survive or perish based on how well you did. Single HTML5 Canvas file, no frameworks, no build tools.
✅ Core Systems Built
🎡Spinning wheel with ◀ ▶ tap buttons — hold longer = momentum builds; easy to overshoot
🧱Three element blocks (💧 Water · 💨 Air · 🌍 Earth) fly in from random directions with glowing trails; auto-land and slide inward to deepest open slot
Red destroyer gap — spin over an incoming block to ZAP it (+5 pts); only destroys if slot behind is already occupied
💫Ring mechanics — fill all 12 slots → ring clears + big bonus; 5 same-color in a row → bonus + fills element beaker; new ring only grows when a block lands on occupied slot
☄️Comets (3 per level) — screen flashes amber 3s before arrival; land on a 5-same-color cluster to seed life (🐟 / 🐦 / 🌲) for +500 pts + colonist bonus
🌌Galaxy map — all forged planets shown between levels with type, level, survivor count; total universe population tracked; localStorage auto-save
🚀Colony ship arrival animation — detailed ship with wings, cockpit, engine glow, blue thrust trail; outcome calculated at timer end
🔊Full Web Audio sound design — 11 distinct sounds, no audio files required
🌍Evolving planet hub — starts as grey rock, grows oceans, landmasses, clouds, and ice caps as elements fill; 120 twinkling stars + nebula glow
🪐 Planet Outcomes
🌍 Class M — Habitable All 3 elements 25%+ → 100% survival · Advances level
🌊 Ocean World Water > 60% → 30% survival
🏜️ Desert World Earth > 60% → 30% survival
🌀 Gas Giant Air > 60% → 0% survival
🪨 Barren Rock Total elements < 20% → 0%
💥 Gravity Collapse Too many rings stacked → 0%
🪐 Marginal World Unbalanced but partial → 50% survival
🐛 Bugs Fixed This Session
🔧ctx.roundRect() replaced — not supported on older Android Chrome
🔧Orphaned canvasOffsetX() method body causing full crash on load — now monitored
🔧Double game loop on restart — old animation frame now cancelled before new one starts
🔧Blocks incorrectly triggering new ring on every hit — slot calculation rewritten
🔧Gap permanently blocking inner ring slots
🔧Hub radius was a live getter growing each frame — caused fat ring glitch; now fixed at game start
🔧Ship animation blocking main update guard — separated into own updateShip() method
🍓

Strawberry Valley

Cozy idle village builder · Google Play · Desktop + Mobile · v6 playable
🌐 strawberryvalley.netlify.app
A cozy idle village builder with an aerial/satellite view and painted ground texture. Buy grid squares one at a time, place and upgrade buildings, collect wandering neighbors and critters, and click resource nodes for bonus coins. Slow, intentional idle income — not overwhelming. Prototype v6 complete and playable on desktop.
✅ Design Decisions Finalized
🗺️Aerial/satellite map view — canvas-drawn painted ground (dirt path, stream, grass patches)
Grid system — individual squares purchased one at a time, must be adjacent to owned land; vacant lots earn 0.1🪙/min passively
🛖Starter package — free 2×2 patch + free starter cabin (1×1, top-left); cabin is one-time only
🍄Clickable resource nodes — flowers, mushrooms, berries scattered on map for bonus coins while actively playing
🖱️Right-click context menu — Upgrade / Move / Info on any building; Move mode shows blue valid placement tiles
🏗️Three interaction modes — Build / Buy / Browse
🛖 Cabin Upgrade Path
Level Size Income Notes
Lv 1 🛖1×10.5/minFree starter
Lv 2 🛖1×11/minRenovation
Lv 3 🏠2×11.8/minGrows sideways
Lv 4 🏠2×12.5/minRenovation
Lv 5 🏡2×24/minFull family home · 2nd Neighbor unlocked
✅ Prototype v6 — Complete & Playable
Aerial map with canvas-drawn ground
Individual square purchasing
Cabin upgrades Lv1–5
Right-click context menu (Upgrade / Move / Info)
Free move mode with blue valid-placement tiles
Quest system (10 quests) + Village log
Wandering Neighbors + critters
Clickable resource nodes
Speed controls (1× / 2× / 5×)

Current Building Roster

🛖 Cabin (1×1, free) 🌲 Tree (1×1) 🌱 Garden Box (1×1) 🔧 Tool Shed (1×2) 🪣 Wishing Well (1×1) 🏡 Cottage (2×2) 🏪 Village Shop (2×2) 🏘️ Family House (3×3)
🎨 Visual Goal — Addendum
🌅 Target aesthetic: warm golden-hour lighting · 2.5D buildings with real depth and shadow · animals tied to structures (cow shed = cows, coop = chickens) · visible crop growth stages · seasonal trees · water feature. Current HTML prototype captures game logic but cannot reach this visual fidelity — requires game engine + proper assets.
Target visual aesthetic for Strawberry Valley — cozy farm with golden-hour lighting, 3D buildings, animals, crops
Reference screenshot — target visual aesthetic
⚙️ Engine Decision — Godot vs Unity
Godot — Recommended. Completely free, open-source, forever. 0% revenue cut. Native Android/Google Play export. Strong 2.5D support ideal for cozy village games. Fastest-growing indie engine in 2026. No licensing risk.
⚠️ Unity — Consider later. Free under $200K annual revenue. Scales to $2,310/seat/yr at Pro. Runtime fee was cancelled in 2024. More learning resources but larger overhead for a solo/small project.
📋

Add a Project

This tab is ready for your next agenda item.

🏠

Hearthstone Property Management

Multi-role tenant/owner/admin portal · Supabase · Stripe · Netlify
🌐 manage.sisqrealtor.com
Full-stack property management platform for Hearthstone Realty's PM division. Three-role auth system (Admin/PM Staff, Property Owners, Tenants). Stripe card + ACH payments routing to trust account, Mailgun email notifications, document storage, maintenance requests, owner statements, and a marketing AI listing generator — all deployed on Netlify with Supabase as the backend.
⭐ Live — manage.sisqrealtor.com 🔧 Populating Real Data 💳 Stripe Live Keys Ready
✅ Completed This Session
🔧Fixed Supabase 503 error — PostgREST Data API toggle was disabled; enabled + saved. Login now works.
🌐Custom domain live — manage.sisqrealtor.com via Squarespace CNAME → hearthstone-pm.netlify.app. SSL auto-provisioned.
💳Stripe fully configured — test keys active in app, live keys saved for go-live. Payout schedule set to Manual → trust account linked.
🪝Stripe webhook wired — endpoint at /.netlify/functions/stripe-webhook, signing secret set. Fires on payment_intent.succeeded + payment_intent.payment_failed.
📧Mailgun email wired — mg.sisqrealtor.com domain added, 5 DNS records added in Squarespace (SPF, DKIM, MX x2, CNAME tracking). Verification in progress.
📁Supabase Storage bucket — 'documents' bucket created (private) with RLS policies for admin/owner/tenant access tiers.
📬Admin email separated — donnakalayjian@gmail.com for PM notifications; info@sisqrealtor.com kept clean for real estate business only.
⚙️All Netlify env vars set — STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET, MAILGUN_API_KEY, MAILGUN_DOMAIN, ADMIN_EMAIL, Supabase keys all live in Netlify environment.
⏳ Waiting / In Progress
📧Mailgun DNS verification — records added, propagation in progress (~15–60 min). Check mg.sisqrealtor.com status in Mailgun dashboard.
🏦Stripe trust account verification — micro-deposits sent to trust account, ETA 1–2 business days. Confirm amounts in Stripe dashboard when they arrive.
🔧Supabase helper function fix SQL — supabase-fix-functions.sql ready to run. Removes SET search_path from SECURITY DEFINER functions for long-term PostgREST stability. 2-minute task.