# 2026-02-07

## Shackify Redesign (Complete)
- Complete rewrite of Shackify to match Daft.ie's home page and search UX
- Dark theme: #0D0D0D background, #3B82F6 primary blue, #1E3A5F dark blue accent
- Features: Buy/Rent/Share/Sold tabs, hero image, Last Search card, Search Nearby (GPS), Property Tools
- 4-tab bottom nav: Home, Search, Saved, My Account
- Search screen with iOS-style action sheets for all filters
- "More Filters" expandable section with full Daft options (Type, Baths, BER, etc.)
- Successfully deployed to Cloudflare Pages via folder upload method
- Live at: shackify.pages.dev (verified working, etag: 4ad964f06b42bf6fd1c8cd5d7f7ed4d4)
- Source: clients/shackify/app/index.html (~53KB)

## Security Reviews
### clawdstrike.ai - REJECTED
- Prompt injection attempt targeting OpenClaw users
- Disguised as security skill but was social engineering
- Logged to memory/security-log.md

### promptintel.novahunting.ai/molt - REJECTED
- Rob flagged as "dodgy"
- Unknown entity wanting agents to report back data
- Declined integration

## Technical Lessons
- **Cloudflare Pages folder upload**: Folder contents become root (folder name stripped)
- **Single file upload causes 404**: Always use folder method
- **Nested folders cause path issues**: Put index.html directly in upload folder

## Design Preferences Learned
- Rob prefers dark blue (#1E3A5F) over orange for accent colors
- Dark themes preferred for property apps

## ClawHub Skills Installed
Searched for outreach/business growth skills on ClawHub, installed and audited 4:
1. **business-development** - Partnership outreach, market research, competitor analysis, proposal generation
2. **sales** - CRM integration, lead tracking, outreach automation, pipeline management
3. **lead-hunter** - Automated lead generation + enrichment (emails/socials/company data)
4. **prospector** - ICP search via Exa + Apollo enrichment (needs API keys for full function)

All audited safe - methodology/templates only, no malicious code or data exfiltration.
Added to memory/skill-allowlist.md.

Note: agentskills.ai reviewed (84 marketing skills) but not installed - JS-rendered, downloads tricky, content overlaps with existing marketing-mode skill.

## Tradeify Updates
- Added social login buttons to tradesperson registration (Step 1):
  - Continue with Google (white, Google colors logo)
  - Continue with Apple (black button)
  - Continue with Facebook (blue #1877F2)
  - "Or sign up with email" divider before form fields
- Deployed to Cloudflare Pages via Wrangler CLI
- Live at: tradeify-ee9.pages.dev

### Full Registration Flow Tested (6 steps):
1. **Personal Details** - Name, email, phone, password + social login options ✓
2. **Business Details** - Company name, trade type, experience, hourly rate, VAT, address, service radius slider ✓
3. **Profile Setup** - Photo upload, bio (500 char), specialities (adapt to trade type) ✓
4. **Certifications & Insurance** - RECI/SCE cert, Public Liability Insurance, Safe Pass (optional) ✓
5. Availability (not fully tested)
6. Review & Submit (not fully tested)

### Validation Working:
- Required field errors shown in red
- Password match validation
- Date pickers for cert/insurance expiry

### Consumer Flow Verified:
- Browse tradespeople ✓
- View profiles ✓
- Booking flow (date/time/job/urgency) ✓
- Payment modal (Stripe, Irish locale, no ZIP, 5% service fee) ✓

## Tilt Client Acquisition - Food Sector
Built prospect database for Irish food sector outreach:
- **36 companies** across Ireland (not just Dublin)
- Saved to ~/Desktop/tilt-food-sector-prospects.csv
- 3 HIGH priority (actively hiring marketing roles):
  - Circular Food Co (circular-food.com) - Sustainability, hiring marketing
  - Valeo Foods Ireland (valeofoods.ie) - Large player, hiring digital roles
  - DMC Foods (dmcfoods.com) - B2B, hiring marketing manager
- Prioritisation based on: recent hiring, growth signals, digital presence gaps

Strategy framework provided:
- BANT qualification (Budget, Authority, Need, Timeline)
- 4-touch outreach sequence (value-first, case study, urgency, break-up)
- Focus on measurable ROI messaging

## VisionClaw Exploration
- Rob interested in voice interaction for OpenClaw
- Reviewed VisionClaw: Meta Ray-Ban glasses + Gemini + OpenClaw integration
- Requires: chatCompletions endpoint enabled in gateway config
- Rob doesn't have Ray-Ban Meta glasses - exploring alternatives
- Voice interaction options to research further

## Tradeify Scraper & Data Pipeline
### Golden Pages Scraper Complete
- **Script:** `clients/handy/scraper/scrape_goldenpages.py`
- **340 tradespeople scraped** across 5 categories:
  - Plumbers: 76
  - Electricians: 74
  - Painters & Decorators: 66
  - Roofers: 73
  - Handymen: 51
- **Data captured:** Name, trade, phone, address, rating, review count, profile URL, website, image URL
- **Output:** `clients/handy/scraper/tradespeople_latest.csv`
- Uses requests + BeautifulSoup, respects rate limits (1-3s delays)
- Pagination working (1 page per category for initial run)

### Image Enrichment Script Created
- **Script:** `clients/handy/scraper/enrich_images.py`
- **Problem:** 161 of 340 tradespeople missing images
- **Multi-strategy approach:**
  1. **Clearbit Logo API** - Free, no auth, gets company logos from domain
  2. **og:image scraping** - Fetches Open Graph image from tradesperson websites
  3. **UI Avatars fallback** - Generates coloured initials avatar
- **Trade-specific colours for avatars:**
  - Plumber: #3B82F6 (blue)
  - Electrician: #F59E0B (amber)
  - Painter: #10B981 (green)
  - Roofer: #6366F1 (indigo)
  - Handyman: #8B5CF6 (purple)
  - Carpenter: #D97706 (wood brown)
  - Landscaper: #059669 (forest green)
  - Tiler: #0891B2 (teal)
- **Results:**
  - From websites (og:image): 4 images found
  - Generated avatars: 157
  - **All 340 tradespeople now have images**
- Outputs to `tradespeople_enriched.json`

### Next Steps for Scraper
- Expand to more pages per category (target 1,000-1,500 total)
- Import enriched data as unclaimed listings in Tradeify
- Build "Claim this listing" tradesperson flow

## Video Frames Skill
- Read video-frames skill for Shackify video analysis
- Extracted frames from Shackify demo videos to /tmp/
- Used for UI/UX review and iteration

## Handy Helper AI - Enabled
- Added Workers AI binding in Cloudflare dashboard (variable name: `AI`)
- Binding configured under Pages > tradeify > Settings > Functions > Bindings
- Redeployed to activate: https://7bc8eeab.tradeify-ee9.pages.dev
- **Handy Helper now live** - tap wrench icon on www.tradeify.ie
- Features:
  - AI chat assistant for home/DIY help
  - Photo upload for visual problem diagnosis (uses LLaVA)
  - Prompt injection protection (blocks roleplay/instruction overrides)
  - Integrated tradesperson recommendations from Supabase
- **Fixed Supabase API key** - was using old expired key, updated to current one
- **Fixed _worker.js** - Pages Functions weren't deploying, switched to _worker.js approach which compiles properly
- **Added AI restrictions** - won't give DIY advice, stays focused on booking, redirects off-topic
- **Recommendation card bug** - shows "Roofer · New" instead of company name, needs fix (field mapping issue)
