iex> Ken</>

Hi, I'm Ken.

iex> Site.moduledoc()
"""

I'm a software engineer in Tokyo. Most days I'm writing Elixir, sometimes poking at embedded firmware, and occasionally building the web pieces that tie the two together. Most of what I make is open source, published on Codeberg.

This site is where I keep short notes on what I'm building and learning. Recent projects and the latest posts are below — for the longer story, visit /about.

If you'd like to get in touch, /contact has details.

"""
iex> Ken.now()
%Now{
as_of: ~D[],
status: "After a long break from programming, I'm working through Drew Neil's Practical Vim to get my muscle memory back, and open to new roles."
}
iex> Ken.work(limit: 1)
%Portfolio{
entries: [
%Notebook{
status: :live,
about: "Track international Kickstarter pledges across currencies"
}
],
archive: "/projects" # more of my work here
}
iex> Blog.feed(limit: 3)
%Feed{
entries: [
%Post{
date: ~D[],
description: "I'm a Kickstarter superbacker juggling a dozen pledges across several currencies. Existing budget tools couldn't handle that, so I shipped a Livebook notebook that does.",
},
%Post{
date: ~D[],
description: "Why I'm starting this blog, and what to expect from it.",
tags: [:meta]
}
],
archive: "/blog" # more of my writing here
}
iex> Ken.support()
"If anything here is useful to you, please consider buying me a coffee️ on Ko-fi ☕. Every bit of encouragement helps me keep writing and building in the open."
iex> Ken.motd()
"I'd rather build the future than predict it — one elegant function at a time."
iex> Ken.tip()