diff·log¶
diff·log is an open source app that uses Claude to summarize dev news based on your tech stack. These docs are for technical users interested in the underlying technology.
difflog.dev (the site) | GitHub (the code)
Overview¶
- Local-first — All data stored in browser localStorage; sync is optional
- End-to-end encrypted — Sync data is encrypted client-side before upload
- Multi-profile — Track different tech stacks separately
- BYOK — Bring your own Anthropic API key for AI generation
Technology Stack¶
Client: Alpine.js with @alpinejs/persist for localStorage. CSS View Transitions for smooth page navigation.
Server: Bun for local dev, Cloudflare Pages for production hosting, Cloudflare D1 for sync storage.
Build: Bun's HTML imports automatically bundle TypeScript and CSS. No webpack or vite needed.
Architecture Overview¶
graph TB
subgraph Client ["Client (Browser)"]
Store[Alpine.js Store]
Crypto[Web Crypto API]
Storage[localStorage]
end
subgraph Server ["Cloudflare Pages"]
API["/api/* Functions"]
end
subgraph DB ["Cloudflare D1"]
Profiles[(profiles)]
Diffs[(diffs)]
Stars[(stars)]
end
Store <--> Crypto
Store <--> Storage
Store <--> API
API <--> Profiles
API <--> Diffs
API <--> Stars