§ A markdown notebook — yours to deploy

A still place for your thoughts.

Naute is an open-source markdown notebook you deploy to your own AWS account with a single command. A split-pane editor fluent in prose and code, the gentle company of an AI when you ask for it, and a serverless stack that runs on your domain, with your data — so the whole thing is yours.

MIT licensed One-command SAM deploy Your AWS Your data Free-tier friendly
I What it does

Quiet tools, carefully chosen.

Each feature earns its place. No clutter, no upsell — just the parts you reach for when you want to write something down and find it again later.

01 / Editor

A notebook that's fluent in code.

CodeMirror 6 on the left, a live preview on the right. Code blocks render through Shiki with the same TextMate grammars your IDE uses — TypeScript, Rust, SQL, shell, all of them — so technical notes, snippets, and half-baked configs read the way you wrote them.

02 / AI

Claude, when you actually want it.

Generate a note from a one-line prompt, or hand it a rough draft and get back tidy markdown with a title and tags. Streamed, cancellable, optional.

03 / Tags

Tags, search, and a sort that sticks.

Filter by one tag or many, search by title, sort by date or name. All derived client-side — no backend ceremony to keep your taxonomy fresh.

04 / PWA

Install it like an app. Works offline.

A full PWA with an auto-updating service worker and workbox caching. Pin it to your dock, your home screen, your dashboard — wherever you write.

05 / Auth

Cognito auth done properly.

OAuth 2.0 Authorization Code + PKCE, optional TOTP, access tokens in memory, refresh tokens in HTTP-only cookies — with installed PWAs falling back to persistent storage so sessions survive iOS quirks.

06 / Yours

Your AWS, your data, zero idle cost.

The whole stack — Lambda, DynamoDB, Cognito, CloudFront — ships as one SAM template you deploy to your own account with ./infra/deploy.sh. Sleeps free, and a single writer's daily use comfortably fits inside the AWS free tier.

II Type specimen

Markdown in, a finished page out.

The preview uses a typographic stack tuned for reading — variable serif body, italic display heads, properly hung punctuation, and syntax highlighting from Shiki.

Source · markdown
# The morning I learned to listen

I used to write to be heard. Now I write to *see*
what I think.

## Notes that earned their keep
- A small pond is enough for the moon.
- Patience is a kind of attention.
- Editing is a form of respect.

> "The page is a quiet room. Be a polite guest."

#essays #morning #craft
            
Rendered · preview

The morning I learned to listen

I used to write to be heard. Now I write to see what I think.

Notes that earned their keep

  • A small pond is enough for the moon.
  • Patience is a kind of attention.
  • Editing is a form of respect.
"The page is a quiet room. Be a polite guest."
III Quiet AI

An assistant that knows when to stop talking.

Naute talks to Claude through a streaming Lambda. The API key lives in SSM. The UI is one dialog with two verbs.

Two verbs. Generate & format.

You can ask for a fresh note from a single sentence, or hand Claude a wall of unstructured text and get back something you'd actually want to keep. Both stream into the editor in real time and can be cancelled mid-thought.

  • Generate a note from a prompt. Returns a title, body, and a small handful of tags.
  • Format rough text into clean markdown without inventing facts you didn't write.
  • Stream token-by-token over SSE, with a heartbeat to survive flaky networks.
You
"Draft a short note about monozukuri, the Japanese spirit of craft."
Claude

Monozukuri — the spirit of making

Monozukuri is more than manufacturing. It is the quiet conviction that how a thing is made matters as much as the thing itself — that the hand of the maker stays in the work, and that small refinements, repeated over years

→ tags · craft, japan, monozukuri
IV Colophon

Built with good materials.

No framework lock-in, no abandoned dependencies. The bill of materials is intentionally small and readable from top to bottom.

Frontend
React 19, Vite, Tailwind CSS v4, CodeMirror 6, TanStack Query
Markdown
Shiki · marked · DOMPurify
AI
Claude · Anthropic SDK · SSM Parameter Store
Backend
AWS Lambda (arm64) · Node.js 22 · API Gateway
Database
DynamoDB, single-table design
Auth
Amazon Cognito · OAuth 2.0 + PKCE · optional TOTP MFA
Infrastructure
AWS SAM · CloudFront · S3 · ACM · Route 53
CI / CD
GitHub Actions, OIDC to AWS
License
MIT — fork it, change it, ship it.

Your cloud. Your notes.

There's no hosted Naute to subscribe to. The code is MIT-licensed and the entire AWS stack — frontend, Lambdas, DynamoDB, Cognito, CloudFront, Route 53 — ships in one repo as a single SAM template. Roughly thirty minutes from clone to your first sign-in.