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.

  1. 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

  2. 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

  3. 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.

  1. 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

  2. 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

  3. 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

  4. 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.

  1. 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

  2. 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

  3. 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

  4. 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.

  1. 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

  2. 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

  3. 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.

  1. 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

  2. 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

  3. 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

  4. 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.

  1. 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

  2. 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

  3. 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

  4. 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.

  1. 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

  2. 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

  3. 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

  4. 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.

  1. 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

  2. 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

  3. 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

  4. 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.

  1. 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

  2. 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

  3. 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

  4. 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

20 → 5 minTime taken by a deployment. About 5 minutes after the migration.
1/20Time to roll back a failed release.
1/10Operational cost of a release.

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.

  1. GruntJSで伺かを操作するgrunt-sstpを作ったQiita · 2014.05.06 · A Grunt plugin that reports build results to a desktop mascot
  2. Scala-SBTで伺かを実行するQiita · 2014.06.01 · Driving Ukagaka from Scala SBT
  3. Dgeniで簡単に始めるngdocドキュメント生成Qiita · 2014.09.22 · From installation and setup to generated documentation
  4. dgeni-markdownGitHub · 2014.09 · A template that emits documentation as Markdown
  5. grunt-dgeniGitHub · 2014.09 · A plugin that adds documentation generation to a Grunt build
  6. PHP Conference Japan 2014 / 公式プログラムEvent record · 2014.10.11 · Lightning talk “A new form of notification with PHP and Ukagaka”
  7. PHP+伺かで始める新しい通知の形Slides · 2014.10.11 · Notifications built from PHP, SSTP and APIs
  8. AWS Lambdaの開発サイクルを作ろう!Qiita · 2015.01.03 · Connecting local tests with execution in the cloud
  9. Dgeni with AngularJS ApplicationSlides · 2015.03.21 · ng-japan 2015. Comparing ways to adopt documentation generation
  10. Scala.jsはじめました!Slides · 2015.08.01 · Scala Kansai Summit 2015. A development environment on npm and SBT
  11. Scala.js / PresentationsOfficial site · 2015 · Lists the Scala.js talk published in July. 2015 material
  12. AWS Lambdaのデプロイフロー管理Qiita · 2015.12.09 · Separating configuration, artifacts and deployment
  13. Node.jsから扱うScala.js開発環境[内容名]Qiita · 2016.01.31 · Verifying a setup that does not depend on SBT
  14. SAM+Node+FlowtypeでのLambda開発[内容名]Qiita · 2016.12.08 · The flow from development to deployment
  15. Step Functionsで並列分散処理を実現するQiita · 2016.12.11 · Dynamic state definitions, parallelism and error handling
  16. Serverless Meetup Tokyo #4Event record · 2017.08.09 · The talk slot for “flowtypeStepFunction”
  17. FlowtypeとOpaque Type AliasesQiita · 2017.11.19 · Keeping values of the same base type but different purposes apart
  18. サーバーレスの活用事例[内容名]Slides · 2018.05.30 · AWS Summit 2018. Partial adoption in an existing system
  19. aliasesGitHub · 2018.10 · A Go tool that runs commands and their dependencies in containers
  20. 既存システムのKubernetes化[内容名]Slides · 2018.12.03 · Japan Container Days v18.12 Meetup. Dated by publication of the slides
  21. Helmのimportプラグインを作った[抄題]Qiita · 2019.01.06 · Importing charts from GitHub and elsewhere into a local repository
  22. prGitHub · 2019.10 · A Go CLI that operates on the pull requests matching a condition
  23. EC2からKubernetesへ移行する取り組み[内容名]Slides · 2020.10.20 · AWS DevDay 2020 C-8. Dated by publication of the slides
  24. PHPシステムのKubernetes移行・第1回[内容名]Article · 2020.11.04 · First part of the author’s series on the migration
  25. Kubernetes基盤の移行事例[内容名]Published case study (PDF) · 2020 · Quantified results of the team the author joined
  26. PHP on KubernetesTalk report · 2020.12.12 · Summary and Q&A from PHP Conference 2020
  27. 僕たちはアラートを管理できないZenn · 2021.01.24 · Responsibilities and metrics for detection, response and root cause
  28. Helm Chartリポジトリの2年半の運用Slides · 2021.03.12 · CloudNative Days Spring 2021
  29. Typesafe State in Rust (preview)Zenn Books · 2022.03.08 · An eight-chapter public book on states and transitions as types
  30. 開発チームにオーナーシップを委譲する手法Slides · 2022.04.22 · DevOpsDays Tokyo 2022. IaC, GitOps and constraints
  31. async-graphql / PR #1018GitHub PR · 2022.08.18 · Fixes request data lost in resolvers
  32. async-graphql / PR #1049GitHub PR · 2022.09.06 · Primitive type support for CursorType
  33. ちょっとした工夫で見やすい構成図を書こう!Zenn · 2022.11.12 · Alignment, spacing, lines and grouping in diagrams
  34. GraphQLの安全なスキーマ変更[内容名]Zenn · 2022.12.26 · A proposal to handle compatibility in a translation layer, prototyped in Rust
  35. ChatGPTとLlamaIndexを使った仕様問い合わせAI[抄題]Zenn · 2023.02.24 · Structuring a specification and measuring answer accuracy
  36. ChatGPTを使ったSecurity Hubのトリアージ[内容名]Zenn · 2023.03.19 · Judgement, structured output and confirmation by a person
  37. ChatGPTをシステムに組み込むためのプロンプト技法Slides · 2023.04.19 · ChatGPT Meetup Osaka #1. Verification and guard processing
  38. サーバーレスを採用すべき100の理由Slides · 2023.08.30 · Speed of extension and fault tolerance. Dated by publication of the slides
  39. solana-materials-in-japaneseGitHub · 2023.09 · Japanese development material by several authors, organised
  40. SolanaのプログラムでCRUDしてみようZenn · 2023.10.07 · Learning accounts, owners and state updates through code
  41. Rust入門 in SolanaSlides · 2023.11.25 · Solana Developer Hub #0. An introduction to Rust through a counter
  42. Solana Developer Hub / 公開イベント資料集Organiser’s record · Talks on Rust, AI and Solana Pay, among others. Updated over time
  43. Solana Developer Hub Workshop #4GitHub course · 2024.03.26 · Setup, wallet connection, minting an NFT and publishing
  44. Compute Units / Budget最適化Slides · 2024.05.30 · Solana Developer Hub #6. Measurement, implementation and fees
  45. シグネチャで始めるRustプログラミングOrganiser’s announcement · 2024.06.14 · A talk on learning Rust and applying it to Solana
  46. testcontainers-phpGitHub · 2024.11〜 · PHP 5.6–8.5 support as stated in the README at the time of checking
  47. 開発の自律性と信頼性への取り組み[内容名]Zenn · 2024.11.14 · A retrospective on delegation through automation and support guided by metrics
  48. レガシーPHPをサポートしたTestcontainers作りましたZenn · 2025.03.22 · An integration-test environment that supports updating legacy PHP
  49. Solanaプログラムのテスト手法Slides · 2025.04.26 · Solana Developer Hub #16. Dated by publication of the slides
  50. AI Agentでタスク駆動開発をしている話Zenn · 2025.06.01 · A development flow that keeps goals, plans and records in files
  51. Claude Codeを使ったlinterとリファクタリング[内容名]Zenn · 2025.09.03 · A prototype, cconv, that checks code against natural-language rules
  52. Solana Mobile StackではじめるSeekerアプリ開発Slides · 2025.09.28 · Solana Developer Hub #21. Dated by publication of the slides
  53. AIを使ってBower/GruntJS時代の個人サイトをモダナイズしたZenn · 2025.12.06 · A migration with screen comparison, componentisation and verification
  54. testcontainers-php / コンテナ再利用GitHub commit · 2025.12.20 · Adds a container reuse mode
  55. 2026年開発、AI系の環境Shizuka na Internet · 2026.01.02 · Notes on an AI development environment and how each tool is used
  56. ztd-query-phpGitHub · 2026.01〜 · A PHP implementation of Zero Table Dependency and an SQL verification base
  57. storybook-phpGitHub · 2026.03〜 · An addon for checking PHP components in Storybook
  58. php-ai-toolkitGitHub · 2026.03〜 · Tools for static analysis, test output and documentation
  59. AIエージェントに不確実性を探索させるためにやることZenn · 2026.05.09 · A practical comparison of iteration, context and outside intervention
  60. みんなAI Agentで開発どうしてる?僕はこうしてる!!Zenn · 2026.05.23 · Combining concept work, tests, audits and real use
  61. AIのためのタスク管理アプリケーションを作ったら気持ちよかったZenn · 2026.08.22 · Building a personal app; the app itself is not published
  62. document-design / doc-uiGitHub · 2026 · This paper uses the stylesheet distributed by document-design

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.