📝 LocalPapa Notes
隱私優先瀏覽器工具的使用教學、開發紀錄與產品理念。
Tutorials, dev logs and the philosophy behind 39+ privacy-first browser tools.
LocalPapa Notes 是 LocalPapa 的官方部落格——分享工具教學、隱私優先的設計理念,以及公開的開發紀錄。
LocalPapa Notes is the official blog behind LocalPapa — sharing tool guides, privacy-first design thinking, and our development journey in public.
開發紀錄系列第十八篇。雲台馬達選型計算機用「LOS 穩定度目標」反推馬達扭力與電流,但那個目標本身要怎麼實際量出來?整理三種主流光學量測架構(自準直儀、雷射+位置感測探測器、目標板+攝影機)與對應文獻,並給出一套適合中小型雲台的最小可行量測方案。
The eighteenth dev-log post. Our gimbal motor sizing calculator works backward from a LOS stability target — but how do you actually measure that target in the real world? A survey of three optical measurement architectures with supporting literature, plus a minimal practical rig for small-to-mid gimbals.
開發紀錄系列最新篇。定期定額(DCA)是台灣最常見的投資方式,但多數試算工具把你的數字送上伺服器。我們把它變成一個完全本地、支援多情境比較的複利試算器。
The latest post in our dev-log series. Dollar-cost averaging (DCA) is the most common investment approach in Taiwan — but most calculators send your numbers to a server. We turned it into a fully local, multi-scenario compound-growth simulator.
開發紀錄系列第十六篇。樂透開獎是獨立隨機事件,無法預測。那「樂透預測工具」裡的「預測」是什麼?時間種子 LCG、每 30 分鐘一組確定性號碼、滾球動畫——以及為什麼在搜尋引擎面前「預測」是一個有意義的標籤,但對使用者則必須立刻誠實澄清。
The sixteenth dev-log. Lottery draws are independent random events — they can't be predicted. So what does "prediction" mean in a lottery predictor tool? Time-seeded LCG, deterministic numbers per 30-minute block, rolling ball animations — and why "prediction" is a meaningful SEO label but requires immediate honest clarification to the user.
開發紀錄系列第十五篇。排盤完了,然後呢?我們評估了三條解讀路徑(本地查表、我方呼叫 AI、本地+用戶自己的 AI)、設計了「星曜本質×宮位領域」組合式查表以避免硬刻 168 組,並把三方四正做成服務間可複用的深度解讀模式。
The fifteenth dev-log. Placing stars is one thing; reading the chart is another. We evaluated three interpretation paths (local lookup, server-side AI, local + user's own AI), designed "star essence × palace domain" combinatorial lookup to avoid 168 hardcoded entries, and turned Three Directions/Four Alignments into a cross-service reusable deep-reading pattern.
開發紀錄系列第十四篇。達摩一掌經的開發決策從第一行就定調:完整複製紫微斗數的三層架構,而不是從頭寫。DRY 重用農曆表、mod12 排盤、六道根性、流派設定、流年——一個從 MVP 快速深化的命理服務。
The fourteenth dev-log. The architectural decision for Da Mo Yi Zhang Jing was settled before the first line: copy Zi Wei Dou Shu's three-layer architecture wholesale, not start from scratch. DRY lunar reuse, mod12 chart layout, six-path root nature, school settings, annual fortune — one divination service that deepened quickly from MVP.
開發紀錄系列第十三篇。紫微斗數是入門最高的華人命理術——農曆換算、五虎遁年起命宮、納音定五行局、古法起紫微……全在瀏覽器本地跑,不上傳任何生辰資料。我們如何用交叉驗證確保排盤準確,並把命理知識沉澱進 OKF。
The thirteenth dev-log. Zi Wei Dou Shu is one of the most complex Chinese metaphysical systems. We built a fully local chart engine — solar-to-lunar conversion, Ming Gong stem calculation, Five-Element Bureau from nayin, and the ancient Purple Star placement algorithm — all running in the browser, uploading nothing.
開發紀錄系列第十二篇。AI agent 不該為了讀懂你的網站去解析滿是廣告與版型的 HTML。我們如何用一支生成器,把整站工具自動變成乾淨、互連的 OKF 知識包與 llms.txt。
The twelfth dev-log post. An AI agent shouldn't have to parse ad- and layout-cluttered HTML to understand your site. How one generator turns the whole tool catalog into a clean, interconnected OKF knowledge pack and llms.txt.
開發紀錄系列第十一篇。相機是繼動作感測器、麥克風之後第三個瀏覽器能直接讀的硬體。我們如何用它做 QR 掃描與數位放大鏡,並讓畫面一格都不離開你的裝置。
The eleventh dev-log post. The camera is the third hardware the browser reads directly, after motion sensors and the microphone. How we built a QR scanner and a digital magnifier with it — and kept every frame on your device.
開發紀錄系列第十篇。同一個麥克風 + Web Audio API,能做出調音、測噪音、打拍子、即時變聲。背後是自相關音高偵測、音訊硬體時鐘排程與即時變調演算法。
The tenth dev-log post. One microphone plus the Web Audio API yields tuning, noise metering, click tracks and live voice changing — powered by autocorrelation pitch detection, audio-clock scheduling and a real-time pitch-shift algorithm.
開發紀錄系列第九篇。第二次造訪如何瞬開、甚至離線可用?我們如何用「自托管 + Service Worker 分層快取」降低 CDN 依賴,又不把 30MB 的 wasm 塞進 repo。
The ninth dev-log post. How does the second visit open instantly, even offline? How we used "self-hosting + a layered Service Worker cache" to cut CDN dependence — without stuffing a 30MB wasm into the repo.
開發紀錄系列第八篇。LLM 常輸出 Mermaid 純文字,卻看不到圖。我們如何在瀏覽器裡即時渲染、防競態、保真匯出,還能把整張圖壓進一條分享連結。
The eighth dev-log post. LLMs spit out Mermaid text you can't actually see. Here's how we render it live in the browser, fight race conditions, export faithfully, and squeeze a whole diagram into a single share link.
開發紀錄系列第七篇。從「在手機上看感測器」到「把數據即時串流到電腦」——WebSocket、HTTP POST、Web Serial(USB),還有那個惱人的 Mixed Content 難題怎麼解。
The seventh dev-log post. From "viewing sensors on the phone" to "streaming the data live to a computer" — WebSocket, HTTP POST, Web Serial (USB), and how we tackled the maddening Mixed Content problem.
開發紀錄系列第六篇。水平儀、指南針、G 力計、震動偵測——我們如何只用瀏覽器原生 API,把手機的加速度計與陀螺儀變成一個即時儀表板,而且資料完全不離開裝置。
The sixth dev-log post. Level, compass, G-meter, shake detection — how we turned a phone's accelerometer and gyroscope into a live dashboard using only native browser APIs, with data that never leaves the device.
開發紀錄系列第五篇。免費工具也有伺服器、網域與資料庫的帳單。我們如何在不背叛「檔案不上傳」承諾的前提下,加入廣告並把合規做對。
The fifth dev-log post. Free tools still rack up bills for domains, hosting and databases. Here's how we added ads — and got the compliance right — without betraying the "files never leave your device" promise.
開發紀錄系列第四篇。LocalPapa 曾是一個漂亮的單頁應用,卻幾乎搜不到。我們如何把它重構成多頁網站,讓每個工具都有自己的落地頁與自然流量。
The fourth dev-log post. LocalPapa was once a slick single-page app that almost nobody could find. Here's how we rebuilt it into a multi-page site so every tool gets its own landing page and organic traffic.
開發紀錄系列第三篇。旋轉、PDF 轉圖片、解鎖、圖片轉 PDF——我們如何只用 pdf-lib、pdf.js 與 JSZip,在不上傳檔案的前提下把進階 PDF 操作搬進瀏覽器。
The third dev-log post. Rotate, PDF-to-image, unlock, image-to-PDF — how we brought advanced PDF operations into the browser with just pdf-lib, pdf.js and JSZip, without ever uploading a file.
開發紀錄系列第二篇。安防工程師規劃攝影機時要反覆手算 DORI 有效距離——我們把它變成一個即時、本地運算的視覺化工具。
The second post in our dev-log series. Security engineers hand-calculate DORI distances over and over — so we turned it into an instant, browser-local visual tool.
LocalPapa 的第一個工具開發紀錄。我們如何只用瀏覽器、不上傳任何檔案,從 PDF 的文字座標還原出有結構的 Markdown。
The very first tool in our dev log. How we reconstruct structured Markdown from a PDF's text coordinates — entirely in the browser, with zero uploads.