SnowIT IT consulting company — Sarajevo operations, contracts, clients. Overview SnowIT Overview IT consulting company — Sarajevo operations, contracts, clients. Owner: John Last Verified: 2026-02-17 Contents To be populated from SnowIT company documentation Active Tasks Last Verified: 2026-02-17 | Owner: John SnowIT — Active Tasks Open Tasks Medium Priority #1213 — Follow up: Has Asmir posted content on LinkedIn? #1267 — DNS and email setup for snowit.ba (MX records) Recently Completed Website services page — /usluge page live with full service catalog OG image fix — Text rendering problem resolved LinkedIn company page — Created and ready for content Sales playbook — Detailed sales strategy by AI agent (nicksaraev) Content calendar — 30-day content plan by AI agent (marketer) Financial model — 6-month projections by AI agent (finance) Market research — B&H market analysis completed Planned Work Outreach campaign — 5 clients in 30 days (delivery delayed) Email setup — Complete DNS configuration Content execution — Post first batch from content calendar Lead generation — Start executing sales playbook Key Decisions Last Verified: 2026-02-17 | Owner: John SnowIT — Key Decisions Strategic Decisions Market Focus: Bosnia & Herzegovina (2026-02) Decision: SnowIT targets B&H market exclusively (snowit.ba domain). Rationale: Local market knowledge, language advantage, untapped AI services market. Implementation: Website in Bosnian/Serbian/Croatian, local pricing, B&H payment methods. Service Packaging (2026-02) Decision: Offer 3-tier packages (Digital Presence 800 KM, 2-4h response) Rationale: Predictable pricing, easier sales, scalable delivery. Source: Financial model from AI agent (finance). Content Marketing Strategy (2026-02) Decision: 3 posts per week on LinkedIn (12-13 posts/month) Rationale: Consistent presence, thought leadership, organic reach. Source: Content calendar from AI agent (marketer). Partnership Model (2026-02) Decision: Collaborate with Asmir as partner/sales contact. Status: Active, awaiting LinkedIn activity confirmation. Technical Decisions Website Stack Modern web framework (details in repo) Hosted on vercel/railway/fly.io (pending deploy strategy task #271) snowit.ba domain with email (@snowit.ba addresses) Sales Process Sales playbook created by AI agent (nicksaraev) CRM integration planned Lead tracking via Mission Control Operational Decisions Pricing Strategy Digital Presence package: 800 KM (2-4h response time) Additional tiers defined in financial model Competitive with local market, premium positioning Project Overview Last Verified: 2026-02-17 | Owner: John SnowIT — Project Overview What is SnowIT? SnowIT (snowit.ba) is an AI-driven agency focused on the Bosnia & Herzegovina market. It provides software development, design, security, data, infrastructure, and marketing services under one roof. Current Status Phase: Active development Website: snowit.ba (live) Market: Bosnia & Herzegovina (B&H) Business Model: Full-service digital agency Recent Work Website launch with services pages (/usluge) LinkedIn company page creation OG image optimization (text rendering fix) Sales playbook development 30-day content calendar for LinkedIn Financial model for first 6 months Market research for B&H market Services Offered Software Development — Web, mobile, custom applications Design — UI/UX, branding, visual design Security — Infrastructure security, compliance Data — Analytics, business intelligence Infrastructure — Cloud hosting, deployment Marketing — Digital marketing, content, campaigns Tech Stack Website: Modern web stack (details in project repo) Hosting: TBD (see Deploy & Hosting Strategy task #271) Email: snowit.ba domain (DNS/MX setup in progress) Contacts Partner: Asmir (asmirmc@gmail.com) Status: Active collaboration, LinkedIn outreach campaign planned Key Documents Sales Playbook — Agent-generated detailed sales strategy Content Calendar — 30-day LinkedIn posting schedule (3 posts/week) Financial Model — 6-month revenue projections Service Catalog — Full service offerings at snowit.ba/usluge Specifications Index Last Verified: 2026-02-17 | Owner: John SnowIT — Specifications Index Business Documents Sales & Marketing Sales Playbook — Detailed sales strategy (AI-generated by nicksaraev agent) Content Calendar — 30-day LinkedIn content plan (AI-generated by marketer agent) Financial Model — 6-month revenue/cost projections (AI-generated by finance agent) Market Research — B&H market analysis Service Catalog Located at snowit.ba/usluge: Software Development Design Services Security Consulting Data Analytics Infrastructure Management Digital Marketing Technical Documents Website Stack: Modern web framework Hosting: TBD (Deploy & Hosting Strategy task #271) Domain: snowit.ba Email: MX records setup (task #1267) Infrastructure DNS configuration (in progress) Email setup (in progress) Deployment pipeline (pending) Planning Documents 30-Day Outreach Plan — 5 clients target (delivery delayed) LinkedIn Strategy — Content themes, posting schedule Pricing Strategy — Package definitions, competitive analysis SnowIT Tenant Tree (2026-05-15 migration) SnowIT Tenant Tree (2026-05-15 migration) Legal Boundary SnowIT BA is an independent legal entity. ALAI Holding AS provides technology and operations support under service agreement. ALAI has ZERO financial share/equity in SnowIT BA. CEO directive 2026-05-15: "SnowIT BA = independent legal entity. ALAI = tech-only ZERO financial share." New Canonical Layout As of 2026-05-15, SnowIT BA operates under dedicated tenant tree: ~/tenants/SnowIT-BA/ ├── company/ # Corporate operations │ ├── state/ # System state, sessions (was ~/clients-external/snowit-state) │ ├── finances/ │ ├── contracts/ │ └── reports/ ├── legal/ # Legal documents, compliance ├── contacts/ # CRM, stakeholder data ├── calendar/ # Events, deadlines ├── mail/ # Email archives, campaigns ├── forms/ # Templates, intake forms ├── templates/ # Document templates ├── web/ # Web properties │ └── snowit-site/ # Main repo (was ~/clients-external/snowit-site) └── clients/ # SnowIT client projects Migration Summary What Moved ~/clients-external/snowit-site → ~/tenants/SnowIT-BA/web/snowit-site ~/clients-external/snowit-state → ~/tenants/SnowIT-BA/company/state Client reference symlink: ~/business/ALAI-Holding-AS/clients/SnowIT → ~/tenants/SnowIT-BA/_external-tenant-snowit-reference What Stayed in ALAI Tree ~/business/ALAI-Holding-AS/products/SnowIT/linkedin-cadence/ — ALAI internal tool (CEO directive: stays in ALAI tree) Hard Cutover Confirmed Both old directories removed: ~/clients-external/snowit-site → No such file or directory ~/clients-external/snowit-state → No such file or directory Validation Evidence Status: PASS (9/9 criteria) ID Criterion Status Evidence V1 snowit.ba serves HTTP/2 200 ✓ PASS /tmp/proveo-100723/curl-snowit.txt V2 enterprise.snowit.ba serves HTTP/2 200 ✓ PASS /tmp/proveo-100723/curl-enterprise.txt V3 Playwright screenshot rendered ✓ PASS /tmp/proveo-100723/snowit-landing.png (124KB) V4 Vercel projectId intact ✓ PASS /tmp/proveo-100723/vercel-project.json V5 LaunchAgents operational ✓ PASS 3 daemons loaded, path-independent V6 Git remote correct ✓ PASS git@github.com:snowitba/snowit-site.git V7 Repo-local [user] config removed ✓ PASS Global ~/.gitconfig inherits correctly V8 No live functional refs to old path ✓ PASS 20 mentions are historical/spec/memory only V9 Hard cutover confirmed ✓ PASS Both old directories removed Open Items Non-Blocking DEPLOY-MAP.md schema upgrade — Line 32 has stale path ~/projects/snowit-site . Kelsey-hightower blocked by blueprint-schema-validator pre-hook. Requires DEPLOY-BLUEPRINT v2 compliance upgrade. Separate MC opened for schema migration. References MC: #100723 ADR: ADR-026 SnowIT Tenant Tree Spec: ~/system/specs/snowit-tenant-migration-2026-05-15.md Executor: kelsey-hightower (FlowForge) Validator: angie-jones (Proveo) Supersedes: anvil-fs-d2 (Phase D restructure now complete for SnowIT) Canonical Registry: ~/system/specs/canonical-registry.md SEO Readiness Portal Cloud Migration — 2026-06-01 SEO Readiness Portal Cloud Migration — 2026-06-01 Date: 2026-06-01 Owner: john Verdict: DONE Live state verified (2026-06-01 05:31 UTC) curl -sI https://seo-tools.alai.no/api/health → HTTP 302 to alai-no.cloudflareaccess.com/cdn-cgi/access/login/... (CF Access enforced, no anonymous access) curl -sI https://seo-readiness-alai.azurewebsites.net/api/health → HTTP 403 x-ms-forbidden-ip: 46.46.245.169 (Azure origin lock to Cloudflare IPs) No traffic to John local host: cloudflared route for seo-tools.alai.no and seo-tools.snowit.ba set to http_status:503 . Architecture (now) Browser → Cloudflare Access ( seo-tools.alai.no , alai-no team) → Cloudflare proxied DNS → Azure App Service Linux container seo-readiness-alai (Sweden Central, rg rg-seo-readiness-prod , asp asp-seo-readiness-prod B1) → Next.js standalone in alairegistry.azurecr.io/seo-readiness-portal:20260531-cloud (digest sha256:16c8a40a... ) → persistent /home/data/workspace.json App access mode: SEO_PORTAL_ACCESS_MODE=cf-access , trusted header CF-Access-Authenticated-User-Email , allowed domains snowit.ba,alai.no , extra allowed alembasic@gmail.com . Evidence Deploy summary: /tmp/alai/seo-readiness-cloud-migration-20260531/cloud-deploy-summary.md Local-disabled proof: /tmp/alai/seo-readiness-cloud-migration-20260531/local-disabled-evidence.txt Azure build + deploy: azure-build.log , azure-webapp-deploy.log , azure-hostname-corrected.log , azure-role-settings.log Origin lock: azure-access-restrict-cloudflare.log , azure-access-restrict-smoke.log DNS upsert: cf-dns-upsert.log Public smoke: public-cloud-smoke.log Origin smoke: azure-smoke.log Authenticated UAT (alem@alai.no, end-to-end: partners → add client → intake → audit → report → markdown export): uat-alem/seo-cloud-uat-result.json + 8 PNG screenshots uat-alem/01-cf-login.png … 08-export.png Lesson memo: lesson-seo-cloud-origin-lock-20260531.md Docs corrected (no localhost as final target) DEPLOYMENT-CLOUD.md L7 — explicit "must not be served from John/local localhost" DEPLOYMENT-INTERNAL.md L7, L26, L102 — Docker steps marked local-dev only; cloud origin required for production; explicit "Do not route seo-tools.* to http://127.0.0.1:* or any localhost address" README.md L130 — "Azure App Service Linux container origin, not John/local localhost" BUILD-BLUEPRINT.md L54, L70 — Azure runbook section + CEO correction recorded Rollback If Azure origin needs rollback: Revert Web App container image: az webapp config container set -g rg-seo-readiness-prod -n seo-readiness-alai --container-image-name alairegistry.azurecr.io/seo-readiness-portal: CF Access policy and DNS remain unchanged; no public bypass introduced. Do NOT re-enable cloudflared local route — that violates the CEO correction. Open follow-ups (separate MCs, not blockers) Postgres swap for /home/data/workspace.json (durable multi-user storage) — pre-req for external product use. seo-tools.snowit.ba DNS/zone provisioning (currently 503). Bind Azure custom hostname TLS managed cert (currently CF terminates). CEO scope check "Move off John/local host to real cloud" → DONE (Azure App Service) "Cloudflare Access trusted-header preserved" → DONE ( SEO_PORTAL_ACCESS_MODE=cf-access ) "No public unauthenticated access" → DONE (302 to CF Access login on unauth) "Custom domain toward seo-tools.alai.no" → DONE (CNAME + asuid TXT + Azure binding) "Concrete deploy URL/origin" → DONE ( seo-readiness-alai.azurewebsites.net behind seo-tools.alai.no ) "UAT evidence" → DONE (alem-authenticated screen-recorded flow) "Rollback" → documented above "Fix docs that recommend local host" → DONE (4 docs updated) MC / evidence references MC task: #102653 Local closure artifact: /tmp/alai/seo-readiness-cloud-migration-20260531/CLOSURE-102653.md Cloud deploy summary: /tmp/alai/seo-readiness-cloud-migration-20260531/cloud-deploy-summary.md Authenticated UAT result: /tmp/alai/seo-readiness-cloud-migration-20260531/uat-alem/seo-cloud-uat-result.json Origin restriction smoke: /tmp/alai/seo-readiness-cloud-migration-20260531/azure-access-restrict-smoke.log P2P verifier PASS: mesh-thr-50503688-7de8-489c-96ca-3d7d1a165dc2 See Also — Agent Runbook The canonical end-to-end workflow runbook (intake to John deep-report, anti-pitfalls, trigger checklist): SEO Pipeline — Portal Intake to John Deep-Report (agent runbook)