Internal audit report

octomonic.com: Optimization Audit

Seven specialist lenses reviewed the live site independently. They produced 84 raw findings; after 30 merges and 3 kills, 47 items survived synthesis.

Internal · Prepared for Tom Levi

7Lenses
84Raw findings
47Survived
20Quick wins
6Structural
21Polish
Executive verdict

After three improvement rounds this week, the fundamentals are genuinely solid: single-sourced bilingual copy, honest request-model booking, published prices, good scroll motion. Notably, none of the 84 recommendations had to be killed for violating the locked positioning, which means the voice discipline is holding under scrutiny from seven independent lenses.

What remains is not a copy problem. It is a trust-and-capture problem: the site sells an unmediated conversation with a specific senior developer, yet shows no human anywhere (flagged independently by 4 of 7 lenses, the strongest agreement signal in the audit), and every visitor who does not book leaves without joining a pixel audience, an email list, or anything at all (flagged by both funnel-focused lenses). The single biggest lever is therefore the human-presence pass (photo, LinkedIn, Person schema at the exact moments the "developer, not salesperson" claim is made) combined with turning on the already-wired conversion tracking. Together they convert the site's honesty from an invisible virtue into verifiable proof.

There is also one urgent item: the proof band still says "Read from production, July 2026" and it is now August. The site's strongest trust device is actively contradicting itself today.

Do first: fix the date stamp and fill the two pixel IDs (under an hour combined), then ship the human-presence pass and the demo-link plus demo-strip pair this week. The quick-wins tier below is one focused build round. The only structural bet worth starting now is the email-gated sample viability spec, which is simultaneously the lead magnet, the proof asset, and the answer to "what does ₪1,500 actually buy."

Per-lens verdicts

What the seven lenses said

Marketing

Unusually disciplined for a lead-gen property: one CTA everywhere, a funnel that cannot drift page to page, published prices, real production numbers, genuine bilingual parity (the Hebrew reads as an original, not a translation). The weaknesses sit at the edges of that discipline. The sharpest positioning weapon (₪5,000+ judgement for ₪250) is buried in footnote-gray, there is literally zero path for the roughly 95% of visitors not ready to book (no capture, no retargeting pixel firing, no urgency signal), and the ad-landing story is one 8,000px generalist page for every traffic temperature. The machine converts warm visitors well; it currently lets every cold and lukewarm visitor leave without a trace.

Copy

Some of the most disciplined bilingual conversion copy audited: one CTA, honest risk-reversal, Hebrew written as Hebrew. The remaining gaps are consistency failures rather than craft failures. The declared volume audience (idea-stage, rule 3f) disappears from the shared funnel block and from /book itself; the persistent nav and sticky CTA is a verbless noun phrase; and jargon ("production" / בייצור, "גרסה לבנה") undercuts the non-technical reader the FAQ explicitly courts. Fixing the top four findings touches maybe 15 strings and closes the distance between the copy's stated rules and what actually renders.

UI-Premium

The engineering craft is genuinely senior: flawless RTL/bidi handling, a disciplined motion layer with real easing and reduced-motion fallbacks, tight copy. The visual identity layer sells it short. An AI-illustration coin logo, dead-center #FFFF00, default Inter 700 headings, a 640px hero photo upscaled across 1440px, one flat card treatment, and a bare utility footer together read as "capable freelancer with a template" rather than senior work worth ₪5,000 judgement. The gap to a top-tier read is almost entirely asset-level (mark, accent tuning, display face, surface system, preview framing); none of it requires re-architecting the site, and the top five fixes compound because the same weak assets repeat in nav, footer, favicon, and OG cards.

UX

The core funnel is in unusually good shape: one CTA everywhere (the first /book link lands within 0.02 screens on every page in both locales), 44px slot buttons, details-first booking with focused-field validation, scroll position restored on back-navigation, an honest 404 with routes onward, and a Hebrew experience that is a true mirror, not a translation. The expensive failures sit at the edges of the journey. The interactive demos, the site's only proof, are total dead ends with zero links back; a visitor whose schedule misses the narrow Today/Tomorrow slot window has no stated recovery path; the post-request window leaves the visitor holding nothing but a reference number; and the language toggle silently destroys typed form input. Fixing those four converts more of the traffic the polished middle already earns.

SEO

Post-prerender, the technical foundation is unusually clean for a site this size: unique localized titles and descriptions per route, correct canonical and hreflang pairs, Service schema with real ILS prices, properly noindexed demos, a well-formed alternates sitemap. The problem is entirely demand-side. Every title and H1 is conversion voice with near-zero query language, the Hebrew locale never uses the Hebrew-script query space (zero occurrences of "בינה מלאכותית" or "לעסקים" qualifiers), the AI-setup page's English title omits the word "AI", and the locked no-geography positioning leaves Hebrew-language content as the only Israel signal. Today this site can rank for "OctoMonic" and almost nothing else; a dozen title and eyebrow rewrites plus 2-4 high-intent pages (cost guide, per-system case studies) would connect it to real queries without becoming a content mill.

Trust

For a site with zero testimonials, octomonic.com is unusually well-armed: verified production stats with a provenance note, ten deep interactive demos honestly labeled as sample data, entity and tax ID in the footer of every page, and booking copy that refuses to overpromise ("held, not booked"). The single biggest remaining hesitation driver: an offer built entirely on "talk to the developer, not a salesperson" has no visible human anywhere. No photo, no LinkedIn, no external proof Tom Levi exists. Second tier: real risk-reversers (24h full refund, the "never sold or rented" data promise) already exist but are buried in the Terms and Privacy pages instead of sitting next to the forms and prices where hesitation actually happens. Both locales are at full parity, so every fix is a both-locales fix.

Fresh-Eyes

The rare lead-gen site where the copy is the strength: concrete, honest, zero agency fluff, real RTL. A skeptical Israeli buyer will notice. The bounce risks are structural: the strongest proof (live demos) is mislabeled and buried one page too deep, the site has zero human presence while selling one person's judgement, and the booking flow trades ad-click momentum for an honest "wait a business day." Fix the demo links, put Tom's face on the page, and give the booker an instant path, and this site converts; today it politely talks a hot lead into cooling off. Separately, with no ad-platform conversion tracking in the built HTML, whoever is buying the ads cannot see any of this.

Build-ready

Top 10: build-ready specs

T1

Turn on conversion tracking before any spend

marketingfresh-eyes2 lenses

In src/lib/pixels.js, fill META_PIXEL_ID (create it in Meta Events Manager; the event map intro_requested→Schedule, discovery_requested→Purchase is already correct). Fill TIKTOK_PIXEL_ID only if that channel is actually planned. Link the existing Firebase/GA4 property to Google Ads and import intro_requested as the primary conversion. Add two events fresh-eyes flagged as missing: whatsapp_click (float and inline links) and demo_opened (outbound demo links). Verify with Pixel Helper plus GA4 DebugView. The privacy policy already discloses the pixels, so activation is pre-cleared. Rebuild, deploy; audiences season for months before the first shekel of spend.

T2

Put a verifiable human on the site

marketingtrustfresh-eyesseo4-lens agreement

(1) One professional portrait, brand-treated (monochrome or black/yellow duotone, square crop) in the /about facts column. (2) A small circular avatar of the same photo beside consult.note on /book and beside home.trustLine in the proof band: the two exact moments the "developer, not salesperson" claim is made. (3) A visible LinkedIn row in the /about facts card. (4) Person JSON-LD in seo.js on /about (name, jobTitle Founder, worksFor pointing at the org @id, sameAs with the real LinkedIn URL) plus founder, description, and availableLanguage on the Organization node. (5) A short factual record composed only from what /work already shows. No stock, no generated imagery. If Tom declines a photo, ship the LinkedIn link and schema anyway; external identity verification is the non-negotiable half.

T3

Build one capture path for not-ready visitors

marketingstructural

The asset: a sanitized sample viability-assessment specification. "This is the exact document you receive": real structure, no client names, no invented numbers. Email-gated, delivered via the existing n8n backend. Surfaces: home FAQ band, /pricing viability tab, footer (slots into the footer rebuild). Follow with a three-email low-frequency sequence (what the spec covers, when not to build, next-available call); the template needs Tom's one-time sign-off per the external-comms gate. Pairs with the contact-page "not sure yet, describing my situation" inquiry type.

T4

Put the idea-stage visitor back into step-1 and /book

copy

Rule 3f declares idea-stage the PRIMARY volume audience, yet the conversion copy is business-only. Exact strings for LanguageContext.jsx. EN funnel.step1Body: "A short call on the idea, or on the business: what it does, which part should run on its own, and whether there is anything worth pursuing." EN book.introBlurb: "A short technical conversation: what the business (or the idea) does, which part of it you would want running on its own, and whether OctoMonic is the right answer. No charge, no obligation, no slide deck." HE equivalents as drafted by the copy lens ("שיחה קצרה על הרעיון או על העסק…"). Renders on /, /how-it-works, /pricing, and /book.

T5

Make the live proof stats actually live

URGENT · LIVE NOWtrustfresh-eyes3 recs merged

The band claims a live DB but is stamped "July 2026"; read in August, this hands the skeptic a reason to doubt everything. (1) Inject the deploy month at build time (prerender.mjs or a build env var) so the label can never lag a deploy, or fetch the counters client-side. (2) Add one provenance sentence beside numbersLabel on /work, both locales: "Figures under 'In production' are read from the running systems, not estimated." (3) Defuse the PriceScope clash (demo 1,140/4 vs. home 1,121/8) with one clause in the demo footer disclaimer: "figures here are invented sample data; the production numbers are on octomonic.com". (4) Add an AIOS monthly checklist item: refresh trustStats from GPI; a stale date is a release blocker.

T6

"None of these times work?" escape hatch on /book

ux

The free-call variant offers only 10 slots across Today and Tomorrow; a full-calendar visitor has no recovery. Add a quiet link under the last day group ("None of these times work?" / "אף שעה לא מתאימה?") swapping Step 2 for the fallback details form that already exists in the code (currently used only on availability failure), posting with a distinct source tag (no_slot_fit) so Tom reads it as a scheduling miss. Recovers bookings currently lost silently; reuses existing code.

T7

Instant acknowledgment after a booking request

marketingux2 lenses

From the existing n8n booking webhook: an immediate transactional email (optionally WhatsApp, since the number is collected) with the reference ID, the held day and time in Israel time and the visitor's locale, and the two-line "what happens next", keeping the honest held-not-booked framing. Add to the success screen: "A confirmation of this request was just sent to <email>". Transactional rather than outbound: it fits the comms model as a pre-approved flow after Tom signs off the template once. Eliminates the up-to-a-business-day silent gap on the highest-intent conversion.

T8

Branded return strip on every demo

uxtrustseo3-lens agreement

Demos are the deepest proof asset and are verified dead ends (zero links back to octomonic.com; campops and reshima have no attribution at all). Template one slim bar and inject it into all 10 /public/demos/*/index.html files: logo linking to /{locale}/work; "Built by OctoMonic. Book a free 5-10 min conversation" linking to /{locale}/book; utm_source=demo&utm_medium=footer&utm_campaign=<slug>; Hebrew demos route to /he/. Where "Built by OctoMonic" already exists as plain text, make it the <a>. Keep noindex and the fictional-data disclaimer untouched.

T9

Link home proof cards straight to their demos

fresh-eyes

All three "Interactive demo" badges currently href to /work: the audit's clearest bounce moment (tap expecting a demo, land atop an 8,000px page). Point each card and badge at /demos/<slug>/ (new tab); keep a secondary "See more of the work" link to /work. Ship together with T8 so demos are no longer dead ends when reached.

T10

The ₪250 economics pass: anchor, why-free FAQ, refund line

marketingtrust2 lenses

(1) Add the anchor sentence ("the read normally buried inside a ₪5,000+ build") to the home FAQ cost answer and/or home.offeringsLede; promote step2Note from footnote-grey to supporting-copy weight on /pricing and /how-it-works. (2) New FAQ item, "Why is the first call free?": most misfits are visible in ten minutes; hearing "not worth building" early costs OctoMonic nothing; the real technical read is the ₪250 consultation (FAQPage JSON-LD mirrors automatically). (3) Surface the Terms-backed risk reverser at every ₪250 decision point, wording identical to Terms: "Cancel up to 24 hours before the call, full refund." One coherent story: the price is a discount on judgement, the free call has no catch, the paid step has no risk.

Full ledger

The 47 surviving items, by tier

Tier 1: Quick wins

High impact, S/M effort · one focused build round

#TitlePageProblem → ProposalImpactEffortLenses
T1Conversion tracking on before spendglobalPixels wired but IDs empty, no Google tag → fill IDs, link GA4 to Google Ads, add whatsapp/demo events. Spec T1.HIGHSmarketing + fresh-eyes (2✓)
T2Verifiable human: photo, LinkedIn, Person schema/about, /book, /Faceless site selling a person → portrait, avatar at the claim moments, LinkedIn + schema. Spec T2.HIGHMmarketing + trust + fresh-eyes + seo (4✓)
T4Idea-stage copy at the conversion momentfunnel + /bookPrimary audience absent from step-1 and book copy → exact drafted strings, both locales. Spec T4.HIGHScopy
T9Home proof cards link to demos/Demo badge lands atop an 8,000px /work → direct /demos/<slug>/ links. Spec T9.HIGHSfresh-eyes
T5Live stats look live (stale "July 2026")/, /work, demosDate contradicts the live-DB claim as of Aug 1 → build-time stamp + /work provenance + demo-clash clause. Spec T5.HIGHStrust + fresh-eyes (2✓, 3 recs)
T6Slot escape hatch on /book/book10 slots over 2 days, no recovery → quiet link to the existing fallback form, distinct source tag. Spec T6.HIGHSux
T7Instant booking acknowledgmentbackend + /bookHeld-not-booked leaves the lead with nothing for a day → n8n transactional email with reference + next steps. Spec T7.HIGHMmarketing + ux (2✓)
T8Branded return strip on all demos/demos/*Proof assets are verified dead ends → templated logo + CTA bar, UTMs, all 10 demos. Spec T8.HIGHS/Mux + trust + seo (3✓)
T10₪250 economics pass (anchor + why-free + refund)/, /pricing, /how-it-works, /bookAnchor buried, free call unexplained, refund promise hidden in Terms → one coherent economics story. Spec T10.HIGHSmarketing + trust (2✓)
Give the nav/sticky CTA a verbglobal"Free conversation" is a noun on the site's highest-frequency button → EN "Book a free conversation", HE "לשיחה ללא עלות".HIGHScopy
Data-use assurance beside every submit/contact, /bookPhone and email collected with zero reassurance at the moment of hesitation → one microcopy line linking /privacy, styled like contactHint.HIGHStrust
Keyword-first titles incl. /ai-setupglobalAll titles brand-first, /ai-setup never says "AI" → query-first titles under 60 chars per the SEO lens drafts (seo.js + translations).HIGHSseo (2 recs merged)
Search Console + Bing + sitemapinfraNo verification token anywhere; hreflang and indexing unverifiable → DNS-TXT Domain property, submit sitemap, GSC-to-Bing import. Prerequisite for the x-default decision.HIGHSseo
Hebrew-script query gap/he"בינה מלאכותית", "לעסקים", "פיתוח" appear zero times → about 10 line edits qualifying existing sentences, no tone change.HIGHSseo
Sticky mobile CTA beyond home/work, /pricing, /how-it-works, /ai-setupThe longest pages (12,400px) have no persistent CTA → mount the existing StickyCta; /ai-setup points at #enquire. Contracts already generalize.HIGHSmarketing + ux (2✓)
WhatsApp channel pass/book, /contact, floatIsrael's default channel hidden in an anonymous bubble → labeled chip "WhatsApp: Tom answers personally", inline row on /contact, explicit fast-path offer on /book + post-submit.MED-HIGHS/Mfresh-eyes + trust (2✓, 3 recs)
Remove the 640px upscaled hero photo/Stretched 640px stock texture reads murky → delete the layer, keep the radial wash + node motif, add grain; free LCP win (preload removed).HIGHSui-premium
Tune #FFFF00 + restyle the green FABglobalMax-saturation hazard yellow + off-system WhatsApp green → tuned acid-yellow token with named steps; FAB on-system (black disc, yellow ring, green as detail only).HIGHSui-premium
Logo redraw + OG/favicon rolloutglobalAI-illustration coin unreadable at 40px; the OG card is the funnel's weakest asset (WhatsApp shares) → flat one-color vector glyph, one-color wordmark, regenerated favicon set + both OG cards.HIGHMui-premium (2 recs merged)
Display typeface for h1/h2, both scriptsglobalInter 700 default is the template tell; HE headings optically lighter → one display weight per script (Space Grotesk/Archivo + a Rubik 800 class), h1/h2 only.HIGHMui-premium

Tier 2: Structural

High impact, L effort · start one, queue the rest

#TitlePageProblem → ProposalImpactEffortLenses
T3Email-gated sample viability spec + sequenceglobalZero capture for not-ready visitors, the largest funnel hole → the deliverable-as-proof lead magnet via n8n. Spec T3.HIGHM/Lmarketing
Make the ₪250 consultation actually bookable/book, /pricingHighest-intent visitors have no path to the paid step (the meta description even promises one) → a second booking mode reusing the slot-request UI + a type=discovery flow; the request model already protects the calendar.HIGHM/Lmarketing + fresh-eyes (2✓)
Two cost-guide pages (EN + HE)/guides/*The published-prices advantage is invisible to "כמה עולה" queries → one evergreen guide per locale, 800-1,200 words, only already-published prices, a when-not-to-build section.HIGHMseo
Curate /work: flagship-first + anchor index/workA 12,400px inventory scroll, equal weight for strongest and weakest → 2-3 flagship cards per group, compact expandable tier-2 rows, an icon-tile jump index (About pattern), a CTA band every ~3 cards.MED-HIGHM/Lmarketing + fresh-eyes (2✓)
Split 2 case studies into their own URLs/work/<slug>2,485 words of case-study content trapped on one URL → promote PriceScope + one more to dedicated pages with query-targeted titles, hreflang pairs.MEDMseo
Message-matched ad landing variants/start/<segment>All paid traffic would land on the generalist home page → per-segment variants from the existing "three ways people arrive" content, sitemap-excluded. Gate: build when campaigns are actually being prepared, after T1.HIGH with adsLmarketing

Tier 3: Polish

Medium/low impact · batch these

TitlePageProblem → ProposalImpactEffortLenses
16px form inputs (iOS zoom)/book, /contact14px inputs trigger Safari auto-zoom at the conversion moment → text-base on all form controls. Bug-grade; do first in this batch.MEDSfresh-eyes
Field-anchored error recovery/book, /contactError text renders screens away from the failing field on mobile → visible message under the first failing field + scrollIntoView for the no-slot error; aria wiring exists.MEDSux (2 recs merged)
Minimal ₪250 clarity line + meta fix/pricing, /bookThe step-2 card dead-ends → "Offered at the end of the free conversation. Nothing to arrange now." + fix the /book meta description overpromise. Interim until the structural bookable mode ships.MEDSmarketing + fresh-eyes
Footer as closing brand momentglobalThe last thing a scrolled prospect sees is a tax ID → closing line + CTA, direct email/WhatsApp, nav columns; future home for the T3 offer.MEDSui-premium
Contact as the explicit not-ready route/, /contactHesitation never routed anywhere → "Not ready to talk? Describe the problem in writing" line + a matching inquiry-type option. Pairs with T3.MEDSmarketing
Anonymity reframe/, /work"Client not named, by choice" reads as covering → factual vertical descriptor where contract-safe; explain the policy once rather than per-card.MEDSfresh-eyes
Live next-available slot chip/Zero honest urgency anywhere → a real chip from the existing ~1s availability endpoint, graceful omission on failure.MEDMmarketing
Booking mobile tuning batch/bookThe expect-block pushes the form 1.5 screens down; a 40-slot discovery wall; contract below the fold → details-disclosure below md, per-day slot pagination, microNoteLong in the header.MEDSux (3 recs)
Preserve form input across locale switch/book, /contact, /ai-setupThe language toggle wipes typed fields (punishes the exact bilingual user) → sessionStorage stash and rehydrate around location.assign.MEDMux
Mobile header rebalanceglobalFour competing elements, two yellow, before any content → wordmark + unboxed hamburger, ghost locale toggle, one yellow element per screen.MEDSui-premium + fresh-eyes (2✓)
Elevation + grain systemglobalOne card treatment, invisible section rhythm, flat #000 → a second panel tone, inset top highlight, hover lift, 2-3% grain overlay.MEDMui-premium (2 recs merged)
Preview chrome + LQIP frames/, /workRaw screenshots in 3 palettes punch holes in the dark page; black lazy-load flash → shared browser-chrome frame, 16:10 crop, blurred placeholder. Supersedes the L-effort "full-width collage" idea.MEDMui-premium + fresh-eyes (2✓)
Micro-interaction passglobalFlat pointer feedback vs. good scroll motion → arrow travel, underline draw, press state, nav indicator; CSS-only, reduced-motion safe.MEDSui-premium
Pricing tabs → selectable cards/pricingA revenue surface styled as filter chips → equal-width cards with name/scope/price, active card lifted.MEDMui-premium
Retire "production" / "בייצור" jargonglobalDeveloper jargon for a non-technical buyer; HE "בייצור" reads as manufacturing → per-context replacements, jargon kept only in technical cards.MEDMcopy
EN naming pass: routes vs offerings + pricing H1global, /pricingFour products, two names; "Two steps in. Four ways on." stumbles natives → "offerings" as the sole product noun; pricing H1 mirrors the clean Hebrew. The home wordplay stays.MEDScopy + fresh-eyes (2✓)
Cut one "not a build" on the viability tab/pricingSaid three times in one tab, reads as anxiety → delete the lede's closer, both locales.MEDScopy
Sharpen situations payoffs + /ai-setup header/, /ai-setupA relief beat set up, paid off with a scoping memo; "Why this sits on its own page" is navel-gazing → drafted replacement strings ("A day, not a project.").MEDScopy (2 recs)
Contractions taste pass (EN)globalZero contractions makes spoken-register sections starchy → about 10 strings in FAQ/close/expect only; headlines and legal stay formal.MEDMcopy
Promise-consistency microcopy batch/contact, /book, /privacyAbsolute vs. hedged SLA; no "no payment details on this site" line; the WhatsApp channel absent from the privacy policy → unify on "usually within one business day", add both lines.MEDStrust (3 recs)
SEO hygiene batchglobalx-default/root contradiction; toggle not crawlable; soft-404s; preview.webp robots-blocked + empty alts → x-default to /en (post-GSC check), <a href> toggle, prerendered 404.html + narrow rewrite, unblock webp + pass alt in Home.jsx.MEDSseo (4 recs)
Organization schema enrichmentglobalBare org node, no serviceType → description, availableLanguage, serviceType per Service. (The Person node ships in T2.) areaServed is a positioning decision for Tom.MEDSseo
Training buyer non-call route/pricing, /contactThe only offering with no secondary action → altCta to /contact + a "Professional training" inquiry option.MEDSux
Micro-fix batch (both locales)various"confirmed usually" word order; "Get in touch" becomes "Let's talk."; About lede duplication; HE "גרסה לבנה" becomes "White Label"; "הדמו באנגלית" tag on Hebrew cards.LOWScopy + fresh-eyes (5 recs)
Split of work

Who does what

Needs Tom

Inputs only he can provide

  • Meta pixel ID + GA4 link-up Create the pixel in Meta Events Manager and link GA4 to Google Ads (account-owner access). Unblocks T1.
  • Portrait photo + LinkedIn URL One professional photo and the real LinkedIn profile link. Unblocks the full T2; the schema half ships either way.
  • Email-template one-time sign-offs Approve the T3 lead-magnet sequence and the T7 acknowledgment template once, per the external-comms gate. After that both run as pre-approved flows.
  • Training retail price A price decision so the Training offering can carry a published number like the rest.

McLead ships on approval

One build round, no further input needed

  • T5 Build-time date stamp, provenance line, demo-clash clause, checklist item.
  • T4 + T6 Idea-stage strings in both locales; the /book escape hatch.
  • T8 + T9 The demo return strip and direct demo links, shipped together.
  • T10 The ₪250 economics pass across all four pages.
  • Quick-wins batch The remaining Tier 1 rows: CTA verb, data-use line, SEO titles, Hebrew query pass, sticky CTA, WhatsApp pass, hero cleanup, yellow tuning, logo/OG rollout, display typeface.
Hour oneT5 + T1. Kill the stale date, fill the pixel IDs.
This weekT2, T8, T9, T4, T6, T7, T10. The human-presence pass plus the demo pair, then the conversion copy and economics fixes.
Structural betT3, the sample-spec lead magnet. The one long build worth starting now.