k_kinzal / ENGINEERING WORKS · 2014–2026
k_kinzal
Turns complex technology into usable tools and knowledge that carries.
Builds usable tools
Documentation generation, deployment, PHP test environments, AI development.
Changes things safely
Platform migration, design through types, automated tests and quality verification.
Passes knowledge on
Articles on Qiita and Zenn, conference talks, Rust and Solana course material.
01
Profile
How to readEach period’s heading is the claim, the paragraph after it the context, and the chronology the evidence. Numbers in the text point to the sources at the end.
Solves in code the inconveniences met in development and operations.
Digs into how things work and confirms them in running form. The process is published as open source, articles, talks and course material.
A paper tracing public work from the first talk in 2014 to the present. The profile is an editorial summary based on the work recorded in this paper. Checked on 26 September 2026.
02
2014
First public worksPHP · Node.js · Grunt · Scala · Documentation
In focusPublish the implementation and the explanation together. Not only what was built, but how to run it. The shape of activity that later leads to test support and learning material is visible from 2014.
Build, write and talk about the inconveniences close at hand.
Before the first talk, the tools built and how to use them were already published on Qiita. An early interest in notifications and documentation generation shows here.
-
2014.05–06
Reporting build results to Ukagaka
Built grunt-sstp, which sends Grunt successes, warnings and failures to a desktop mascot. Published on Qiita on 6 May, followed on 1 June by an explanation of driving it from Scala’s SBT.12
-
2014.09
Generating documentation from code
Explained ngdoc generation with Dgeni on Qiita. grunt-dgeni put documentation generation into the everyday build, and dgeni-markdown added a tool for Markdown output. The walkthrough and the implementation that simplifies it appear side by side.345
-
2014.10.11 · First talk
A new form of notification with PHP and Ukagaka
A lightning talk at PHP Conference Japan 2014. It combined PHP, SSTP and APIs to deliver events of all kinds to Ukagaka. The notification tools published since spring led to a talk at a technical conference.67
03
2015–2016
Development workflowsLambda · Scala.js · npm · Flowtype · State Machines
Connect new technology to everyday development.
Rather than only trying Lambda and Scala.js, the articles and talks showed how to fit them into the flow of testing, building and deploying.
-
2015.01
Assembling a development cycle for Lambda
The January article used lambda-template to walk from local tests to execution and log inspection in the cloud. Beyond the function’s code, it arranged a repeatable develop-and-verify loop and connected it to CI/CD.8
-
2015.03 · 08
Talks on documentation generation and Scala.js
At ng-japan 2015 on 21 March, a comparison of ways to start with Dgeni. At Scala Kansai Summit 2015 on 1 August, how to combine npm with SBT. Another Scala.js talk, published in July, is listed on the official Scala.js site.91011
-
2015.12 – 2016.01
Revisiting distribution and the build
December explained separating Lambda configuration, artifacts and deployment. The following January verified handling Scala.js from Node.js without SBT. Technology is fitted to the tooling of everyday development.1213
-
2016.12
Thinking about serverless in types and states
Explained Lambda development combining SAM, Node and Flowtype. The Step Functions article examined parallel, distributed processing with dynamically built state definitions, and the handling of exceptions and retries.1415
04
2017–2019
Repeatable operationsServerless · Go · Containers · Helm · Automation
Turn repeated work into configuration and rules.
From deciding on serverless to running commands in containers and operating charts and pull requests: reducing the friction between development and operations.
-
2017.08 · 11
Explaining the flow of processing and the boundaries of types
Presented “flowtypeStepFunction” at Serverless Meetup Tokyo #4 on 9 August. A November Qiita article took up Opaque Type Aliases: keeping identifiers of the same base type but different purposes apart, so they cannot be passed in the wrong place.1617
-
2018.05 · 10
Deciding on adoption and preparing an execution environment
The May talk introduced adopting serverless for parts of an existing system. aliases, a Go tool created in October, runs commands and their dependencies defined in YAML inside containers.1819
-
2018.12 – 2019.01
Adopting Kubernetes and handling the cost of distribution
Presented moving an existing system to Kubernetes at Japan Container Days in December. The following January introduced helm-import on Qiita, which pulls Helm charts from GitHub and elsewhere into a local repository, and showed how to combine it with helmfile.2021
-
2019.10
Automating pull request operations
Created pr, a Go CLI. It selects targets with JMESPath conditions and applies labels, assignees, reviews, merges and other operations. A tool that treats day-to-day repository operations as reusable rules.22
05
2020–2021
Reliable changePHP · Kubernetes · Helm · Observability · Reliability
Keep a running system changeable.
The migration of an existing PHP system to Kubernetes was published as talks, a series and Q&A. Interest widened to operating after the migration and to the handling of alerts.
-
2020.10–12
Sharing the issues met in the migration, in practical terms
AWS DevDay in October, a series from November and PHP Conference in December described moving from EC2 to Kubernetes. Configuration injection, logging, container shutdown and development environments were handled concretely. The change the migration produced is summarised under “Main results” below.232426
-
2021.01
Alerts are not only a notification problem
“We cannot manage alerts” on Zenn separated detection, removing the effect on users, and resolving the root cause. It discussed the burden on responders, responsibilities, accumulated knowledge and the difficulty of metrics, from the author’s own concerns.27
-
2021.03
Sharing what it takes to keep operating Helm charts
At CloudNative Days Spring 2021, a look back at two and a half years of running a chart repository: automating distribution, managing several charts, keeping up with Kubernetes releases, and testing. The work that continues after adoption.28
06
2022
Autonomy and typesRust · Type Safety · GraphQL · GitOps · Developer Autonomy
Toward systems teams can change themselves and find hard to break.
Building the foundation for developer autonomy, and implementations in Rust and GraphQL. Design thinking expressed as a book, a talk, code and articles.
-
2022.03
Expressing states and transitions in Rust types
Published “Typesafe State in Rust (preview)” on Zenn Books. Eight chapters on expressing state-dependent data, behaviour and transitions as types, so that wrong operations are constrained.29
-
2022.04
Handing ownership to development teams
Spoke at DevOpsDays Tokyo 2022 on continuous delivery of IaC, GitOps with Argo CD and constraints with OPA. Designing an environment developers can change themselves together with the mechanisms that keep it safe.30
-
2022.08–09
Taking problems in the OSS in use upstream
Proposed to async-graphql a fix for request data lost in resolvers and primitive type support for CursorType. The two pull requests were merged in August and September.3132
-
2022.11–12
Communicating design and considering compatibility
In November, a Zenn article on alignment, spacing, lines and grouping in diagrams. In December, a proposal for schema changes that absorb old GraphQL operations in a translation layer, with a Rust prototype and the unimplemented parts.3334
07
2023
AI and new learningChatGPT · LlamaIndex · Serverless · Solana · Rust
Try AI, and add ways into learning.
Experiments in putting generative AI into systems begin at the start of the year. In the second half, the work widened to Japanese material on Solana and support for learning Rust.
-
2023.02–03
Testing what is given to an AI and what comes back
Published an experiment asking ChatGPT and LlamaIndex about the Ukagaka specification, examining how splitting and structuring the document affects the answers. For Security Hub triage, considered structured decisions and a process that includes confirmation by a person.3536
-
2023.04
Handling AI output from a program
Presented prompt techniques at ChatGPT Meetup Osaka #1. Experimented with variation in answers and introduced combining prompts with inspection, retries and correction.37
-
2023.08–10
Reorganising experience and learning a new field
Slides published in August discussed serverless in terms of speed of extension and fault tolerance. In September, a collection of Japanese Solana material; in October, a Zenn article explaining accounts and state updates through a CRUD implementation.383940
-
2023.11–12
Making Rust and Solana something to learn by doing
Published “Rust Introduction in Solana” and “Rust Programming with AI” for Solana Developer Hub #0, introducing Rust through a counter implementation. #1 also covered Solana Pay.4142
The AI articles record the author’s own experiments and considerations. The collection of Japanese material also includes material by other authors.
08
2024
Hands-on and enablementRust · Solana · PHP · Docker · Developer Experience
Learn by running things, and create the conditions to go on alone.
From Solana exercises and measurement to test support for existing PHP and a retrospective on developer autonomy: supporting the next step of the people who use the technology.
-
2024.03
Course material from setup to publishing
For Solana Developer Hub Workshop #4, published material that walks from preparing the environment through wallet connection and minting an NFT to publishing on the web. It is built so that an app is actually made and published.43
-
2024.05–06
Measuring what happens inside, and how to learn Rust
The May material “Compute Units / Budget optimisation” measured Solana execution cost and examined its relation to implementation and fees. An event on 14 June covered learning Rust from type signatures and applying it to Solana.4445
-
2024.11
Making integration tests easier to write, even for old PHP
Created the testcontainers-php repository. It starts, waits for and stops Docker containers from PHP to assemble a test environment. The README, at the time of checking, states support for PHP 5.6 to 8.5.46
-
2024.11 · Article
Beyond automation, checking developer autonomy
A Zenn retrospective on the delegation and development support so far: rather than relying on granting permissions directly, providing constrained automation and confirming autonomy through surveys and metrics. It moves on to support that keeps improving on the basis of metrics.47
09
2025
Tests and AI workflowsTesting · AI Agents · Refactoring · Storybook · Solana
To develop faster, build the means to verify.
Updating existing PHP, testing Solana, managing tasks with AI. In different fields, verification and ways of working were turned into concrete implementations.
-
2025.03–04
Tests as the ground for making changes
A March Zenn article explained why testcontainers-php was built: to put in place the tests needed to update old PHP. Material for Solana Developer Hub #16, published in April, organised verification with unit tests and the Test Validator.4849
-
2025.06
Handing AI work over through tasks and records
Introduced task-driven AI development on Zenn. Goals, plans and work records are kept in files, so that work can continue from where it left off when the conversation context is lost or the agent changes.50
-
2025.09
Natural-language conventions as inspection and correction
Prototyped cconv, which calls Claude Code, and shared on Zenn the process and the limits of checking and fixing code against natural-language rules. Solana work continued with material on building, connecting and publishing an app for Seeker.5152
-
2025.12
Updating old assets while verifying
Migrated a personal site untouched since the end of 2014 to React and Vite, together with AI. The article records the steps and failures of screen comparison tests, componentisation and quality checks. testcontainers-php also gained a container reuse mode.5354
10
2026
Verifying AI-assisted workPHP · SQL · Storybook · AI Agents · Documentation
From the power to build with AI to the power to verify and use it.
The more implementation is left to AI, the more design, inspection and records matter. The problem is examined from both PHP tooling and the author’s own way of working.
-
2026.01–03
Publishing tools that connect PHP implementation and verification
An article on the development environment described how each AI is used. ztd-query-php advances a PHP implementation of Zero Table Dependency and SQL verification; storybook-php checks screen components; php-ai-toolkit supports static analysis, test output and documentation.55565758
-
2026.05
Examining AI exploration and the quality of its output
Reported on Zenn how repeated runs, context and outside intervention affect exploration. Another article described development that combines concept work, linters, tests, audits and real use, and organised the methods that raise quality and the problems that remain.5960
-
2026.08
Handling the work of several AIs with a tool of one’s own
Built an app that manages task dependencies, pending runs, scheduled tasks and agent logs in one place, and shared the experience in an article. The article is public; the app is personal and, as stated, not planned for release.61
-
2026.09 · At the time of checking
Shaping output that can be read
document-design organises the hierarchy, typesetting and figures of documents and reports as a shared stylesheet. This paper uses that stylesheet. The interest that runs from Dgeni in 2014 — handing over what was built in a form that can be understood — is visible here too.62
The idea of Zero Table Dependency is another author’s. What is covered here is the PHP implementation and the verification base. The connections between activities are this paper’s editorial reading.
11
Main results
The change shown by the platform migration the author joined.
Figures recorded in a 2020 published case study, after the migration from EC2 to Kubernetes. They are the team’s results, not figures for one person’s work.25
Results of the team, as recorded in the published case study. The figures do not represent one person’s work.
12
Sources
62 sources
Follow the public record.
A number in the text leads to its source; each title leads to the original. In print, URLs appear only in this list.
- GruntJSで伺かを操作するgrunt-sstpを作った
- Scala-SBTで伺かを実行する
- Dgeniで簡単に始めるngdocドキュメント生成
- dgeni-markdown
- grunt-dgeni
- PHP Conference Japan 2014 / 公式プログラム
- PHP+伺かで始める新しい通知の形
- AWS Lambdaの開発サイクルを作ろう!
- Dgeni with AngularJS Application
- Scala.jsはじめました!
- Scala.js / Presentations
- AWS Lambdaのデプロイフロー管理
- Node.jsから扱うScala.js開発環境[内容名]
- SAM+Node+FlowtypeでのLambda開発[内容名]
- Step Functionsで並列分散処理を実現する
- Serverless Meetup Tokyo #4
- FlowtypeとOpaque Type Aliases
- サーバーレスの活用事例[内容名]
- aliases
- 既存システムのKubernetes化[内容名]
- Helmのimportプラグインを作った[抄題]
- pr
- EC2からKubernetesへ移行する取り組み[内容名]
- PHPシステムのKubernetes移行・第1回[内容名]
- Kubernetes基盤の移行事例[内容名]
- PHP on Kubernetes
- 僕たちはアラートを管理できない
- Helm Chartリポジトリの2年半の運用
- Typesafe State in Rust (preview)
- 開発チームにオーナーシップを委譲する手法
- async-graphql / PR #1018
- async-graphql / PR #1049
- ちょっとした工夫で見やすい構成図を書こう!
- GraphQLの安全なスキーマ変更[内容名]
- ChatGPTとLlamaIndexを使った仕様問い合わせAI[抄題]
- ChatGPTを使ったSecurity Hubのトリアージ[内容名]
- ChatGPTをシステムに組み込むためのプロンプト技法
- サーバーレスを採用すべき100の理由
- solana-materials-in-japanese
- SolanaのプログラムでCRUDしてみよう
- Rust入門 in Solana
- Solana Developer Hub / 公開イベント資料集
- Solana Developer Hub Workshop #4
- Compute Units / Budget最適化
- シグネチャで始めるRustプログラミング
- testcontainers-php
- 開発の自律性と信頼性への取り組み[内容名]
- レガシーPHPをサポートしたTestcontainers作りました
- Solanaプログラムのテスト手法
- AI Agentでタスク駆動開発をしている話
- Claude Codeを使ったlinterとリファクタリング[内容名]
- Solana Mobile StackではじめるSeekerアプリ開発
- AIを使ってBower/GruntJS時代の個人サイトをモダナイズした
- testcontainers-php / コンテナ再利用
- 2026年開発、AI系の環境
- ztd-query-php
- storybook-php
- php-ai-toolkit
- AIエージェントに不確実性を探索させるためにやること
- みんなAI Agentで開発どうしてる?僕はこうしてる!!
- AIのためのタスク管理アプリケーションを作ったら気持ちよかった
- document-design / doc-ui
13
How the sources were handled
Representative public work was selected. Articles and books are dated by publication (JST by default), talks by the event or the publication of the slides, pull requests by the merge. A repository’s year and month are its creation date and do not establish when the work or its publication began. Features are as stated in the README at the time of checking. The experience described in a retrospective was not necessarily all gained in the year it was published.
The author is named k_kinzal throughout; affiliations and titles are not given. Some titles have been replaced by a description of their content or shortened. The originals may use other spellings and include affiliations.