# Boloop > Tink's personal notebook and resource library: engineering Skills, software, articles and interactive work. This guide links to published web pages. Follow each page for its current content, authorship and license. External recommendations belong to their credited creators. ## Languages - [English](https://boloop.pages.dev/en/) - [简体中文](https://boloop.pages.dev/zh-Hans/) - [繁體中文](https://boloop.pages.dev/zh-Hant/) ## About - [About Tink](https://boloop.pages.dev/en/about) ## Skills - [Skills directory](https://boloop.pages.dev/en/skills) - [Actionable Development Design](https://boloop.pages.dev/en/skills/write-design-doc): Write or review actionable development, database, and interface designs. First verify key mechanisms, affected entry points, cross-layer contracts, and failure recovery, then determine whether the handoff is ready. - [Requirements Discussion](https://boloop.pages.dev/en/skills/talking-us): Investigate the current behavior and, before design begins, organize the goals into confirmed product requirements, clear decisions, and acceptance criteria. - [Select Review Method by Risk](https://boloop.pages.dev/en/skills/code-review-multiagent): Perform a read-only review of PR, commits, branches, or workspace differences, trace callers, verify requirements, and provide evidence-based findings. The default is an in-depth Solo review. - [Evidence-Driven Bug Fixing](https://boloop.pages.dev/en/skills/bug-fixing): Reproduce the failure, trace the first broken rule along the real execution path, and then validate the minimal fix within the authorized scope. - [Closed-loop Development](https://boloop.pages.dev/en/skills/develop-closed-loop): Coordinate development, testing, defect fixes, regression, and review based on confirmed requirements and implementable designs. Assess delivery status using complete user tasks and evidence. - [Test Cases and Acceptance Validation](https://boloop.pages.dev/en/skills/test-case): Design test cases based on confirmed requirements and real failure mechanisms, clearly distinguishing between case design, red test handoff, validation, and authorized fix closed loops. ## Software - [Software directory](https://boloop.pages.dev/en/projects) - [Caesium Image Compressor · Reduce product image weight before upload](https://boloop.pages.dev/en/projects/caesium): Compress images and adjust dimensions through a desktop graphical interface to establish a repeatable local listing workflow. - [Magpie](https://boloop.pages.dev/en/projects/magpie): Magpie is a centralized management tool for AI programming models and providers, supporting Claude Code, Codex, and other similar tools. It allows users to import CC Switch configurations, save configuration schemes, and forward requests through a local gateway. - [novelWriter](https://boloop.pages.dev/en/projects/novelwriter): Organize long-form manuscripts and writing notes using interrelated text files. - [pastel](https://boloop.pages.dev/en/projects/pastel): A tiny color workbench for the terminal. Convert color formats, generate palettes, and adjust colors in scripts. - [OpenRefine · Clean Product CSV Data Before Import](https://boloop.pages.dev/en/projects/openrefine): Standardize names and attributes in supplier catalogs within a local browser workspace. - [SingleFile](https://boloop.pages.dev/en/projects/singlefile): Saves web page references and materials as a portable HTML file. - [Harper](https://boloop.pages.dev/en/projects/harper): Proofread English texts locally without uploading writing content. - [espanso](https://boloop.pages.dev/en/projects/espanso): Reuse release notes and product copy snippets in commonly used applications. - [LocalSend · Transfer files across your local network](https://boloop.pages.dev/en/projects/localsend): Send files between Windows, macOS, Linux, Android and iOS devices on the same network, without an account or cloud upload. Includes practical setup checks and a recent reported limitation. - [hexyl](https://boloop.pages.dev/en/projects/hexyl): Inspect the bytes inside a file with a compact, color-coded terminal view. - [FreeScout · Shared Customer Service Email for Handling Order Issues](https://boloop.pages.dev/en/projects/freescout): Centralizes customer emails and after-sales conversations. Additional workflows can be extended via paid modules. - [Zettlr](https://boloop.pages.dev/en/projects/zettlr): Centralized for research-based article writing, citation, and document export. - [duf](https://boloop.pages.dev/en/projects/duf): See used and free disk space in a readable terminal overview, with filters and JSON output. - [MarkItDown](https://boloop.pages.dev/en/projects/markitdown): Turn Office files, PDFs and other documents into Markdown for text analysis. A useful ingestion step when you check what the conversion loses. - [listmonk · Manage New Product and Restock Notification Emails](https://boloop.pages.dev/en/projects/listmonk): Manage subscribed customers and email campaigns in your own backend, and deliver them through the selected SMTP service. - [InvenTree · Manage Parts, Assemblies & Stock Locations](https://boloop.pages.dev/en/projects/inventree): A self-hosted management workspace for sellers who require finer-grained inventory tracking. - [Sigil](https://boloop.pages.dev/en/projects/sigil): Arranges article collections and manuscripts for EPUB publishing. - [agent-browser](https://boloop.pages.dev/en/projects/agent-browser): Vercel Labs’ browser automation CLI for agents: inspect accessibility snapshots, interact with controls and capture evidence. Includes a current release and a version-labelled independent comparison. - [wallabag](https://boloop.pages.dev/en/projects/wallabag): Build a cleaner read-it-later library to accumulate sources for subsequent writing. - [hoppscotch](https://boloop.pages.dev/en/projects/hoppscotch) - [Pic Smaller · Batch Compression for E-commerce Images](https://boloop.pages.dev/en/projects/pic-smaller): Locally compress, resize, and convert product images in your browser, then download them as a batch. No API keys required. - [MarkEdit](https://boloop.pages.dev/en/projects/markedit): A lightweight Markdown editor for plain text writing on Mac. - [Tad · Explore large order-export CSV files](https://boloop.pages.dev/en/projects/tad): Filter, group and pivot order exports in a desktop viewer powered by DuckDB. - [Converseen · Unify Supplier Image Dimensions and Naming](https://boloop.pages.dev/en/projects/converseen): Use a desktop graphics tool to batch convert, resize, and rename product images. ## Articles - [Articles directory](https://boloop.pages.dev/en/articles) - [Measuring Visible Page Time Without Storing IP Addresses](https://boloop.pages.dev/en/articles/consented-visible-reading-time): How Boloop measures visible page time after consent, deduplicates events with independent random IDs, and accounts for hidden pages, failed reports and small samples. - [内容明明存在,为什么目录里搜不到?](https://boloop.pages.dev/en/articles/catalog-pagination-search): Boloop 的早期目录修复将查询和分页移回服务端,并使用超过单页上限的隔离数据检查遗漏、重复和跨页搜索。页面显示完整,并不代表查询覆盖了全部内容。 - [Why an Image Can Display on a Page but Remain Uncrawlable](https://boloop.pages.dev/en/articles/public-image-crawlability): A Boloop article image returned 200 while API crawl rules and response headers restricted it. Here is how we traced its references and added a public path governed by publication state. - [Why does Google verification fail when the verification file is already on the website?](https://boloop.pages.dev/en/articles/gsc-verification-html-routing): Boloop's Google verification file exists in the deployment package but was routed to a 404 by Pages' HTML path normalization. The problem occurred before the Worker, so the fix should cover the real routing dispatch, not just a separate unit test of the handler function. - [Google Returned 200. Why Was the GA4 Dashboard Still Unavailable?](https://boloop.pages.dev/en/articles/ga4-valid-decimal-parser): All seven GA4 queries succeeded, but Boloop’s detail card fell back to unavailable. A local validator rejected valid values with more than nine decimal places. Replaying the original failing values fixed the cause more directly than retrying the requests. - [From an AI Prototype to a Live Website: What Boloop Had to Add](https://boloop.pages.dev/en/articles/from-ai-prototype-to-live-site): Taking Boloop from a presentable page to a maintainable website meant adding content management, published snapshots, attachment permissions, login checks and real operations. Here is how those pieces connected. - [The Sitemap Opens. Why Does Search Console Still Say It Could Not Fetch It?](https://boloop.pages.dev/en/articles/sitemap-fetch-processing-indexing): Boloop served valid XML and passed a Google live fetch, while the submitted sitemap still awaited processing. Keeping public responses, Google fetches, sitemap processing, and page indexing separate prevents waiting from being reported as a completed fix. - [Fine on Desktop, Broken at 719px: A Responsive Header Fix](https://boloop.pages.dev/en/articles/responsive-header-719px): At 719px, Boloop’s desktop navigation stretched the page to 818px. Fixing the breakpoint exposed a second issue in a dropdown’s alignment class. The checks covered three languages, theme preferences, keyboard use, and popup boundaries. - [What a Green Schema Test Still Cannot Tell You](https://boloop.pages.dev/en/articles/schema-validation-limits): Boloop’s articles, software and work pages show the difference between parsing, semantics, Google feature eligibility and real search appearance, including authors, dates, images and missing ratings. - [Why Our Site Metrics, GA4 and Search Console Do Not Match](https://boloop.pages.dev/en/articles/d1-ga4-gsc-metric-differences): Real differences in Boloop’s reports show why events, sessions, search clicks, time zones, processing delays and initial counts must be separated before interpreting growth. - [An Upload Timed Out. Should You Retry or Check the Result First?](https://boloop.pages.dev/en/articles/upload-timeout-recovery): An upload timeout can mean a failed request or a result the client never received. Boloop’s records show why preserving the file, reconciling attachments and separating interface hardening from fault diagnosis matter. - [Why Does an AI-Built Personal Website Keep Looking Like a Directory?](https://boloop.pages.dev/en/articles/personal-site-beyond-directory): Boloop had content and a brand, but its homepage did not clearly express a personal point of view. This revision starts with the AI experiments I want to share and distinguishes my work from third-party recommendations. - [What to Check When Migrating an AI Site to Cloudflare Pages: Login Verification](https://boloop.pages.dev/en/articles/pages-google-login-migration): An OAuth failure during Boloop's migration shows that passing Node tests doesn't guarantee edge runtime compatibility. Only by verifying each segment—login, callback, identity validation, session, and edit recovery—can you know whether the site remains manageable after the move. - [The Language Selector Changed, but the Page Did Not: A Locale-Switching Bug](https://boloop.pages.dev/en/articles/locale-switch-hydration): An early Boloop preview showed a language selection that disagreed with the page. Preserving the symptoms, slowing script loading and checking browser storage made interaction readiness part of the repair and regression checks. - [What I Actually Built for Boloop’s Dynamic llms.txt](https://boloop.pages.dev/en/articles/dynamic-llms-txt): Boloop generates a compact guide from CMS publication snapshots, reusing public eligibility and pagination while keeping implementation checks separate from unproven AI citation benefits. - [AI-Generated Code Acceptance Checklist: Verify the Result](https://boloop.pages.dev/en/articles/ai-generated-code-acceptance-checklist): A practical checklist for accepting AI-generated changes, with requirement mapping, failure-path checks, evidence records, and a reusable Markdown template. - [Which coding skill should I use next?](https://boloop.pages.dev/en/articles/choose-your-next-coding-skill): Choose six Boloop engineering skills based on task, input, output, dependencies, and permission boundaries—no complex selectors required. - [How to Verify an AI-Generated Bug Fix](https://boloop.pages.dev/en/articles/verify-ai-generated-bug-fix): A practical workflow for before-and-after failure evidence, affected-path regression, honest stop conditions, and a reusable result template. ## Interactive work - [Interactive work directory](https://boloop.pages.dev/en/cases) - [Fold — interactive typography on folded paper](https://boloop.pages.dev/en/cases/fold-type): An interactive typography experiment made with AI. Enter a word, adjust the zigzag folds in a sheet of paper, then lay it flat again. - [OTHERWHERE: Black Hole Gravity Playground](https://boloop.pages.dev/en/cases/otherwhere): A full-screen interactive webpage created with AI assistance. Drag to change the black hole perspective, zoom to observe the glowing accretion disk, and long-press and charge up to travel through the golden, purple, and cyan-green worlds. - [Rainy Night City on a Vinyl Record](https://boloop.pages.dev/en/cases/vinyl-city): Transforming record grooves into circular streets: a warm-lit night market, a tiny tram, and rain reflections create a miniature city the size of a record. - [PLAY MATTER: A 3D metal sculpture that can be scattered and reassembled](https://boloop.pages.dev/en/cases/play-matter): An AI-assisted interactive web page built with Three.js. Drag and rotate colorful metal sheets, long-press to scatter them, and release to reassemble. You can also switch between knots, blooms, or generate text by typing short words.