Building Ayumi and Kitae: Local-First Apps for Myself
Why I built a journal and a workout tracker around Markdown, direct ownership, and collaboration with AI coding agents.
Naoki Ainoya's personal website
Why I built a journal and a workout tracker around Markdown, direct ownership, and collaboration with AI coding agents.
A theoretical and simulation-driven argument for treating PR review as the highest-priority interrupt, grounded in queueing theory, context-cost asymmetry, and the dynamics introduced by AI-assisted development.
Exploring the parallels between Claude Lévi-Strauss's concept of 'bricolage' and how Large Language Models generate code, and what it means for modern software architecture.
How I use Starlight and scheduled AI tasks to generate and maintain the Pokke documentation.
How a lightweight custom URL feature in my personal bookmarking service, Pokke, enables seamless AI research while saving API costs.
How I used AI to go from an idea to a deployed 'Emoji Shower' game, including automated infrastructure setup via GitHub APIs.
Why hiding real-time transcription can actually make voice input faster and more natural.
Fix Cursor's MCP OAuth error by handling its well-known endpoint probe and returning a usable 401 response instead of a plain-text 404.
How I extended 'pokke' with the Model Context Protocol to connect my reading list with my personal knowledge base.
With Pocket gone, I built a lightweight cloud SaaS to manage my reading list. Here is why I chose to build rather than adopt complex alternatives.
In Japan, we call it "Millionaire Programming." Traditionally, this meant throwing hardware at performance issues. In the AI era, it means throwing generative cycles at architectural uncertainty.
My practical comparison of Google Jules and Antigravity: a responsive web agent for small fixes versus a queue for background coding work.
A reverse centaur is a person forced to serve a machine. I use verification cost to explain when AI assists people and when it controls them.
Tracing the origins of the viral 'Silhouette' dance challenge reveals the difficulties of searching choreography in the age of digital folklore.
Calculate missing or Infinity WebM duration from MediaRecorder files with webm-meta-lite, a zero-dependency TypeScript parser.
Explain why I chose CLI over MCP for AI agents, focusing on 'information economics' and Unix philosophy.
Astro Cactus generates an OGP image per post with Satori + Resvg. By caching the PNGs locally and using a content hash, we can avoid regenerating unchanged images and cut build time.
Exploring Cloudflare Durable Objects as a paradigm shift in stateful edge computing. From Redis Streams to zero-latency SQLite integration, discover how this technology revolutionizes real-time application architecture with globally unique instances and the Actor Model.
Learn how to transform AI agents from chaotic coders into design partners using Specification-Driven Development principles for more structured collaboration.
Generative AI mirrors sculpture—from Michelangelo’s marble to Japanese natabori—helping engineers reveal hidden forms within LLMs.
Developing a secure Chrome extension that transcribes audio locally without uploading data to external servers.
Learn how to handle truncated responses when processing large contexts with VertexAI API, using a recursive method to retrieve complete outputs.
Exploring the use of Large Language Models (LLMs) for personal knowledge management, focusing on the challenges and potential solutions for improving output quality and automation.
Create a LocalStack KMS key with fixed custom key material so teammates can encrypt and decrypt the same local test data.
Generative AI is changing the information landscape, but blogging still holds value as a platform for personal expression and creative exploration.
Building a user-friendly Web UI to easily structure and control LLM outputs in JSON format for better integration with applications.
Learn how to minimize risks when manually operating new products before full automation is in place. This post discusses key principles and practical examples to ensure smooth and reliable operations from day one.
Tired of manually tagging my notes, I decided to automate the process using Large Language Models (LLMs). This post explores my journey and the solution I implemented using Vertex AI.
Learn how seemingly harmless markdown image rendering in your LLM application can lead to user data leakage and how to mitigate this security risk.
A Chrome extension that summarizes web page contents using the built-in Gemini Nano model. It offers secure in-browser summarization with translation options and markdown output. Easily copy the summary to your clipboard for quick access.
Switching from DOM Distiller to Readability for better content extraction and adding table support in Markdown using turndown.
Streamline your knowledge management with Pocket and Obsidian integration. Learn about a custom solution using dom-distiller API and PocketMD scripts to automate article transfers, enhance productivity, and create an interconnected knowledge base, making research and note-taking more efficient.
How I reduced initial model load times on EC2 instances by creating AMIs with pre-loaded models, identifying bottlenecks, and implementing a solution using the fio command to optimize disk I/O performance.
Discusses methods using Zapier and OpenAI to support the awareness and maintenance of company culture and values among employees.
Learn how to use the Web Crypto API for secure encryption and decryption of sensitive data like API keys, especially in environments like Cloudflare Workers.
Exploring the generation of an OpenAI API client using Microsoft Kiota from the OpenAPI specification.
Explore the architecture, libraries, and design of the open-source project maybe-finance/maybe, revealing insights into modern app development.
Dropout is incorporated within the Transformer
Use devcontainer to streamline the hassle of starting a local development server while writing a blog.
A common pattern in chatbot conversations involving function calling within the backend during interactions with an OpenAI Assistant API.
A script that automates the daily workflow of managing tickets in JIRA and managing code in GitHub.
Discover how to implement scheduled article publishing on an Astro-built website, hosted on Cloudflare Pages.
Delve into the nuances of enhancing security in Kubernetes clusters by implementing mutual TLS (mTLS) using Envoy.
Converting natural language queries into structured formats made easy
A look into the development of an OpenAI Java API client using the OpenAPI Generator.
How to automate LookML code review using the lkml Python library and GitHub Actions.
Garbage in, garbage out
Absence Alert System using SwitchBot Motion Sensor and Cloudflare Workers
This is my first post