Sitemap
All Sections
- 283 pages- About - 1
- Archive - 1
- Ask Eljay - 1
- Blog - 73
- Built With - 1
- Customer Stories - 22
- Fun - 1
- Home - 1
- Packages & Tools - 4
- Reading List - 48
- Research - 45
- Services - 1
- Sitemap & Website Config - 4
- Technologies - 78
- Terms - 1
- Testimonials - 1
Pages
About
- 1 pages- /about About Lightning Jar
Archive
- 1 pagesAsk Eljay
- 1 pages- /ask-eljay Ask Eljay
Blog
- 73 pages- /blog Blog
- /blog/breach-moved-upstream Your Next Breach Won't Come Through the Contact Form: Website Security Moved Upstream
- /blog/first-agent-your-own The First Agent Your Site Should Serve Is Your Own: Chatbots as AEO Proof
- /blog/platform-native-chat-widget The Platform Gave Us the Chat Widget: Popover and Anchor Positioning in Production
- /blog/eljay-research-applied We Built Our Chat Agent the Way Our Research Told Us To
- /blog/three-files-nobody-reads Three Files Nobody Reads
- /blog/the-index-goes-in-the-context The Index Goes in the Context
- /blog/one-sentence-beats-every-file One Sentence Beats Every File
- /blog/nobody-reads-llms-txt Nobody Reads llms.txt (Yet)
- /blog/introducing-aeo-bench Introducing AEO Bench
- /blog/the-cheapest-model-passed-every-gate The Cheapest Model Passed Every Gate
- /blog/the-maps-bill-that-wasnt-riders Cutting a Google Maps Bill 87% by Un-Billing the Bots | Lightning Jar Engineering
- /blog/the-website-workbench Website QA Automation: Type Checks, Linting, a11y, Performance, Agent Readiness | Lightning Jar
- /blog/your-website-is-not-done Websites Are Operated Systems: Audits, Monitoring, and Automated Checks | Lightning Jar
- /blog/woof-editor-0-2-try-the-editor-that-can-t-drift woof-editor 0.2: Round-Trip Markdown WYSIWYG for Svelte 5 | Lightning Jar Engineering
- /blog/agent-ready-website What It Means to Make Your Website Agent-Ready
- /blog/premium-web-design-ai-images What Premium Web Design Looks Like in the Age of AI Images
- /blog/switching-away-from-google-fonts Why We Are Switching Away from Google Fonts
- /blog/gtfs-pipeline Our GTFS Build Pipeline: CI as ETL
- /blog/bus-stop-qr-codes Bus Stop QR Codes: Print-Ready Proofs from Web Infrastructure
- /blog/modern-transit-website Building a Modern Transit Website with Live Bus Tracking
- /blog/cold-email-is-spam Cold Email Is Spam
- /blog/give-the-model-a-tool-not-a-rule Give the Model a Tool, Not a Rule
- /blog/the-effect-trap-why-svelte-s-escape-hatch-gets-overused Svelte $effect Overuse: The React Reflex
- /blog/why-we-switched-to-plausible From Google Analytics to Plausible
- /blog/the-error-message-didnt-matter The Error Message Didn't Matter | barkup-bench Study AJ
- /blog/it-asked-about-things-it-already-knew It Asked About Things It Already Knew | barkup-bench Study AG
- /blog/the-twenty-first-note The Twenty-First Note | barkup-bench Study AH
- /blog/repeating-the-goal-doesnt-make-it-yours Repeating the Goal Doesn't Make It Yours | barkup-bench Study AF
- /blog/only-the-frontier-knows-when-to-ask Only the Frontier Knows When to Ask | barkup-bench Study AE
- /blog/the-frontier-doesnt-need-the-training-wheels The Frontier Doesn't Need the Training Wheels | barkup-bench Study AD
- /blog/the-model-always-knew The Model Always Knew What It Couldn't See | barkup-bench Study AC
- /blog/the-arcade-game-with-no-game-loop The Arcade Game With No Game Loop | Donut Shooter
- /blog/stronger-llms-follow-conflicting-instructions-more-literally Stronger LLMs Follow Conflicting Instructions More Literally | barkup-bench Study Z
- /blog/the-number-that-doesnt-fit-in-a-number The Number That Doesn't Fit in a Number | Numberoo
- /blog/undo-that Undo That | barkup-bench Study X
- /blog/hand-it-everything-it-needs Hand It Everything It Needs | The barkup-bench Capstone at 23 Studies
- /blog/the-browser-is-an-instrument The Browser Is an Instrument | Web Audio API Synth
- /blog/f-sharp-is-not-g-flat F♯ Is Not G♭ | Music Theory as a Data-Modeling Problem
- /blog/who-writes-the-memo Who Writes the Memo? | barkup-bench Study W
- /blog/views-carry-values-memos-carry-goals Views Carry Values, Memos Carry Goals | barkup-bench Study V
- /blog/the-two-things-your-agent-cant-see The Two Things Your Agent Can't See | barkup-bench Studies T and U
- /blog/the-thirty-sixth-edit The Thirty-Sixth Edit | barkup-bench Study S
- /blog/barkup-0-5-deterministic-selection barkup 0.5 | Deterministic Selection
- /blog/two-examples-replace-a-memory Your Agent Doesn't Need a Memory | barkup-bench Studies P and Q
- /blog/barkup-0-4-content-search barkup 0.4 | Content Search
- /blog/then-we-found-the-cheap-part Then We Found the Cheap Part: One Search Call Grounds LLM Tree Edits
- /blog/the-untested-half-of-your-wysiwyg barkdown: a Markdown to DOM Round-Trip Codec | Lightning Jar Engineering
- /blog/the-benchmark-said-no The Benchmark Said No | barkup-bench Studies L and M
- /blog/stable-ids-are-all-you-need Stable IDs Are All You Need | barkup-bench
- /blog/barkup-0-3-focused-views barkup 0.3 | Focused Views
- /blog/your-agents-session-is-drifting Session Drift in LLM Agents | barkup-bench Study K
- /blog/the-model-doesnt-need-to-see-your-tree The Model Doesn't Need to See Your Tree | barkup-bench
- /blog/we-found-the-crossover We Found the Crossover | barkup-bench at 1000 Nodes
- /blog/tool-history-footgun Deprecated Accessor Broke My Benchmark | Tool-History Footgun
- /blog/barkup-0-2-anchored-patches barkup 0.2 | Id-Anchored Patches
- /blog/barkup-bench-results We Benchmarked It | HTML vs JSON for LLMs
- /blog/content-overlay Content Is an Overlay | Words vs. Structure
- /blog/replicator-origin Documents as Web Code | Origin of Replicator
- /blog/twenty-five-years 25 Years of Lightning Jar | A Digital Agency Since 2001
- /blog/ast-as-html HTML as a Native Data Format for LLMs | AST-as-HTML
- /blog/utility-css-for-markup-that-doesnt-exist-yet Utility CSS for LLM-Generated Markup | Lightning Jar Engineering
- /blog/pimcore-opendxp-podman-migration Pimcore to OpenDXP on Rootless Podman | Migration
- /blog/opendxp-pimcore-fork Pimcore Fork | OpenDXP
- /blog/wordpress-abandoned-plugin-compromise Anatomy of a WordPress Compromise | Abandoned Plugins
- /blog/why-links-should-not-open-in-new-tabs Why Links Should Rarely Open in a New Tab
- /blog/open-source-b2b-advantage Open Source vs Proprietary for B2B: Why Freedom Wins
- /blog/sveltekit-vs-wordpress-b2b SvelteKit vs WordPress for B2B: Security, Speed, Cost
- /blog/questions-decisions-compromises Questions, Decisions & Compromises
- /blog/no-digital-advertising Why We Don't Sell Ads
- /blog/seo-is-changing SEO Is Changing
- /blog/leaving-wordpress Leaving Wordpress
- /blog/project-management-software-trap Project Management Software Trap
Built With
- 1 pages- /built-with Built With
Customer Stories
- 22 pages- /customer-stories Customer Stories
- /customer-stories/replicator-evolution The Evolution of Replicator | Customer Story
- /customer-stories/securelogix-digital-stack Ten Years and One Unified Stack for SecureLogix | Customer Story
- /customer-stories/ccrta-multilingual-translation 14 Languages in Days, Not Quarters: CCRTA Sitewide Translation | Customer Story
- /customer-stories/petroskills-ecommerce Selling Seats, Not SKUs, for PetroSkills | Customer Story
- /customer-stories/ccrta-transit-website Leaving WordPress Behind for CCRTA | Customer Story
- /customer-stories/sage-energy-brand-system Five Years and One Brand System for Sage Energy Holdings | Customer Story
- /customer-stories/transtrack-design-system A Modern Design System for TransTrack's Transit Software | Customer Story
- /customer-stories/northgate-in-store-ux In-Store Digital Experience for Northgate González Market | Customer Story
- /customer-stories/zenith-energy-digital-partner A Decade as Zenith Energy's Digital Partner | Customer Story
- /customer-stories/hark-mediascience-launch Launching Hark for MediaScience | Customer Story
- /customer-stories/baloo-brand-strategy Finding Baloo's Brand | Customer Story
- /customer-stories/rigby-home-brand-voice A Bold, Real Voice for Rigby Home | Customer Story
- /customer-stories/blue-duck-scooters-rebel-brand A Rebel Brand for Blue Duck Scooters | Customer Story
- /customer-stories/zenith-capital-digital-presence A Modern Digital Presence for Zenith Capital Partners | Customer Story
- /customer-stories/cappex-eab-pimcore-pim Pimcore Data Management for Cappex & EAB | Customer Story
- /customer-stories/blueline-rental-digital-ecosystem Architecting BlueLine Rental's Digital Ecosystem | Customer Story
- /customer-stories/green-sprouts-o2c-pimcore-pim Pimcore PIM for Green Sprouts and O2C Brands | Customer Story
- /customer-stories/avaya-digital-agency-of-record Digital Agency of Record for Avaya | Customer Story
- /customer-stories/beam-suntory-mdm The Perfect Cocktail for Marketing Data | Customer Story
- /customer-stories/space-racers-pimcore-launch Launching Space Racers on Pimcore | Customer Story
- /customer-stories/united-rentals-digital-pioneer Pioneering Digital for United Rentals | Customer Story
Fun
- 1 pages- /fun Fun
Home
- 1 pages- / Lightning Jar | Design, Build & Brand Technology Studio
Packages & Tools
- 4 pages- /packages Packages & Tools
- /packages/barkdown barkdown
- /packages/barkup barkup
- /packages/woof-editor woof-editor
Reading List
- 48 pages- /reading-list Reading List
- /reading-list/refactoring-economic-benefit The Economic Benefit of Refactoring
- /reading-list/keyv-cacheable-compromise keyv and cacheable npm namespaces compromised in supply chain attack
- /reading-list/ten-advances-in-mathematics Ten advances in mathematics and theoretical computer science
- /reading-list/stacked-pull-requests Stacked pull requests are now in public preview
- /reading-list/session-portability The Session You Cannot Take With You
- /reading-list/npm-supply-chain Disrupting supply chain attacks on npm and GitHub Actions
- /reading-list/recursion-is-lying Your Recursion Is Lying to You
- /reading-list/crypto-weaknesses Discovering cryptographic weaknesses with Claude
- /reading-list/woff-milestone WOFF 1.0: a milestone on W3C's journey of fonts on the web
- /reading-list/writing-by-hand Writing by Hand is Good for your Brain - Here's how to do it
- /reading-list/rootless-containers Securing services with Rootless Containers
- /reading-list/open-weights-position Our position on open-weights models
- /reading-list/agent-readiness Introducing the Agent Readiness Score
- /reading-list/llms-reward-expertise LLMs Reward Expertise
- /reading-list/we-got-addicted-to-an-ai-model-we-cant-talk-about We got addicted to an AI model we can't talk about
- /reading-list/sarah-guo-conviction Sarah Guo's Wager
- /reading-list/bun-in-rust Rewriting Bun in Rust
- /reading-list/agent-swarm-model-economics Agent swarms and the new model economics
- /reading-list/whos-afraid-of-chinese-models Who's Afraid of Chinese Models?
- /reading-list/infinities-impossibilities-and-the-man-in-the-white-linen-suit Infinities, impossibilities, and the man in the white linen suit
- /reading-list/overtraining-as-the-path-to-human-like-ai Overtraining as the Path to Human-like AI
- /reading-list/tokenpocalypse-404-media The Tokenpocalypse Is Here
- /reading-list/bosses-obsessed-with-ai Bosses Are Becoming Obsessed With AI
- /reading-list/thinking-more-about-netscape-time Thinking More About Netscape Time
- /reading-list/hidden-cost-of-taking-yourself-too-seriously The Hidden Cost of Taking Yourself Too Seriously
- /reading-list/thoughtbot-stewardship-over-exit Why We're Choosing Stewardship Over an Exit
- /reading-list/ad-infinitum Ad Infinitum
- /reading-list/why-federated-design-systems-keep-failing Why Federated Design Systems Keep Failing
- /reading-list/pre-training-wall-corecursive-121 The Pre-Training Wall and the Treadmill After It — CoRecursive #121
- /reading-list/how-nasa-built-artemis-fault-tolerant-computer How NASA Built Artemis II's Fault-Tolerant Computer
- /reading-list/code-cleanliness-coding-agents Does Code Cleanliness Affect Coding Agents? A Controlled Minimal-Pair Study
- /reading-list/how-i-use-llms-in-2026 How I use LLMs as a staff engineer in 2026
- /reading-list/evolved-antennas-and-the-antifuture Evolved antennas, LLM-generated code, and a potential antifuture
- /reading-list/tanhacked-syntax-1004 TanHacked — Syntax #1004
- /reading-list/hyperblam Hyperblam: Make Music With HTML
- /reading-list/the-house-is-valuable-because-it-is-the-house The House Is Valuable Because It Is the House
- /reading-list/yankee-candles-levels-of-abstraction Yankee Candles Levels of Abstraction
- /reading-list/you-deserve-a-tech-union You Deserve a Tech Union
- /reading-list/how-to-win-at-cors How to win at CORS
- /reading-list/you-cant-design-software-you-dont-work-on You Can't Design Software You Don't Work On
- /reading-list/phantom-obligation Phantom Obligation
- /reading-list/on-affordances On Affordances
- /reading-list/mental-models-nng Mental Models
- /reading-list/turso-sqlite Deep dive into Turso, the "SQLite rewrite in Rust"
- /reading-list/sixty-years-of-learning-the-same-lesson Sixty years of learning the same lesson
- /reading-list/waiting-for-dawn-in-search Waiting for dawn in search: Search index, Google rulings and impact on Kagi
- /reading-list/some-thoughts-on-the-open-web Some Thoughts on the Open Web
Research
- 45 pages- /research Research
- /research/barkup-bench Barkup Bench
- /research/barkup-bench/g Study G: One hidden SDK default, two very different benchmarks
- /research/barkup-bench/h Study H: The crossover, found: above ~300 nodes, only anchored patches hold
- /research/barkup-bench/ij Study I/J: The model doesn't need to see the tree: a ~1.5k-token view matches the full 85k-token input
- /research/barkup-bench/k Study K: Sessions drift unless you re-show the tree; and showing a fresh view every turn is also the cheapest policy
- /research/barkup-bench/l Study L: Finding the node is the expensive part: grounding costs 7–9 points, and navigation is a frontier-only trap
- /research/barkup-bench/n Study N: Stop walking, start searching: one find_nodes call grounds the edit on both model tiers
- /research/barkup-bench/m Study M: The view carries the state, but history still earns its keep
- /research/barkup-bench/o Study O: Printing the position on every node does not rescue stateless sessions
- /research/barkup-bench/p Study P: History was a teacher all along: two canned examples replace the whole conversation
- /research/barkup-bench/q Study Q: "Change every X inside Y" breaks everything; including the oracle
- /research/barkup-bench/s Study S: 36 edits later, nothing broke; except the cost curve
- /research/barkup-bench/t Study T: The one thing statelessness can't do; and the three note lines that fix it
- /research/barkup-bench/u Study U: The view that can't see the answer doesn't fail; it makes something up
- /research/barkup-bench/v Study V: Views carry values, memos carry goals
- /research/barkup-bench/w Study W: The agent writes the memo faithfully; even when history makes it redundant
- /research/barkup-bench/x Study X: "Undo that" needs an echo, not a transcript
- /research/barkup-bench/y Study Y: The memo survives how people actually talk
- /research/barkup-bench/z Study Z: The brand pack works; the rule you forgot is the hazard
- /research/barkup-bench/aa Study AA: We tested our own headline and lost: strictness is not a capability gradient
- /research/barkup-bench/ac Study AC: The model always knew what it couldn’t see
- /research/barkup-bench/ad Study AD: The core stack transfers to the tier we actually ship
- /research/barkup-bench/ae Study AE: Only the frontier knows when a question is the right answer
- /research/barkup-bench/af Study AF: Saying the goal out loud doesn't make it yours
- /research/barkup-bench/ah Study AH: Perfect to the cap. At the cap, the goals die first.
- /research/barkup-bench/ai Study AI: The obvious fix, measured: it helps exactly where we don't ship
- /research/barkup-bench/ag Study AG: The discourse gap closes on every tier; the visibility clause bites
- /research/barkup-bench/aj Study AJ: The error message didn't matter
- /research/barkup-bench/ak Study AK: The fix works where it can, and the frontier tier invented consolidation
- /research/barkup-bench/al Study AL: The gate fails on a moved baseline; and unproven does not ship
- /research/barkup-bench/am Study AM: The notice learned to ask for everything back
- /research/barkup-bench/an Study AN: Ask or act: tool availability dissolves the visibility-clause tax
- /research/barkup-bench/ao Study AO: Canonical-tag steering: the catalog read is the whole mechanism
- /research/barkup-bench/ap Study AP: The off-catalog fork: one sentence settles the foreign branch; the registration loses the adjacent one
- /research/barkup-bench/ow Study OW: The open-weight backfill: the cheapest model passed everything; two frontiers failed the same gate
- /research/barkup-bench/aq Study AQ: The powered fence: vindicated where it no longer matters, harmful where it does
- /research/barkup-bench/ar Study AR: Advertised headroom: one line of state outdoes the rule, and a binding number is poison
- /research/barkup-bench/playbook The Builder's Playbook
- /research/aeo-bench AEO Bench
- /research/aeo-bench/1 Study 1: Nobody reads llms.txt: the aids don't change what agents find; one changes what it costs
- /research/aeo-bench/2 Study 2: The discovery-file mechanism: nothing reads llms.txt even when it is the only way, and one sentence fixes everything
- /research/aeo-bench/3 Study 3: The affordance study: the index goes in the context
- /research/aeo-bench/4 Study 4: The capability layer: three files nobody reads, one sentence that replaces them, and the tools that pay for themselves
- /research/aeo-bench/playbook The Agent-Readiness & AEO Playbook
Services
- 1 pages- /services Services
Sitemap & Website Config
- 4 pages- /sitemap Sitemap
- /sitemap.xml Sitemap XML
- /robots.txt Robots.txt
- /feeds Feeds
Technologies
- 78 pages- /technologies Technologies
- /technologies/anthropic-claude Anthropic (Claude)
- /technologies/arcjet Arcjet
- /technologies/astro Astro
- /technologies/axe-core axe-core
- /technologies/barkdown barkdown
- /technologies/barkup barkup
- /technologies/betterauth BetterAuth
- /technologies/biome-formatter-linter Biome
- /technologies/bun-test Bun Test
- /technologies/bun Bun
- /technologies/change-tracking-feature-flags Change Tracking & Feature Flags
- /technologies/claude-code Claude Code
- /technologies/css-modern-layouts CSS (Modern Layouts)
- /technologies/deepgram Deepgram
- /technologies/deno Deno
- /technologies/digitalocean-spaces DigitalOcean Spaces
- /technologies/docker Docker
- /technologies/dompurify DOMPurify
- /technologies/drizzle-orm Drizzle ORM
- /technologies/exe-dev exe.dev
- /technologies/fallow Fallow
- /technologies/git-github Git & GitHub
- /technologies/graphql GraphQL
- /technologies/happy-dom Happy DOM
- /technologies/herdr Herdr
- /technologies/html HTML
- /technologies/hygraph Hygraph
- /technologies/javascript-esnext JavaScript (ESNext)
- /technologies/lighthouse-ci Lighthouse CI
- /technologies/marked Marked
- /technologies/model-context-protocol Model Context Protocol (MCP)
- /technologies/mosh Mosh
- /technologies/nanoid NanoID
- /technologies/node-js Node.js
- /technologies/onepassword 1Password
- /technologies/openai-chatgpt-gpt-models OpenAI (ChatGPT / GPT models)
- /technologies/opendxp OpenDXP
- /technologies/opentelemetry OpenTelemetry
- /technologies/pimcore Pimcore
- /technologies/planetscale PlanetScale
- /technologies/plausible Plausible
- /technologies/playwright Playwright
- /technologies/podman Podman
- /technologies/polypane Polypane
- /technologies/renovate Renovate
- /technologies/replicator Replicator
- /technologies/resend Resend
- /technologies/runtime-validation-schemas-at-the-edges Runtime Validation (Schemas at the Edges)
- /technologies/sanity Sanity
- /technologies/sentry-performance-profiling Sentry Performance + Profiling
- /technologies/sentry Sentry
- /technologies/sharp Sharp
- /technologies/snyk Snyk
- /technologies/socket-dev Socket.dev
- /technologies/svelte-sveltekit Svelte / SvelteKit
- /technologies/tailwind-css Tailwind CSS
- /technologies/token-based-authentication Token-based Authentication
- /technologies/trpc tRPC
- /technologies/turso-sqlite Turso (SQLite)
- /technologies/two-factor-authentication-2fa Two-Factor Authentication (2FA)
- /technologies/typescript TypeScript
- /technologies/unocss UnoCSS
- /technologies/upstash Upstash
- /technologies/uptimerobot UptimeRobot
- /technologies/valibot Valibot
- /technologies/varlock Varlock
- /technologies/vercel-ai-gateway Vercel AI Gateway
- /technologies/vercel-ai-sdk Vercel AI SDK
- /technologies/vercel-blob-storage Vercel Blob Storage
- /technologies/vercel Vercel
- /technologies/vite Vite
- /technologies/vitest Vitest
- /technologies/vue-nuxt Vue / Nuxt
- /technologies/webhooks Webhooks
- /technologies/websockets WebSockets
- /technologies/woof-editor woof-editor (beta)
- /technologies/zod Zod
Terms
- 1 pages- /terms Terms
Testimonials
- 1 pages- /testimonials Testimonials