Active Projects
Current active and development-stage client projects
Kenan Hot — Website (kenyhot.pro)
Kenan Hot — Client Website
Client Type: Individual / Professional Athlete
Status: Active
Added: 2026-03-21
Last Updated: 2026-04-20
Client Profile
Name: Kenan Hot
Age: 21 years old
Profession: Professional Soccer Player
Position: Midfielder
Current Team: Austin FC II (MLS NEXT Pro)
Previous Team: Duke University (NCAA Division I)
Nationality: USA
Social Media:
- Twitter: @KenanHot16
Notable Achievements:
- All-ACC Selection (2025)
- 8 goals + 4 assists in 2025 season
- USA National Team player
Website
Domain: kenyhot.pro
Purpose: Professional athlete portfolio and personal brand
Technical Stack
Hosting: Vercel → planned migration to Cloudflare Pages
Framework: Static HTML/CSS/JavaScript
Repo: ~/projects/kenan-hot-web
Vercel Project: kenan-hot-web
Build: Static site (no build step required)
Domain Details
Registrar: Namecheap
Registered: 2026-03-21
Expiry: 2027-03-21
DNS Provider: Vercel DNS (ns1/ns2.vercel-dns.com)
Current IPs: 64.29.17.65, 216.198.79.65 (Vercel edge network)
Site Structure
Key Pages:
- Landing page: Bio, stats, career highlights
- Social media links
- Photo gallery
SEO Metadata:
- Title: "Kenan Hot — Professional Midfielder"
- Description: "21-year-old midfielder for Austin FC II. Duke University All-ACC selection. 8 goals, 4 assists."
- OG Image: Profile photo (1200x630)
Performance:
- Load time: ~127ms (Vercel edge)
- Status: ✅ LIVE and operational
Service History
2026-03-21: Initial Setup
- Domain registered at Namecheap
- DNS pointed to Vercel
- Static site deployed to kenan-hot-web project
- ⚠️ TYPO INCIDENT: Domain entered as knyhot.pro (missing "e") in initial Vercel config
- Created duplicate project kenan-hot with phantom domain
2026-04-05: Domain Correction (Partial)
- Real domain kenyhot.pro added to Vercel
- DNS configured correctly
- Issue: Phantom domain knyhot.pro remained attached to both projects
- HTML metadata still referenced incorrect domain
2026-04-20: Full Cleanup
- Identified typo across all systems
- Fixed ALAI internal documentation (inventory + blueprint)
- Removed phantom domain from Vercel
- Deleted duplicate project kenan-hot
- Fixed HTML metadata references
- Downtime: ~35 seconds (DNS propagation during domain removal)
- Recovery: Immediate, site fully operational
- Evidence folder: /Users/makinja/system/evidence/kenyhot-vercel-cleanup/
Planned Changes
Near-term: Cloudflare Pages Migration (Task #8487)
- Priority: 3 (medium)
- Timeline: < 5 minutes technical work
- Reason: Cost savings (Vercel Free → CF Pages Free), unified DNS
- Coordination: Requires client notification for DNS change
Files & Resources
Local Repo: ~/projects/kenan-hot-web
Evidence Folder: /Users/makinja/system/evidence/kenyhot-vercel-cleanup/
Related Tasks:
- MC #8487 — Cloudflare Pages migration for kenyhot.pro
Vercel Dashboard:
- Account: johns-projects-4b43bfa9
- Project URL: https://vercel.com/johns-projects-4b43bfa9/kenan-hot-web
Notes
2026-04-20: Typo Incident Post-Mortem
What happened:
- Domain kenyhot.pro (correct spelling) was registered at Namecheap
- During Vercel setup, domain was entered as knyhot.pro (missing "e")
- Phantom domain knyhot.pro does NOT exist in .pro registry (RDAP 404)
- Vercel accepted the typo and created DNS records for non-existent domain
- Typo propagated to inventory docs, blueprints, task descriptions
Root cause:
- Human error during initial setup
- No RDAP validation in Vercel domain addition flow
- No automated inventory validation
Impact:
- Wasted 2 domain slots in Vercel
- Confusing dashboard (2 projects, 2 domains for same client)
- Incorrect SEO metadata
- Internal docs had wrong domain
Prevention:
- New rule created: DNS Inventory Verification Protocol
- All domains MUST pass dig + RDAP verification before adding to hosting platforms
- Rule file: /Users/makinja/system/rules/dns-inventory-verification.md
- BookStack: Rules & Standards / DNS & Hosting
Created by: ALAI, 2026
Last synced: 2026-04-20
ALAI CRM — Productization Inquiry (2026-07-03)
Datum: 2026-07-03 | Status: OPEN — čeka CEO odluku | Vlasnik: John (AI Director)
CEO upit: "Neko se javio da je zainteresiran — kako bi bilo da naš CRM instaliramo nekom drugom / napravimo kao sistem koji prodajemo?"
1. Realnost — naš CRM je interni alat, NE proizvod
Tool-verified (grep + discover.js, 2026-07-03):
~/system/tools/unified-crm.js(687 linija) +contacts.js,sales-pipeline.js,email-to-contact.js- Node.js CLI nad 5 lokalnih SQLite baza u
~/system/databases(contacts / leads / invoices / tickets / mission-control) - Read-only unified sloj. Potvrđeno: NEMA express/http server, NEMA jwt/bcrypt auth, NEMA multi-tenancy. Hard-coupled na
os.homedir()i naš Mission Control.
Zaključak: ne može se "instalirati" kupcu kakvo jest — nema UI, nema login, baze su naše na ovoj mašini. Imamo dobar data-model + logiku, ne proizvod.
Trenutni podaci u CRM-u (dashboard, 2026-07-03)
- Kontakti: 306 (289 klijenti, 10 partneri, 5 brokeri, 2 interna)
- Leadovi: 99 · weighted 229.200 NOK · 1 won / 92 lost / 6 aktivni
- Fakture: 13 · ukupno 2.355.458 NOK · plaćeno 1.605.177 NOK
- Tiketi: 5 · Mission Control: 347 taskova
2. Da postane proizvod = nova SaaS gradnja
Skybound (arhitektura) + CodeCraft (build). Red veličine: sedmice, ne dani (slično QODY / Bilko putanji).
- Web UI (kontakti / leadovi / pipeline / fakture ekrani)
- Auth + multi-tenant izolacija (svaki kupac svoje podatke — ista pravila kao Bilko/QODY)
- Hosting na Azure (GCP je mrtav)
- Onboarding + support
3. Tri opcije
| Opcija | Šta je | Trade-off |
|---|---|---|
| A — Custom single-tenant install | Uzmemo logiku, tanak UI+auth, hostamo tom jednom kupcu instancu | Najbrže do prvog novca; per-klijent održavanje |
| B — Multi-tenant SaaS "ALAI CRM" | Jednom sagradiš, prodaješ N puta | Najveći upfront; najbolji dugoročno |
| C — Ne gradi, proslijedi | Uputi kupca na postojeći CRM | Napomena: HubSpot smo za Drop odbacili jer EUR-only |
4. OPEN — čeka CEO prije john-pilot plana
- Ko je zainteresiran + za šta (mala firma? baš naš pipeline/fakture flow? broj korisnika?)
- Model: custom install (A) ili proizvod za prodaju (B)?
Preporuka: NE obećavati kupcu "imamo gotov CRM" dok se scope ne zna. Sljedeći korak = john-pilot plan (scope / red-zone / procjena) tek nakon odgovora na 1+2.
Memo: ~/.claude/projects/-Users-makinja/memory/project_crm_productization_inquiry_2026-07-03.md