JOURNAL // ENGINEERING NOTES

Blogi

Kenttämuistiinpanoja natiivista iOS-kehityksestä, web-tuotteista ja itsevarmasta julkaisemisesta.

Website maintenance plan: what a care plan should include, 2026

A website maintenance plan covers updates, backups, security, monitoring and incident response. Here is what to require in writing, with sources.

web developmentLue artikkeli

AEO audit checklist: 20 checks for your site, 2026

A 20-point AEO audit checklist: bot access, indexability, passage structure, markup and measurement, with each rule tied to its primary source.

seoaeoLue artikkeli

E-E-A-T explained for a company blog, 2026

E-E-A-T is Google's shorthand for experience, expertise, authoritativeness and trust. Here is what it is, what it is not, and what a company blog can do.

seoLue artikkeli

How dispensaries get cited by AI assistants for best dispensary searches, 2026

No switch gets a dispensary named the best in town by an AI assistant. Accurate listings, a crawlable location page and real reviews do the work.

dispensariesaeoLue artikkeli

How to write a technical brief for a web or app project, 2026

A technical brief for a web project covers the problem, users, scope, constraints, budget range and success measures in two to four pages.

web developmentiosLue artikkeli

Service pages for AI answers: spec and comparison tables, 2026

Put specs in real HTML tables, mirror them in matching markup and keep both current. Google documents no table rule for AI answers, so treat it as practice.

seoaeoLue artikkeli

Local SEO for service businesses: profile, citations and reviews, 2026

Local SEO for a service business comes down to an accurate Google Business Profile, consistent citations and honestly earned reviews.

seoLue artikkeli

Dispensary schema markup with LocalBusiness and Store JSON-LD, 2026

Use Store with address, geo, phone, URL and hours on each location page. Skip Product merchant markup for cannabis: Google excludes it.

dispensariesseoLue artikkeli

Autonomous vs assisted AI: which one your workflow needs, 2026

Assisted AI follows steps you define. Autonomous AI chooses its own. Use the least autonomy that works, then add more only when measured gains justify it.

ai agentsLue artikkeli

Sharing auth and data contracts between a Next.js backend and a SwiftUI app, 2026

A shared backend for SwiftUI and Next.js works when one auth provider issues the tokens and one Postgres schema generates the types for both clients.

iosweb developmentLue artikkeli

GA4 setup for a new website: tag, key events and consent, 2026

Set up GA4 on a new website in the right order: property and stream, one Google tag, consent defaults before measurement, a few key events, then verification.

web developmentLue artikkeli

Zero click search in 2026: how to win when the answer is on the results page

68.01% of US Google searches ended without a click in early 2026. What the number means, what Google says it takes to appear in AI answers, and how to measure demand instead of visits.

seoLue artikkeli

Site migration SEO checklist: redirects, canonicals and monitoring, 2026

A site migration SEO checklist based on Google's guidance: map URLs, use 301 redirects, set canonicals, and monitor Search Console after launch.

seoweb developmentLue artikkeli

Dispensary website speed: fixing Core Web Vitals on embedded menus, 2026

Embedded menus slow dispensary websites by delaying LCP, shifting layout and busying the main thread. Targets and fixes, sourced from web.dev.

dispensariesseoLue artikkeli

LLM API data privacy in 2026: zero retention, residency and vendor terms

Both major vendors keep API data for up to 30 days by default. Zero retention needs approval, covers only some endpoints, and residency splits storage from processing.

ai agentsLue artikkeli

App store optimization basics: metadata, keywords and screenshots, 2026

Learn app store optimization basics: the character limits for names, subtitles and keywords, how screenshots rank, and the Google Play differences.

iosseoLue artikkeli

WCAG 2.2 requirements for web apps: what developers actually implement, 2026

WCAG 2.2 adds nine success criteria to 2.1. For most web apps, six at Level A and AA need real engineering work: focus visibility, target size, dragging, authentication, redundant entry and help.

web developmentLue artikkeli

Image SEO in 2026: formats, alt text and lazy loading that do not hurt LCP

Serve AVIF or WebP with a fallback, never lazy-load the LCP image, and write alt text for people. What Google documents for each.

seoweb developmentLue artikkeli

Dispensary loyalty programs: text, email and app rules, 2026

Dispensary loyalty programs can run on the web, by text, email or app. Each channel has its own consent and store rules. Here is what applies in October 2026.

dispensariescannabis retailLue artikkeli

Human in the loop AI: which agent actions need a person, 2026

Gate AI agent actions by reversibility: let reads run, log reversible writes, and require a person for sends, spend, deletes and publishing.

ai agentsLue artikkeli

Fastlane for iOS CI/CD: automating builds, signing and submission

Fastlane turns the archive, sign and upload loop into named lanes your CI can run. Here is the setup that works: Bundler, an API key, match and pilot.

iosLue artikkeli

Marketing site vs SaaS dashboard: architecture differences, 2026

A marketing site and a SaaS dashboard need different rendering, caching and auth. Here is what changes and when one project can serve both.

web developmentseoLue artikkeli

Content structure for AI retrieval: headings, chunks and paragraphs, 2026

Structure content for AI retrieval: one topic per heading, the answer first, and paragraphs that still make sense when a system lifts them alone.

aeoseoLue artikkeli

Content refresh strategy for blog posts: update, merge or delete, 2026

Update posts that still match a search need, merge overlapping ones with a permanent redirect, and delete only what has no purpose and no better home.

seoLue artikkeli

Multi-location dispensary SEO: one site or many, 2026

Use one domain with a page per licensed store. Split into separate sites only when brands, owners or state rules truly differ.

dispensariesseoLue artikkeli

AI agent cost control: tokens, caching and model routing, 2026

AI agent cost comes from resent context and output tokens. Cache the stable prefix, trim context and route each step to the cheapest model that passes.

ai agentsLue artikkeli

How much does an iOS app cost to build in 2026: ranges by scope

Most 2026 estimates put an iOS app at $15,000 to $50,000 for a simple build and $150,000 to $300,000+ for a complex one. Ranges and cost drivers.

iosLue artikkeli

How much does a website cost in 2026: landing pages, marketing sites and SaaS

A website costs about $300 to $3,000 for a landing page, $800 to $10,000 for a marketing site and $15,000+ for SaaS. See what moves each number.

web developmentLue artikkeli

AI Overviews and click-through rates: what the data shows in 2026

Clicks fall when a Google AI Overview appears: 38% to 58% in 2026 studies. Here is what each study measured and what it cannot prove.

seoaeoLue artikkeli

How to measure SEO results with GA4 and Search Console

Link GA4 and Search Console, publish the report collection, and build a monthly SEO report from clicks, impressions, CTR, position and engaged sessions.

seoLue artikkeli

Cannabis advertising restrictions on Google and Meta, 2026

US dispensaries cannot run marijuana ads on Google or THC ads on Meta in 2026. Here is what the policies say and what remains open.

dispensariescannabis retailseoLue artikkeli

How to build an eval set for an LLM feature before you ship

Build an LLM eval set before launch: define measurable criteria, mine real cases, add edge cases, validate your grader and gate releases by severity.

ai agentsLue artikkeli

Offline-first iOS apps: sync, conflict resolution and background fetch

Build an offline first iOS app: keep a local store as the source of truth, sync with an outbox, pick a conflict rule and treat background fetch as a hint.

iosLue artikkeli

Figma to code handoff: how to ship designs without drift

Figma to code handoff works when tokens, components and a ready-for-dev gate are shared artifacts. Here is how to set each one up.

web developmentLue artikkeli

How to track AI citations and brand mentions in AI answers, 2026

Track AI citations by separating mentions from citations, freezing a prompt set, logging results, and treating tool data as directional.

aeoLue artikkeli

Sitemaps and indexation: how to get pages indexed faster

Accurate lastmod dates, strong internal links and a fast server help new pages get crawled sooner. Here is what Google documents, and what it does not promise.

seoweb developmentLue artikkeli

Dispensary website design: 12 elements that turn browsers into orders

A dispensary site converts when the age gate, menu, speed and checkout work together. Here are 12 design elements, each tied to a primary source.

dispensariesweb developmentLue artikkeli

Choosing an LLM for a product feature: quality, latency and cost tradeoffs

The right model for a feature is set by its quality bar, latency budget and cost ceiling, not by which model ranks highest overall.

ai agentsweb developmentLue artikkeli

Universal links and deep linking: web-to-app handoff done right

Universal links on iOS and App Links on Android open your app from a tapped https link, with a safe fallback when the app is not installed.

iosweb developmentLue artikkeli

Vercel deployment guide: preview environments, edge caching and rollbacks, 2026

A practical guide to Vercel deployments: preview environments, edge caching headers, and how to roll back a bad release in seconds.

web developmentLue artikkeli

How AI crawlers work: GPTBot, ClaudeBot, PerplexityBot and your robots.txt choices

GPTBot, ClaudeBot and PerplexityBot are not one bot each. Here is what every AI crawler does and how to control them in robots.txt.

aeoseoLue artikkeli

Hreflang implementation for multilingual sites: common mistakes and how to fix them

Hreflang tells search engines which page serves which language and region. Here is the setup, a Next.js example, and the mistakes that break it.

seoweb developmentLue artikkeli

Google Business Profile for dispensaries: what you can and cannot list in 2026

What dispensaries can and cannot put on a Google Business Profile in 2026: category rules, disabled features, review policy and state compliance layers.

dispensariescannabis retailseoLue artikkeli

How AI content engines work, and where the quality gate goes

An AI content engine runs research, outline, draft and review as separate stages. The quality gate belongs before publish, not after.

ai agentsaeoseoLue artikkeli

Push notifications on iOS: APNs setup, rich payloads and permission timing

iOS push notifications need a one hour APNs provider token, a payload under 4KB, and a permission prompt timed to a real user action, not app launch.

iosLue artikkeli

Web performance budgets: how to set them and enforce them in CI

A performance budget is a numerical limit on load time and page weight, enforced on every pull request so a site stays fast instead of slowly regressing.

web developmentseoLue artikkeli

Entity SEO: how to make your brand unambiguous to search engines and LLMs

Entity SEO makes your brand a single, unambiguous entity to Google and LLMs. Learn the schema, sameAs and consistency tactics that drive AI citations.

seoaeoLue artikkeli

B2B keyword research: how to do it for a services business

B2B keyword research starts with the buying committee, not a tool. Here is how to find terms that match real search intent and commercial value.

seoLue artikkeli

Cannabis website compliance checklist, 2026

License display, age gates, exact warning text and ad audience thresholds differ by state. A 2026 checklist for cannabis website compliance.

cannabis retaildispensariesLue artikkeli

How to scope an AI workflow automation project

A practical method for scoping an AI workflow automation project: map the process by hand, sort each step into three buckets, and gate what can't be undone.

ai agentsLue artikkeli

SwiftData vs Core Data: choosing a persistence layer in 2026

SwiftData fits most new iOS 17+ apps. Core Data still wins for older OS support, SQL-layer aggregate queries, and existing CloudKit setups.

iosLue artikkeli

Landing page conversion: 15 elements backed by testing data

A 2,000 page 2026 study shows which landing page elements actually move conversion, and which cosmetic changes barely matter.

web developmentcase studiesLue artikkeli

FAQPage schema and AI answers: does structured data still matter in 2026

Google dropped the FAQ rich result on May 7, 2026. Here is what still works for FAQPage schema and AI answer engines like ChatGPT and Google AI Overviews.

aeoseoLue artikkeli

The schema markup guide to rich results in 2026

A schema markup guide to which structured data types still earn Google rich results in 2026, and why FAQPage no longer does.

seoLue artikkeli

Dispensary menu integrations: embedded menus versus native menus

Embedded iframe menus load fast but are often invisible to search engines. Native menus cost more to build and are the ones Google can actually index.

dispensariesweb developmentLue artikkeli

AI agent guardrails: permissions, approval gates and audit logs

AI agent guardrails are permission scopes, approval gates and audit logs enforced outside the model. Here is how to set them up, and where teams go wrong.

ai agentsLue artikkeli

WidgetKit and Live Activities: what they are and when to ship them

WidgetKit covers widgets, controls and Live Activities, but only Live Activities run on ActivityKit, skip timelines and drop network and location access.

iosLue artikkeli

Choosing a CMS for a Next.js marketing site: headless vs. database-backed

A database like Supabase fits when a developer owns every publish. A headless CMS fits when editors need independence or the content must reach another channel.

web developmentLue artikkeli

How to write answer capsules AI assistants actually quote

An answer capsule is a short, self-contained answer, about 120 to 160 characters, placed right after a heading so an AI assistant can quote it whole.

aeoseoLue artikkeli

Internal linking strategy for small sites: a practical structure

A small site needs two or three pillar pages, three to five contextual links per article, and a quarterly orphan page check, not enterprise tooling.

seoaeoLue artikkeli

Dispensary online ordering: pickup, delivery and payment options in 2026

Cannabis delivery, pickup and online ordering rules vary by state. Here is what compliant checkout requires in Washington, New York and California in 2026.

dispensariescannabis retailLue artikkeli

What is RAG (retrieval-augmented generation), and why support and sales assistants need it

RAG lets an AI assistant answer from your real documents, not a guess. Here is how it works, and why support and sales bots need it.

ai agentsLue artikkeli

The App Store rejection reasons that trip up most submissions in 2026

Apple ties over 40% of unresolved App Store rejections to one guideline. See the six that account for most rejections, quoted from Apple's own text.

iosLue artikkeli

Incremental static regeneration: how ISR works and when to use it

Incremental static regeneration caches pages instantly and rebuilds them in the background. Here is how time-based and on-demand ISR work, and when to use it.

web developmentLue artikkeli

llms.txt explained: what it is, who reads it, and how to write one

llms.txt is a proposed Markdown file that lists a site's key pages for AI agents to read. Here is the format, who actually uses it, and how to write one.

aeoseoLue artikkeli

Programmatic SEO: template pages that rank without thin content, 2026

Programmatic SEO pages don't get penalized for being templated. They get penalized for offering no value per page. Here's how to build the template correctly.

seoLue artikkeli

Dispensary SEO: how to rank for dispensary near me in 2026

Ranking for dispensary near me comes down to a verified, storefront only Google Business Profile, LocalBusiness schema and real reviews, not keyword stuffing.

dispensariesseoLue artikkeli

What is MCP (Model Context Protocol), and how do AI agents use it to connect to tools

MCP is Anthropic's open standard, launched in November 2024, for connecting AI agents to outside tools and data through one consistent interface.

ai agentsweb developmentLue artikkeli

Swift 6 strict concurrency: a migration guide for existing apps

Swift 6 strict concurrency turns data races into compile time errors. Here is the module by module process for migrating an existing app without a full rewrite.

iosLue artikkeli

Supabase row level security, explained for multi-tenant apps

Row level security is Postgres's built in authorization system. Here is how grants, policies and auth.uid() combine to keep tenants apart in a Supabase app.

web developmentLue artikkeli

How to get cited by ChatGPT, Perplexity and Google AI Overviews in 2026

Getting cited by ChatGPT, Perplexity and Google AI Overviews takes search fundamentals plus platform-specific authority, not a special AI file.

aeoseoLue artikkeli

Core Web Vitals in 2026: LCP, INP and CLS targets and how to hit them

The 2026 Core Web Vitals targets are LCP under 2.5 seconds, INP under 200ms and CLS under 0.1, measured at the 75th percentile of real visits.

seoweb developmentLue artikkeli

Dispensary website age gate requirements by state, 2026

New York, Washington and California each define a cannabis website age gate differently. Here is what each regulator's text actually requires in 2026.

dispensariescannabis retailLue artikkeli

What is an AI agent? A plain-English definition for business owners

An AI agent is software that pursues a goal and completes multi-step tasks using tools, with real autonomy, unlike a chatbot that only answers questions.

ai agentsLue artikkeli

SwiftUI vs UIKit in 2026: when native SwiftUI is the right call

In 2026, SwiftUI is the default for new iOS screens and rewrites, while UIKit still fits legacy code and a few uncovered APIs. Here is the decision rule.

iosLue artikkeli

Next.js App Router versus Pages Router for a new project in 2026

For a new project in 2026, Next.js recommends the App Router. Here is what changes, what still favors Pages Router, and the caching pitfalls to expect.

web developmentLue artikkeli

What is answer engine optimization, and how does it differ from SEO

Answer engine optimization (AEO) means earning a citation inside an AI generated answer, not just ranking a page. Here is what changes, and what does not.

aeoseoLue artikkeli

Dispensary website requirements in Minnesota, 2026

Minnesota dispensary sites must meet age verification, ordering, advertising and accessibility rules. Here is what compliance requires in 2026.

dispensariescannabis retailLue artikkeli

Next.js technical SEO audit checklist, 2026

A technical SEO audit checklist for Next.js sites: rendering strategy, metadata, sitemaps, Core Web Vitals, structured data and hreflang.

seoweb developmentLue artikkeli

Shipping SwiftUI Apps With Confidence

How we take a SwiftUI product from first commit to a clean App Store release: audits, bridges, and staged rollouts.

ioscase studiesLue artikkeli