# Yishto > Bilingual original engineering guides for AI application developers, with independent product links. Written by Yishto. Examples use teaching data, not production measurements. Each Markdown page shares its body, sources, and dates with its HTML version. ## Content directory - [Author and editorial policy](https://yishto.com/en/about/) - [All learning paths](https://yishto.com/en/learn/index.md) - [Products](https://yishto.com/en/products/) ## Models & APIs - [Models & APIs](https://yishto.com/en/learn/models/index.md): Understand model limits, build a reliable interface, and choose with evidence. - [LLM API basics: tokens and context budgets](https://yishto.com/en/learn/models/context-and-tokens/index.md): Separate tokens, context windows, and output budgets, then practice assembling model input with an offline example. - [Streaming and structured output solve different problems](https://yishto.com/en/learn/models/streaming-and-structured-output/index.md): Separate incremental display from a complete business result and validate output with a local Python example. - [LLM evaluation: compare quality, latency, and cost with a task set](https://yishto.com/en/learn/models/model-evaluation/index.md): Define success with actual tasks and compare quality, latency, and failure modes rather than a leaderboard alone. ## RAG & retrieval - [RAG & retrieval](https://yishto.com/en/learn/rag/index.md): Turn documents into retrievable evidence and evaluate the answers they support. - [The smallest RAG loop: retrieve, cite, answer](https://yishto.com/en/learn/rag/retrieval-pipeline/index.md): Separate retrieval from generation and use offline keyword retrieval to understand provenance and missing evidence. - [RAG chunking and vector indexes: preserve meaning for retrieval](https://yishto.com/en/learn/rag/chunking-and-indexes/index.md): Understand chunking, overlap, metadata, and approximate vector indexes using a small windowing example. - [Evaluate retrieval and answers separately in RAG](https://yishto.com/en/learn/rag/rag-evaluation/index.md): Use Recall@k, evidence support, and unanswerable cases to locate failures in a RAG pipeline. ## Agent engineering - [Agent engineering](https://yishto.com/en/learn/agents/index.md): Design workflows, tool contracts, and durable state for tasks that can recover. - [AI agents and workflows: when to allow autonomous choices](https://yishto.com/en/learn/agents/workflows-and-agents/index.md): Decide using control flow, task uncertainty, and failure cost, then separate model decisions from program rules. - [MCP and tool calls: input contracts, permissions, and execution boundaries](https://yishto.com/en/learn/agents/tool-contracts-and-mcp/index.md): Define input, output, error, and permission contracts and practice with an offline tool dispatcher. - [Recoverable agents: state, retries, and idempotency](https://yishto.com/en/learn/agents/durable-agent-state/index.md): Use SQLite to practice durable task transitions and distinguish conversation history from external side effects. ## Shipping AI apps - [Shipping AI apps](https://yishto.com/en/learn/production/index.md): Handle security, latency, and failure before putting an AI application into use. - [Prompt injection: keep untrusted content inside data boundaries](https://yishto.com/en/learn/production/prompt-injection/index.md): Recognize indirect instructions in documents and tool results and enforce permissions in application code. - [Observe AI apps: first-token latency, total time, and cost](https://yishto.com/en/learn/production/latency-cost-observability/index.md): Separate retrieval, model, and tool latency, calculate percentiles, and record request-level telemetry. - [AI application release checklist: timeouts, retries, permissions, and rollback](https://yishto.com/en/learn/production/shipping-checklist/index.md): Check timeouts, rate limits, missing evidence, and tool failures using a practical deployment matrix. ## Computing foundations - [Computing foundations](https://yishto.com/en/learn/computing/index.md): Connect data, programs, and machines with observable behavior. - [Follow an addition instruction through a computer](https://yishto.com/en/learn/computing/bits-instructions-and-cpu/index.md): Distinguish unsigned carry from signed overflow with an eight-bit model, then connect bit representations, adders, ISA semantics, and processor execution. - [After a program starts: processes, memory, and files](https://yishto.com/en/learn/computing/process-memory-files/index.md): Distinguish process drafts, virtual memory, and saved data, including paths, failed saves, crash durability, and version conflicts. - [Why the same bytes can be read as different values](https://yishto.com/en/learn/computing/encoding-and-types/index.md): Separate bytes, text, and types; check UTF-8, byte order, numeric precision, and whole-value regex matching at runtime boundaries. - [From code to behavior: languages, compilers, and DSLs](https://yishto.com/en/learn/computing/languages-compilers-and-dsl/index.md): Understand parsing, semantic checks, compilation, interpretation, and JIT, then enforce allowed nodes and resource bounds in a small expression language. - [Learn algorithms and data structures through lookup tasks](https://yishto.com/en/learn/computing/algorithms-and-data-structures/index.md): Compare preparation, lookup, and update costs for scans, sets, and binary search, including ordering, counts, and concurrent uniqueness. - [Trace the boundaries between a URL and a page](https://yishto.com/en/learn/computing/web-request-journey/index.md): Follow URL parsing, DNS, transport, TLS, HTTP, and rendering, distinguishing connectivity from protocol and business success. ## Developer workflow - [Developer workflow](https://yishto.com/en/learn/developer-workflow/index.md): Build a repeatable process for environments, version control, and debugging. - [Make a command work on another computer](https://yishto.com/en/learn/developer-workflow/shell-environments-and-ports/index.md): Separate command lookup, working directories, process environments, and network listeners to diagnose reproducibility failures, with an offline PATH-order model and a concrete run checklist. - [Make a change reviewable and recoverable with Git](https://yishto.com/en/learn/developer-workflow/git-ssh-and-review/index.md): Understand commit scope through working-tree and staged snapshots, then connect branch recovery, SSH identity checks, and review evidence into a focused collaboration workflow. - [Verify a project after installing its tools](https://yishto.com/en/learn/developer-workflow/packages-editors-and-ai-cli/index.md): Verify dependency installation, lockfile agreement, debugger configuration, and AI-tool results separately, using a document catalog with observable success and failure conditions. - [Gather evidence before changing code](https://yishto.com/en/learn/developer-workflow/debugging-with-evidence/index.md): Diagnose an indefinite search spinner with reproducible inputs, network evidence, breakpoints, and a synthetic trace timeline, then verify the repair and neighboring failure paths. ## Web interface engineering - [Web interface engineering](https://yishto.com/en/learn/web-interface/index.md): Build browser interfaces with accessibility, localization, and performance in mind. - [Build an operable interface from document structure](https://yishto.com/en/learn/web-interface/html-layout-accessibility/index.md): Connect HTML semantics, CSS box layout, and keyboard feedback in a document catalog, distinguishing a synthetic control audit from actual browser and accessibility testing. - [Why JavaScript shows a loading state before a result](https://yishto.com/en/learn/web-interface/javascript-runtime-and-async/index.md): Explain synchronous execution, microtasks, and await through document search, then protect loading states and current results with explicit request identity and controlled completion-order tests. - [Use types and components to maintain an interface](https://yishto.com/en/learn/web-interface/typescript-and-ui-frameworks/index.md): Connect runtime data validation, discriminated states, and component ownership, then distinguish TypeScript checks from React and Vue update and identity mechanisms. - [Decide where pages, routes, and state belong](https://yishto.com/en/learn/web-interface/state-routing-and-frontend-architecture/index.md): Assign URL, local, and remote state by lifetime, then design reading-list routing, feature boundaries, and recoverable polling or streaming updates with scoped versions. - [Prepare graphics, motion, and assets for a product](https://yishto.com/en/learn/web-interface/graphics-assets-and-motion/index.md): Choose raster, SVG, or Canvas from visual and interaction requirements, then design teaching-card assets with pixel budgets, provenance, reduced motion, and failure alternatives. - [Balance localization, SEO, and loading behavior](https://yishto.com/en/learn/web-interface/localization-and-web-performance/index.md): Build complete localized lessons with independent URLs and reciprocal declarations, then distinguish LCP, INP, and CLS checks from language-mapping tests and field measurements. ## Services and data - [Services and data](https://yishto.com/en/learn/service-data/index.md): Define contracts and handle concurrency, jobs, storage, and access. - [API contracts: parameters, identity, access, and errors](https://yishto.com/en/learn/service-data/http-api-contracts-and-access/index.md): Define private-draft editing through JSON validation, trusted identity, object permissions, safe errors, timeout retry, pagination, and concurrent version checks, with an offline ownership model. - [Use database constraints to protect business correctness](https://yishto.com/en/learn/service-data/database-indexes-and-transactions/index.md): Verify inventory reservations with uniqueness, conditional decrements, and rollback, while separating index costs, concurrency isolation, and Supabase row-access rules from the offline SQLite test. - [Handle load with jobs, caches, and backpressure](https://yishto.com/en/learn/service-data/jobs-caches-and-backpressure/index.md): Connect bounded job admission, acknowledgements, retries, and deduplication, while distinguishing rate limits, backpressure, concurrency, and cache staleness from durable processing guarantees. - [Organize service code by responsibility](https://yishto.com/en/learn/service-data/service-layers-and-frameworks/index.md): Organize a reservation service through HTTP adaptation, use cases, rules, and repositories, then verify transactions, cancellation, and dependency failures separately from framework integration. - [Use different storage strategies for files, indexes, and records](https://yishto.com/en/learn/service-data/storage-search-and-data-models/index.md): Separate learning originals, ownership records, and search indexes, then design upload recovery, scoped signed access, model choices, and deletion across derived copies. ## System design and delivery - [System design and delivery](https://yishto.com/en/learn/delivery/index.md): Understand deployment and scaling tradeoffs and verify recovery. - [Design failure and recovery before splitting services](https://yishto.com/en/learn/delivery/distributed-systems-and-recovery/index.md): Follow an order and inventory case through timeouts, idempotency, compensation, consensus, and restoration to verify the failure states introduced by service boundaries. - [Trace responsibility from containers to clusters](https://yishto.com/en/learn/delivery/containers-orchestration-and-iac/index.md): Use a stateless preview API to distinguish images, instances, probes, scheduling resources, and infrastructure state, then check ownership across container and cluster delivery. - [Put a service behind the right domain](https://yishto.com/en/learn/delivery/deployment-dns-gateways-and-cdn/index.md): Trace document-site delivery through domains, certificates, proxies, origins, and caches, including language variation, private responses, and the boundaries of hosting products. - [Make every release verifiable and recoverable](https://yishto.com/en/learn/delivery/cicd-monitoring-and-incidents/index.md): Connect artifact tracking, required checks, user health, telemetry, and incident response through a search release, while separating code rollback from data recovery. - [Design security boundaries from assets and entry points](https://yishto.com/en/learn/delivery/security-boundaries-and-threat-models/index.md): Map a document assistant’s assets, authorization, and execution boundaries to check cross-user access, model injection, dependency code, and exposure through logs. ## Data and engineering quality - [Data and engineering quality](https://yishto.com/en/learn/data-practice/index.md): Use metrics, experiments, tests, and documented decisions as evidence. - [Connect metrics, charts, and experiments to a question](https://yishto.com/en/learn/data-practice/metrics-analysis-and-experiments/index.md): Use synthetic directory data to examine denominators, missing values, latency distributions, and experiment assignment, separating descriptive differences from evidence for a product decision. - [Define the purpose and boundaries of event data](https://yishto.com/en/learn/data-practice/data-events-and-governance/index.md): Define purposes, minimal fields, versions, and lateness rules for course-completion events, then trace how duplicates, missing records, and deletion affect derived metrics. - [Support code evolution with tests and decision records](https://yishto.com/en/learn/data-practice/testing-refactoring-and-decisions/index.md): Use an integer discount rule to define behavior, rounding boundaries, and test layers, then preserve the rationale for small refactors through decision records. ## AI foundations and design - [AI foundations and design](https://yishto.com/en/learn/ai-foundations/index.md): Understand learning, attention, multimodality, and model adaptation. - [Understand neural networks and language models through their objectives](https://yishto.com/en/learn/ai-foundations/learning-attention-and-language-models/index.md): Connect training objectives and token prediction to model behavior, use a softmax experiment to understand aggregation, and distinguish the full architecture from application evaluation. - [Turn model capabilities into testable task contracts](https://yishto.com/en/learn/ai-foundations/prompts-context-and-capabilities/index.md): Define capabilities, context, outputs, and abstention for classification and extraction, then verify facts, provenance, and execution permissions beyond valid structured output. - [Handle images, speech, and video inside an application](https://yishto.com/en/learn/ai-foundations/multimodal-image-and-speech/index.md): Separate teaching-media processing into modality tasks, input checks, timing, assets, and review, with explicit evidence limits for sampling, generation, and recognition. - [Decide between fine-tuning and application changes](https://yishto.com/en/learn/ai-foundations/finetuning-inference-and-model-adaptation/index.md): Compare prompting, retrieval, fine-tuning, and serving through classification failures, including leakage, LoRA assumptions, memory estimates, and recovery of related model artifacts. - [Define execution responsibility when connecting tools and agents](https://yishto.com/en/learn/ai-foundations/agent-protocols-and-sdk-boundaries/index.md): Distinguish MCP tools, A2A tasks, SDK loops, and skill resources, then use a narrow read contract to check authorization, parameters, and responsibility for results. - [Build knowledge applications whose failures can be located](https://yishto.com/en/learn/ai-foundations/retrieval-orchestration-and-knowledge-apps/index.md): Separate knowledge applications into ingestion, retrieval, generation, and audit, checking provenance, permissions, abstention, and framework state to locate the failing stage. ## Product discovery and AI development - [Product discovery and AI development](https://yishto.com/en/learn/product-building/index.md): Investigate a need, prototype it, and verify development and release behavior. - [Find product problems in real work](https://yishto.com/en/learn/product-building/needs-interviews-and-product-discovery/index.md): Investigate recent document work, alternatives, and buying roles, then use bounded evidence and falsifiable prototypes to decide the next discovery step. - [Turn a need into a testable prototype and interface](https://yishto.com/en/learn/product-building/prototypes-design-systems-and-assets/index.md): Turn an independent reading-panel prototype into hierarchy, states, components, focus, and asset rules, separating screenshot coverage from verification of actual user tasks. - [Make AI-assisted development produce checkable results](https://yishto.com/en/learn/product-building/specifications-and-coding-agents/index.md): Define behavior, permissions, and failure checks for export, then review AI development through small diffs, durable checkpoints, and a complete acceptance matrix. - [Keep payments and product entitlements consistent](https://yishto.com/en/learn/product-building/payments-entitlements-and-webhooks/index.md): Model payments, subscriptions, and access separately, handling signatures, duplicates, ordering, and reconciliation with explicit boundaries for refunds, cancellation, and testing. - [Build a personal site as a maintainable content product](https://yishto.com/en/learn/product-building/personal-sites-content-and-release/index.md): Design content, languages, evidence, and publication states for an original bilingual series, keeping sitemaps, feeds, versions, and recovery consistent and reviewable. ## Application platforms - [Application platforms](https://yishto.com/en/learn/application-platforms/index.md): Compare runtimes and release constraints through independent exercises. - [Choose an application platform from device requirements](https://yishto.com/en/learn/application-platforms/choose-runtime-and-platform/index.md): Use an offline document reader to turn file access, notifications, background work, and distribution into testable requirements before choosing a runtime and application platform. - [Structure an offline reader with SwiftUI](https://yishto.com/en/learn/application-platforms/swiftui-offline-reader/index.md): Design a SwiftUI reading list with stable document identity, explicit navigation, persistent offline storage, and cancellable downloads, separating view state from durable library data. - [Build a recoverable mobile form with Compose](https://yishto.com/en/learn/application-platforms/compose-offline-checklist/index.md): Build explicit draft, validation, persistence, and conflict states for a device inspection form, connecting Compose recomposition with Android lifecycle and offline recovery. - [Manage pages and asynchronous state in Flutter](https://yishto.com/en/learn/application-platforms/flutter-reading-library/index.md): Build a teaching library around Flutter widget identity, navigation, and asynchronous request ordering, with a persistent repository and explicit stale-response, failure, and disposal handling. - [Design offline notes with React Native and Expo](https://yishto.com/en/learn/application-platforms/expo-offline-notebook/index.md): Design React Native and Expo reading notes with durable local records, a synchronization queue, idempotent requests, explicit conflicts, and platform-specific permissions. - [Isolate file and interface privileges in an Electron tool](https://yishto.com/en/learn/application-platforms/electron-transcript-workbench/index.md): Separate Electron main, preload, and renderer responsibilities in an interview workbench, using approved file IDs, narrow IPC messages, and explicit transcription job states. - [Add controlled offline behavior to learning pages](https://yishto.com/en/learn/application-platforms/pwa-offline-learning/index.md): Give public learning documents, static assets, and private requests separate policies, explaining service-worker lifecycle, versioned caches, offline fallbacks, and consistent updates. - [Handle connection and interface state in a Qt device client](https://yishto.com/en/learn/application-platforms/qt-device-console/index.md): Use a synthetic sensor panel to explain Qt signals, slots, QObject thread affinity, bounded sample buffers, connection states, and controlled shutdown behavior. - [Separate page and background responsibilities in a browser extension](https://yishto.com/en/learn/application-platforms/browser-extension-study-assistant/index.md): Design a user-triggered Chrome page-note assistant with separated contexts, narrow permissions, validated messages, and plain-text results that cannot trigger privileged actions. - [Connect commands, files, and task notes in a VS Code extension](https://yishto.com/en/learn/application-platforms/vscode-extension-task-notes/index.md): Build project task notes by connecting command declarations, extension lifecycle, scoped storage, Workspace Trust, URI handling, and cancellation-safe writes. - [Understand Godot scenes and state through a small game loop](https://yishto.com/en/learn/application-platforms/godot-small-game-loop/index.md): Build a square-collection exercise around Godot scenes, input actions, physics updates, and game state, checking pause behavior, repeated collisions, and restart cleanup. - [Connect pages, identity, and backend data in a mini program](https://yishto.com/en/learn/application-platforms/wechat-learning-miniapp/index.md): Design a learning-progress mini program with page boundaries, server-side login exchange, record authorization, network-response handling, and device domain validation. - [Understand token state and confirmation on a local chain](https://yishto.com/en/learn/application-platforms/local-chain-token-lab/index.md): Use a local development chain for exercise receipts, explaining ERC-721 identity, mint authorization, transfers, receipts, and the distinction between metadata and on-chain ownership. - [Identify platform-specific checks before releasing an app](https://yishto.com/en/learn/application-platforms/application-release-and-maintenance/index.md): Separate build, installation, submission, and review states across mobile, desktop, and extensions, with artifact records, accurate permission disclosures, trusted updates, and recovery tests. ## Project laboratory - [Project laboratory](https://yishto.com/en/learn/project-labs/index.md): Connect concepts through independently designed requirements, models, and acceptance checks. - [Project: a product-description review workspace](https://yishto.com/en/learn/project-labs/lab-product-description-review/index.md): Design versioned drafts, reviewer authority, and evidence checks so AI suggestions require approval before export, with tenant boundaries and stale-version handling. - [Project: a document-processing workflow editor](https://yishto.com/en/learn/project-labs/lab-document-workflow-editor/index.md): Connect graph validation, node contracts, immutable task snapshots, and recovery in a document project, separating model extraction from authorized external effects. - [Project: a training exercise and answer-record system](https://yishto.com/en/learn/project-labs/lab-training-assessments/index.md): Freeze question and grading versions and design drafts, final submissions, and result access in a training system with retry and answer-protection checks. - [Project: a teaching-illustration job queue and asset library](https://yishto.com/en/learn/project-labs/lab-illustration-job-queue/index.md): Design owned illustration jobs with budgets, a quota ledger, R2 assets, and human review, then handle cancellation and repeated execution. - [Project: a reading recommendation and explanation service](https://yishto.com/en/learn/project-labs/lab-book-recommendation/index.md): Build a synthetic book catalog and rule-based ranking before grounded explanations, handling cold starts, preference access, empty results, and evaluation. - [Project: an inventory reservation and fulfillment service](https://yishto.com/en/learn/project-labs/lab-inventory-reservations/index.md): Connect inventory reservation, confirmation, expiry, and compensation through transactions, conditional transitions, and an outbox, handling repeated messages. - [Project: a device-sampling data and trend dashboard](https://yishto.com/en/learn/project-labs/lab-sensor-data-dashboard/index.md): Define events, quality, and windows for synthetic device samples, then design Go ingestion and charts that handle duplicates, missing data, and staleness. - [Project: a travel-constraint and candidate-itinerary workflow](https://yishto.com/en/learn/project-labs/lab-outing-planning-workflow/index.md): Separate itinerary evidence, candidate generation, constraint checks, and review, with bounded tool access and budgets that prevent untrusted content from authorizing bookings.