// FIELD NOTE
Building Oktoshot: a native code screenshot studio
Why I built a local-first Mac app for turning source code into polished, shareable images.
Most code screenshot tools start in a browser. Oktoshot started with a different constraint: source code should not need to leave your Mac just to become a good-looking image.
That choice shaped the entire product. A native app meant faster feedback, familiar keyboard interactions, and an export pipeline that could feel at home on macOS.
Local first, by design
The editing loop is intentionally small:
- Paste or type code.
- Choose a language and visual preset.
- Adjust the composition.
- Export a crisp image.
There is no account gate and no upload step. The document stays local throughout the workflow.
A tiny example
Oktoshot treats the rendered snippet as part of a larger composition, rather than a screenshot of a text editor.
let export = Shot(
code: source,
style: .midnight,
scale: 2
)
try await renderer.write(export, to: destination)This distinction sounds small, but it makes features such as reusable presets, annotations, and batch exports much easier to reason about.
The best developer tools remove ceremony without hiding control.
What comes next
I am continuing to refine the rendering pipeline and the small details around export. I will use this blog to document the engineering decisions, false starts, and lessons behind that work.
You can visit the Oktoshot website or explore it on the Mac App Store.