{"schema":"traviseric.now/v2","page":"https://www.traviseric.com/now","person":"Travis Eric","howTheWorkGetsDone":"I decide what to build, set the checks each change must pass, and review what lands. AI coding agents write most of the code, which is why the commit counts run high. The outcome numbers, sites live, calls answered, bookings and owners using their dashboards, are the ones that matter.","workWithMe":{"clarityPass":{"url":"https://www.traviseric.com/clarity-pass","terms":"One week, fixed scope: page or pitch read cold, rewritten, every claim audited, receipts handed back."},"consulting":{"url":"https://www.traviseric.com/consulting","terms":"Larger or less defined technical work is scoped on a call."},"bookACall":"https://www.traviseric.com/book","localBusinessPlans":{"url":"https://localbusinessfactory.com/pricing","terms":"Monthly plans for local businesses."}},"glossary":{"BUILT":"The code exists and passes its own checks.","DEPLOYED":"It runs in production.","WORKS":"A real call went through it and the result was read back; may be test traffic unless stated.","FED":"Real, non-test data flows through it routinely. Never revenue.","units":"connections.* counts links between systems; buildMachine.tasksByProvenRung counts finished build tasks by the furthest rung each proved. They are different units and are not meant to match."},"outcomes":{"measuredOn":"2026-10-11","windowDays":90,"method":"Read-only counts from production records for client businesses only. Excluded: rows flagged as tests, probes, canaries or spam; robocalls; outbound calls; our own phone lines; the founder’s numbers; 555 numbers; test-looking names and emails. Owner calls are counted separately from customer calls.","clientSitesLive":5,"payingClients":{"count":2,"receipts":[{"business":"Dent and hail repair","since":"2026-09-08","method":"Venmo, invoice a2c3519b recorded in the founder ledger (F2)"},{"business":"Landscaping company","since":"2026-09-13","method":"Stripe subscription, live, invoice paid"}],"note":"Counted only with a receipt: a live Stripe subscription with a paid invoice, or a documented off-system payment. Amounts are not published."},"sitesLiveByTrade":["Landscaping company","Fitness studio","Ice cream shop","Dent and hail repair","Remodeling contractor"],"rileyRealCustomerCalls":112,"rileyDistinctCallers":62,"callsByTrade":[{"business":"Ice cream shop","calls":45,"callers":19},{"business":"Fitness studio","calls":34,"callers":28},{"business":"Landscaping company","calls":30,"callers":12},{"business":"Dent and hail repair","calls":3,"callers":3}],"confirmedBookings":24,"bookingsByRiley":2,"realLeads":35,"ownersActive":{"count":6,"rule":"used their dashboard on 2+ days in the last 30"},"googleReviewsSinceTracking":[{"business":"Bar and grill","firstDate":"2026-07-04","firstCount":1184,"lastDate":"2026-10-05","lastCount":1220,"rating":4},{"business":"Ice cream shop","firstDate":"2026-07-11","firstCount":333,"lastDate":"2026-10-05","lastCount":347,"rating":4.9},{"business":"Burger restaurant","firstDate":"2026-09-12","firstCount":2451,"lastDate":"2026-10-05","lastCount":2461,"rating":4.6},{"business":"Dent and hail repair","firstDate":"2026-09-03","firstCount":134,"lastDate":"2026-10-05","lastCount":138,"rating":5},{"business":"Chiropractor","firstDate":"2026-09-12","firstCount":27,"lastDate":"2026-10-05","lastCount":27,"rating":5},{"business":"Title company","firstDate":"2026-09-12","firstCount":26,"lastDate":"2026-10-05","lastCount":26,"rating":4.7}]},"updatedAt":"2026-10-11","focusReviewedAt":"2026-09-28","focusIsStale":false,"focus":{"headline":"One system for local businesses, everything else serves it.","body":["Most of my attention now goes to one thing: the system that runs a local business’s website, phone, leads and bookings, sold through Local Business Factory. Client sites are live on it, Riley answers their phones, and the first clients pay for it. The numbers are measured on this page every day.","The offer is now three fixed plans instead of custom quotes, and the next job is the ads and funnel that bring owners to them. My other tools, the book engine included, now earn their place by serving those clients rather than as products of their own."]},"ladder":{"order":["BUILT","DEPLOYED","WORKS","FED"],"note":"FED means real, non-test data flowed through the system. It never means revenue or a client result."},"systems":[{"name":"Operator Guild","what":"Another owner's AI visits mine and asks it questions, each side running on its owner's own machine.","rung":"WORKS","scope":"synthetic visitors","since":"2026-09-23","evidence":"The front door, mailbox and host all answer, and a test visit got a real reply back.","nextRung":"The first real visitor. One invite is out.","url":"https://www.traviseric.com/guild"},{"name":"Riley on my consulting line","what":"An AI receptionist that answers my business number, explains the work and books calls.","rung":"WORKS","scope":null,"since":"2026-09-13","evidence":"Asked for \"Wednesday at 9\", she found the real open slot on my calendar and offered to lock it in.","nextRung":"A caller booking a real discovery call through her, start to finish.","url":"tel:+17207702979"},{"name":"TrendOS research feed","what":"Finds and qualifies local businesses and feeds them to the prospecting system.","rung":"FED","scope":"research reads","since":"2026-09-08","evidence":"Real business records from two scheduled cloud runs landed in the prospect roster.","nextRung":null,"url":"https://www.trend-os.io"},{"name":"The Fort List newsletter","what":"Weekly Fort Collins events email with its own consent, welcome and unsubscribe path.","rung":"WORKS","scope":null,"since":"2026-09-12","evidence":"Signed unsubscribe and scheduled sends proven end to end with test readers, then cleaned up.","nextRung":"An edition reaching a real subscriber. The first send had nobody eligible yet.","url":"https://thefortlist.com"},{"name":"Fort List and the ice cream magazine, talking","what":"Two separate products share events and guides without sharing a database.","rung":"BUILT","scope":null,"since":"2026-09-22","evidence":"Verified in both directions on my machine.","nextRung":"Deploying both sides.","url":null},{"name":"The Fort List iPhone app","what":"Events, sign-in, interests and saved lists, on the phone.","rung":"BUILT","scope":null,"since":null,"evidence":"Every screen works against the live production service.","nextRung":"App Store approval. Review asked for more information about the app first.","url":null},{"name":"My own booking calendar","what":"The \"book a call\" rail on my sites. I built it instead of renting Calendly.","rung":"WORKS","scope":null,"since":"2026-07-24","evidence":"Bookings write the calendar slot, the contact record and the analytics event.","nextRung":"A stranger booking through it, counted.","url":"https://www.traviseric.com/book"},{"name":"Consulting enquiries into my CRM","what":"A written enquiry on this site becomes a lead record, not an email in a pile.","rung":"WORKS","scope":null,"since":"2026-07-27","evidence":"A flagged test enquiry was read back from the CRM and deleted.","nextRung":"A real enquiry, read back the same way.","url":"https://www.traviseric.com/consulting"}],"movedInWindow":[{"slug":"guild","name":"Operator Guild","to":"WORKS","date":"2026-09-23"},{"slug":"guild","name":"Operator Guild","to":"DEPLOYED","date":"2026-09-22"},{"slug":"cross-feed","name":"Fort List and the ice cream magazine, talking","to":"BUILT","date":"2026-09-22"},{"slug":"riley-line","name":"Riley on my consulting line","to":"WORKS","date":"2026-09-13"},{"slug":"fortlist-newsletter","name":"The Fort List newsletter","to":"WORKS","date":"2026-09-12"}],"shipped":[{"date":"2026-09-28","title":"Client outcomes, measured","summary":"Sites live, real customer calls, bookings, leads and paying clients, counted daily from production records instead of typed by hand.","url":"https://www.traviseric.com/now#outcomes"},{"date":"2026-09-23","title":"The Operator Guild opened","summary":"An invite link that lets another owner's AI visit mine. The page explains itself to any assistant that lands on it.","url":"https://www.traviseric.com/guild"},{"date":"2026-09-22","title":"Every /proof link re-checked","summary":"All 11 live systems on the proof page were re-requested and answered, so the page carries one verified date.","url":"https://www.traviseric.com/proof"},{"date":"2026-09-16","title":"The marketing system, piece by piece","summary":"Every part of the marketing system on one page, each with the honest rung it has actually reached.","url":"https://www.traviseric.com/marketing-system"},{"date":"2026-09-15","title":"Judgment, the argument","summary":"Why judgment is the scarce thing now that output is cheap: five skills, each with the date I learned it the hard way.","url":"https://www.traviseric.com/judgment"},{"date":"2026-09-15","title":"Writings rebuilt as field notes","summary":"Moved off the old CMS onto plain files. Only posts I wrote or approved are public; the rest stay behind a gate.","url":"https://www.traviseric.com/writings"},{"date":"2026-09-13","title":"Riley books the real open slot","summary":"Calls were going unbooked because of a field-name mismatch with the voice provider. Fixed, and she now offers the exact open time you asked about.","url":"tel:+17207702979"}],"writing":[{"date":"2026-10-11","title":"Dispatcher","url":"https://www.traviseric.com/writings/dispatcher"},{"date":"2026-10-10","title":"Copy Arena — draft, read, refine, launch","url":"https://www.traviseric.com/writings/copy-arena-draft-read-refine-launch"},{"date":"2026-10-09","title":"signup-doors-walk: every door, including the moment after submit","url":"https://www.traviseric.com/writings/signup-doors-walk-every-door-including-the-moment-after-submit"},{"date":"2026-10-08","title":"goal-finder — derive the goals a repo needs to finish","url":"https://www.traviseric.com/writings/goal-finder-derive-the-goals-a-repo-needs-to-finish"},{"date":"2026-10-07","title":"Motion Studio: the video harness","url":"https://www.traviseric.com/writings/motion-studio-the-video-harness"},{"date":"2026-10-06","title":"section-pass — one agent per section, the details put in","url":"https://www.traviseric.com/writings/section-pass-one-agent-per-section-the-details-put-in"},{"date":"2026-10-05","title":"Restart Board","url":"https://www.traviseric.com/writings/restart-board"},{"date":"2026-10-04","title":"Enhance the photograph that is there","url":"https://www.traviseric.com/writings/enhance-the-photograph-that-is-there"},{"date":"2026-10-02","title":"Recording intake — a day of talking becomes a week of landed work","url":"https://www.traviseric.com/writings/recording-intake-a-day-of-talking-becomes-a-week-of-landed-work"},{"date":"2026-10-01","title":"render-read-fix — verify a generator by reading its real output","url":"https://www.traviseric.com/writings/render-read-fix-verify-a-generator-by-reading-its-real-output"},{"date":"2026-09-30","title":"Goal Autopilot: the board and the engine","url":"https://www.traviseric.com/writings/goal-autopilot-the-board-and-the-engine"},{"date":"2026-09-29","title":"Paid-social video ad, one brief to a paused campaign","url":"https://www.traviseric.com/writings/paid-social-video-ad-one-brief-to-a-paused-campaign"},{"date":"2026-09-28","title":"Photo rating bench","url":"https://www.traviseric.com/writings/photo-rating-bench"},{"date":"2026-09-27","title":"Doc Registration — make a new doc discoverable","url":"https://www.traviseric.com/writings/doc-registration-make-a-new-doc-discoverable"},{"date":"2026-09-26","title":"cold-reopen — the check that happens later, cold","url":"https://www.traviseric.com/writings/cold-reopen-the-check-that-happens-later-cold"},{"date":"2026-09-25","title":"Land — verified change, pushed trunk, completed worktree removed","url":"https://www.traviseric.com/writings/land-verified-change-pushed-trunk-completed-worktree-removed"},{"date":"2026-09-24","title":"autopilot-scout — find loops & goals to set","url":"https://www.traviseric.com/writings/autopilot-scout-find-loops-goals-to-set"},{"date":"2026-09-21","title":"heart — write the room, then prove it, then remember what moved them","url":"https://www.traviseric.com/writings/heart-write-the-room-then-prove-it-then-remember-what-moved-them"},{"date":"2026-09-20","title":"Ad Campaign Design — the offer comes before the account","url":"https://www.traviseric.com/writings/ad-campaign-design-the-offer-comes-before-the-account"},{"date":"2026-09-19","title":"Seam check — prove a boundary from the other side","url":"https://www.traviseric.com/writings/seam-check-prove-a-boundary-from-the-other-side"},{"date":"2026-09-12","title":"The Brain and the Heart — why your AI needs both","url":"https://www.traviseric.com/writings/brain-and-heart-why-your-ai-needs-both"},{"date":"2026-09-11","title":"Insights harvest — when the advice is already in your repo","url":"https://www.traviseric.com/writings/insights-harvest-insights-durable-system-improvement"}],"openLoops":[{"title":"Making the dashboard earn its keep for every owner","body":"Two owners now use their dashboard on most days. Several others found it confusing at first, so the work is making it clear enough to use unaided before I ask any client for a referral."},{"title":"The Fort List app is waiting on Apple","body":"Review came back asking for more information rather than a fix. The reply and a device recording are next, then resubmission."},{"title":"The Guild needs its first real visitor","body":"Everything answers with test traffic. It proves nothing until another owner actually sends their AI through."}],"rileyProof":{"note":"Five dated proof levels across the shared Riley engine. Test checks on the Travis line and real-use aggregates on client lines do not trace one caller.","steps":[{"id":"exact-slot","rung":"BUILT","label":"Found the exact slot","metric":"9:00 AM","observedAt":"2026-09-13","scope":"Travis consulting line","traffic":"test","finding":"Riley offered the real open Wednesday 9:00 AM slot requested on a production call.","receipt":"The booking tool read WorkforceOS availability and returned the exact start time after the voice-provider field mapping was repaired.","boundary":"The caller did not confirm a booking in this check.","source":"Sep 13 production call and calendar readback"},{"id":"travis-line","rung":"DEPLOYED","label":"On the consulting line","metric":"Live line","observedAt":"2026-09-13","scope":"Travis consulting line","traffic":"deployment","finding":"Riley answered a production call on Travis’s consulting number.","receipt":"The call ledger and live agent readback show the published number routing to Riley’s greeting and booking tool.","boundary":"A live line does not mean a real discovery call was booked through it.","source":"Sep 13 consulting-line call and agent readback"},{"id":"booking-canary","rung":"WORKS","label":"Checked a booking","metric":"2 of 3 checks","observedAt":"2026-09-15","scope":"Travis consulting line","traffic":"test","finding":"Two rapid production canary calls wrote a booking and then canceled it.","receipt":"The canary crossed the phone-to-WorkforceOS boundary, read back a real booking ID, and cleaned up the appointment.","boundary":"One of the three rapid runs failed and paged. These were synthetic calls, not customer bookings or a current uptime reading.","source":"Sep 15 production booking canary receipt"},{"id":"real-calls","rung":"FED","label":"People called","metric":"112 calls","observedAt":"2026-10-11","scope":"90-day snapshot · client lines","traffic":"real","finding":"Riley answered 112 non-test inbound calls across 4 local businesses in the 90-day snapshot.","receipt":"Counted read-only from production voice-call records for ice cream shop, fitness studio, landscaping company, dent and hail repair. Test, QA, canary, spam and outbound calls, our own lines, and test-looking numbers were excluded.","boundary":"The count includes five calls from a client owner and some short hang-ups. Calls are not unique customers or qualified leads.","source":"Conversos voice_calls, read-only production count"},{"id":"real-booking","rung":"OUTCOME","label":"Booked by phone","metric":"2 bookings","observedAt":"2026-10-11","scope":"Client booking rail","traffic":"real","finding":"WorkforceOS recorded 2 non-test appointments booked by Riley on the phone.","receipt":"Counted read-only from production Booking records; test and canary appointments were excluded.","boundary":"This is a separate aggregate from the call count. It is not a caller-level conversion rate or a booking on Travis’s consulting line.","source":"WorkforceOS Booking, read-only production count"}]},"connections":{"asOf":"2026-09-25","tracked":77,"deployed":63,"worksEndToEnd":53,"provenWithRealTraffic":19,"fed":12,"conditionsReviewedAt":"2026-09-27","conditions":[{"from":"Conversos","to":"Client Factory","what":"Owner design feedback lifecycle","state":"blocked","condition":"The feedback receipt worked on one consented call. The full journey stops before a verified owner confirms the brief.","nextCheck":"Run the supervised verified-owner journey and read the confirmed brief and owner interface back.","source":".claude/registry/AI_TO_AI_INTEGRATION.md, owner_design section"},{"from":"Ice Cream Magazine","to":"Teneo Publishing","what":"Optional paid editorial fallback","state":"blocked","condition":"The last Teneo fallback probe authenticated but reported insufficient upstream credit. The current primary editorial desk uses signed-in Codex and Claude subscriptions, so this is not a magazine-wide outage.","nextCheck":"If the paid fallback is needed, restore provider credit and probe that route specifically; do not use the primary subscription probe as proof of this fallback.","source":"clients/ice-cream-magazine/scripts/lib/editorial-models.ts on origin/main; .claude/registry/AI_TO_AI_INTEGRATION.md, magazine section"},{"from":"Orchestrator","to":"Error Scope","what":"Job check-ins and exceptions","state":"paused","condition":"Cron monitoring still runs in Supabase; durable ClickHouse exception and check-in history was intentionally turned off for cost.","nextCheck":"Keep cron control-plane checks; restore ClickHouse ingestion only after the cost decision and a named owner.","source":".claude/operations/clickhouse/pause-receipt-2026-08-27.json"},{"from":"Orchestrator","to":"LLM Scope","what":"Agent run traces","state":"paused","condition":"Trace storage was intentionally turned off with ClickHouse; producers fail open.","nextCheck":"Restore storage only after the cost decision and verify a new span from the receiver.","source":".claude/operations/clickhouse/pause-receipt-2026-08-27.json"},{"from":"Roomly","to":"Error Scope","what":"Crash and stall reports","state":"paused","condition":"The client queues reports while ClickHouse ingestion is intentionally off.","nextCheck":"After the cost decision, restore ingestion and read a queued report from Error Scope.","source":".claude/registry/AI_TO_AI_INTEGRATION.md, Roomly Error Scope section"},{"from":"teneo-auth","to":"Client sites","what":"Transactional email (two transports)","state":"split","condition":"The generic send route uses Resend while owner invites and magic links can use SES. This is a routing inconsistency, not evidence of a delivery outage.","nextCheck":"Move approved generic sends to the SES rail named in the communications SSOT, then read a message back from an owned mailbox before cutting over each sender.","source":".claude/strategy/02-systems/COMMUNICATIONS-SYSTEM-SSOT.md; teneo-auth/src/app/api/email/send/route.ts"}]},"buildMachine":{"exportedAt":"2026-10-11T12:40:45.834Z","ledgerStarts":"2026-07-10","attempts":3330,"outcomes":{"landed":526,"held":690,"failed":1895,"salvaged":12},"tasksFinished":1962,"finishedTasksByHighestProvenRung":{"BUILT":1143,"DEPLOYED":14,"WORKS":99,"FED":7}},"commitHistory":"https://www.traviseric.com/api/github/timeline","notDoing":[{"title":"Selling Teneo on its own","body":"There are a hundred book generators now. Its tools stay, but they earn their keep by serving local-business clients rather than as a separate product."},{"title":"A content treadmill","body":"No video schedule. I write when something was learned the hard way, and only then."},{"title":"Renting the booking widget","body":"Every \"book a call\" runs on the calendar I own, so the clients own their data too."}],"windowDays":30}