Skip to content

Edit your profile

Your profile is one canonical takuhon.json. You can edit that file by hand, but Takuhon also ships an admin form that edits the same document with typed fields, multilingual tabs, and validation. Every one of the 19 sections is a form — there is no section you can reach only as raw JSON.

Locally, run the admin server. With no path it edits the takuhon.json in the current directory and serves a live preview of your profile:

Terminal window
takuhon admin

It binds 127.0.0.1 only and prints a fresh admin token each run — paste that token into the sign-in form. The editor is at /admin, the preview at /. Stop with Ctrl-C.

On Cloudflare, the deployed Worker serves the same form at /admin, gated by your admin token (TAKUHON_ADMIN_TOKEN). It loads and saves the canonical document through the admin API (/api/admin/*).

The editor opens in Form mode with every section laid out as fields:

  • All 19 sections — profile, links, experience, projects, skills, settings, and the rest (education, certifications, publications, honors, volunteering, memberships, languages, courses, patents, test scores, recommendations, contact, and metadata). The fields are derived from the takuhon.json schema, so they always match the document model.
  • Multilingual fields — your name, titles, and descriptions — have a tab per locale, driven by settings.availableLocales.
  • Repeating sections (links, experience, …) let you add, remove, and reorder items; an id is generated for you.
  • Cross-references — for example a course’s “Related education” — are dropdowns of the matching section’s entries, so you pick an entry instead of retyping an id.
  • Avatar can be a pasted image URL, an uploaded file (on Cloudflare or locally), or a Gravatar generated from your email — the email itself is never stored.
  • Public visibility lives in Settings: untick a section to hide it from every public surface. See Control what’s public.

Switch to Advanced (JSON) to edit the whole document as raw JSON — an escape hatch for bulk edits or fields you would rather type directly. Edits apply only while the JSON stays valid.

Export downloads the current draft as a takuhon.json; Import loads one back, validating it before it replaces the draft. This is the simplest way to move a profile between machines or to keep a backup.

Save validates the document first. If anything is wrong, the editor lists the problems in an error summary (and moves focus there) and marks the offending fields inline — nothing is sent until the document is valid. On Cloudflare, saving uses an optimistic lock: if the stored document changed since you loaded it, you get a conflict notice — Reload, then reapply your edit.

WhereAdmin form
CLI (takuhon admin)✅ local editor, edits the file in place
Cloudflare/admin, token-gated, saves through the admin API
Vercel❌ read-only adapter (serves, does not edit)
Static export❌ no server to save through

For every field and its constraints, see the schema reference; for the document model and the multilingual format, see The takuhon.json file.