The @figma.com MCP server now supports a full roundtrip workflow from VS Code! Bring Figma designs into code, then capture your rendered UI back to the Figma canvas as editable frames.
Join us for a special livestream tomorrow at 9:30 am PT to see it live in action: youtube.com/live/O1i-Te7...
09.03.2026 19:52
π 16
π 3
π¬ 2
π 0
Published a new skill: prompt-review
It audits any prompt against Claude's official best practices - clarity, context, examples, structure. Outputs a scored review and a revised prompt. π₯
It's part of my collection of agentic coding tools. Open source. Ready to use now!
github.com/annjose/agen...
02.03.2026 00:45
π 2
π 0
π¬ 0
π 0
We often hear "AI is like a junior / intern" as if they're just eager but dumb. It always felt off coz juniors are usually smarter than we credit.
I like this framing in Claude docs:
> Think of Claude as a brilliant but new employee who lacks context on your norms and workflows
The model context π―
02.03.2026 00:04
π 1
π 0
π¬ 0
π 0
Played around with the new Nano Banana 2 and updated my avatar with an image it created.
I selected a pencil sketch theme, uploaded my color profile photo, and it generated this version. Pretty impressive.
blog.google/innovation-a...
26.02.2026 17:27
π 0
π 0
π¬ 0
π 0
Whenever I go to a web conference I like to see who begins eating their complimentary lunch first.
I call this time to first bite.
24.02.2026 16:39
π 68
π 3
π¬ 5
π 2
NanoClaw github.com/qwibitai/nan...
24.02.2026 23:40
π 1
π 0
π¬ 0
π 0
Ideas were cheap. Not anymore.π₯
Coding agents have made it ridiculously easy to start building on any idea, reduced the friction to write code, super easy update it. You can bring ideas to life easier and faster than ever before.πͺ
So the most valuable asset is the idea. What a time to be alive!
21.02.2026 16:22
π 0
π 0
π¬ 0
π 0
I found pi to be pretty good. It built a Readwise cline using Codex - fully functional. It is transparent about token usage in every request. I also like its explanations in the 'thinking' mode. My only worry is that it runs in YOLO mode. In one instance, it rewrote git commit history to fix a bug.π₯
20.02.2026 00:17
π 1
π 0
π¬ 1
π 0
Here's my full analysis:
---
1. Project Understanding
1.1 Purpose, Architecture, Major Features
Purpose: Canopy is a self-hosted read-it-later and knowledge management app (a personal Readwise Reader clone). It's a single-user
app for ann.jose@gmail.com, deployed entirely on Cloudflare infrastructure at canopy.annjose.com.
Architecture:
- Monorepo β pnpm workspaces + Turborepo with two active packages:
- @canopy/web (apps/web) β Next.js 15 App Router, the entire app
- @canopy/shared (packages/shared) β shared types & constants
- Runtime β Cloudflare Workers via opennextjs-cloudflare adapter
- Database β Cloudflare D1 (SQLite), 3 migrations applied (documents, tags/notes/highlights, feeds)
- Storage β Cloudflare R2 for article HTML, thumbnails, future EPUB/PDF originals
- Auth β Cloudflare Access (Zero Trust JWT verification, bypassed on localhost)
- State management β SWR for server data, React Context (AppShellContext) for UI state (theme, panel visibility, dialogs, selected
document)
- UI β Three-panel layout (sidebar 240px | main flex | right panel 320px), responsive down to mobile with Sheet overlays. shadcn/ui
primitives (Dialog, Command, Toast), Lucide icons, Tailwind CSS v4.
Major implemented features:
- Save articles by URL with content extraction (Mozilla Readability + linkedom)
- Three-panel layout: sidebar navigation, document list with status tabs (inbox/reading/later/archive), right panel (Info + Notebook
tabs)
- Clean reader view with font size controls, ToC, reading progress persistence, prev/next navigation
- Vim-style keyboard shortcuts (single-key + chord bindings like g h) with help modal
- RSS feeds: subscribe by URL (with auto-discovery), feed polling, OPML import, folder grouping, edit/delete feeds, mark-all-read,
feed titles on document rows
- Dark mode / light mode toggle
- Mobile responsive layout with drawer panels
2. Files Used
Context-provided (from system/CLAUDE.md)
- /Users/ann/dev/canopy-reader/CLAUDE.md
Explicitly read
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββ
β File β How β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββ€
β AGENTS.md β Direct Read β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββ€
β docs/plans/phase-1-progress.md β Direct Read β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββ€
β docs/canopy-spec.md β Direct Read β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββ€
β Root directory listing (ls -la) β Bash
Output from Claude with Opus - it listed CLAUDE.md and showed the files along with the tools it used - 'Explore agent' vs Read vs Bash tools.
Total: ~65 source files read across 3 parallel exploration agents + 4 direct reads.
β» Cooked for 4m 40s
17.02.2026 16:14
π 3
π 0
π¬ 0
π 0
1. Project Understanding
### 1.1 Purpose, Architecture, Major Features
Canopy is a self-hosted read-it-later and knowledge management app (a Readwise Reader
alternative) for a single user (ann.jose@gmail.com), deployed at canopy.annjose.com.
Architecture:
- Monorepo (pnpm workspaces + Turborepo) with two active packages: @canopy/web (Next.js 15 App
Router) and @canopy/shared (types/constants)
- Backend: Next.js API routes running on Cloudflare Workers via opennextjs-cloudflare
- Database: Cloudflare D1 (SQLite) with 3 migration files
- Storage: Cloudflare R2 for article HTML, files, thumbnails
- Auth: Cloudflare Access (Zero Trust, single user)
- Client state: SWR for data fetching
- UI: Tailwind CSS v4 + shadcn/ui primitives + Radix + Lucide icons
Major features implemented:
- Save articles by URL with content extraction (Mozilla Readability + linkedom)
- Three-panel layout (sidebar / document list / right panel) Γ la Readwise Reader
- Document lifecycle: Inbox β Reading β Later β Archive, plus favorites + soft-delete trash
- Clean reader view with ToC, font size, progress tracking, prev/next navigation
- Tags: create/rename/merge/delete, per-document tagging, filter by tag
- Highlights: text selection in reader β colored highlights, inline rendering, notes on
highlights
- Document notes: one freeform note per document
- Notebook panel: unified view of tags + note + highlights with markdown export
- RSS feeds: subscribe, auto-discover, poll, OPML import, folder grouping, mark-all-read
- Vim-style keyboard shortcuts throughout + help modal
- Command palette search
- Dark mode
- Mobile responsive layout
### 1.2 Current Implementation Progress
### 1.3 Interesting Findings, Risks, Inconsistencies & Notes
1. Spec inconsistency: canopy-spec.md mentions the Cloudflare adapter as
@cloudflare/next-on-pages or opennextjs-cloudflare, but the project rules and actual
implementation use opennextjs-cloudflare exclusively. The spec hasn't been updated to remove the
old reference.
2. No tests: The repo has zero test files. The repo-structure doc says "testing will be added in
a dedicated pass" but this hasn't happened after 3 phases. As features accumulate, retroactive
test coverage becomes harder.
3. No automated cron for RSS: Feed polling is API-route-based only (POST /api/feeds/poll). The
cron trigger in wrangler.toml is commented out. Feeds must be polled manually or via an external
trigger β there's no automatic background polling yet.
4. Known bugs tracked in phase-last-defer.md: The Save button doesn't work in reader view, and
there's a wishlist item for default images when no OG image exists.
5. Local D1 data exists: The .wrangler/state/ directory has a SQLite database and ~24 R2 blobs,
indicating active local development/testing with real content.
6. Tag slug vs. name duality: Tags store both a display name (freeform) and a slug (kebab-case
for URLs). This is a thoughtful decision but adds complexity β the spec originally said tags are
just kebab-case name, so this evolved during implementation.
### 1.4 Assumptions I Made
- I assumed the .next/ and .open-next/ directories are gitignored (they're build artifacts); I
didn't verify by reading .gitignore.
- I assumed pnpm build and pnpm typecheck currently pass, based on the progress docs saying Phase
3 is complete with a production build verified.
- I did not read individual source files (components, API routes, lib modules) β my assessment of
feature completeness is based solely on the progress tracking docs, file listing, and spec. The
actual implementation quality/correctness is unverified.
2. Files Read
### [context-provided]
These were injected into my system prompt/context automatically:
- AGENTS.md (project context / rules β provided as system instructions)
### [explicitly-read]
Files I actively read using the read tool or bash:
1. docs/canopy-spec.md β full product specification
2. docs/repo-structure.md β monorepo layout and conventions
3. docs/plans/phase-1-progress.md β Phase 1 implementation status
4. docs/plans/phase-2-progress.md β Phase 2 implementation status
5. docs/plans/phase-3-rss-feeds.md β Phase 3 plan + progress (combined)
6. docs/plans/phase-last-defer.md β deferred items / known bugs
7. docs/decisions.md β design decisions log
8. packages/shared/src/types.ts β shared TypeScript types
9. apps/web/wrangler.toml (first 30 lines) β Cloudflare bindings config
10. apps/web/package.json (first 30 lines) β dependencies and scripts
I also ran find commands to get the full file tree.
### [did NOT read]
- All source code files in apps/web/src/ (~50+ files): components, hooks, lib modules, API
routes, pages, CSS
- docs/plans/phase-1-foundation.md and docs/plans/phase-2-tags-highlight.md (detailed plans β I
read the progress files instead)
- docs/schema.sql (full SQL reference schema)
- migrations/*.sql (individual migration files)
- scripts/migrate.sh
- Config files: turbo.json, root package.json, root tsconfig.json, pnpm-workspace.yaml,
apps/web/tsconfig.json, apps/web/next.config.ts, apps/web/tailwind.config.ts,
apps/web/open-next.config.ts, apps/web/postcss.config.mjs, apps/web/env.d.ts,
apps/web/components.json
- packages/shared/src/constants.ts, packages/shared/src/index.ts
- README.md
- .claude/settings.local.json
- All build output in .next/, .open-next/, .turbo/, .wrangler/
Output from pi with Opus - this was the best so far.
17.02.2026 16:14
π 4
π 0
π¬ 3
π 0
This is a
This is a . GitHub Gist: instantly share code, notes, and snippets.
A prompt to get an overview of a codebase makes the agent list the files they actually read vs. what was in context.
In my exploration so far, this is the version works that gives meaningful info without burning too many tokens.
gist.github.com/annjose/bc26...
pi and Claude output below:
17.02.2026 16:14
π 3
π 0
π¬ 1
π 0
things you can do while waiting for the agent to implement what you asked for:
1. stretch back and legs
2. 10 squats, 10 push-ups, 10 lunges
3. drink water
4. walk around
5. read
6. maybe color, knit??
Now I can do what I have been trying (and failing) to do - take breaks between coding sessions!
16.02.2026 18:34
π 0
π 0
π¬ 0
π 0
Current coding workflow with 4 terminal windows:
#1: pi coding agent with Codex for most coding tasks
#2: Claude Code with Opus for big features that need detailed plan
#3: OpenCode with Kimi 2.5 Free - ask trivial questions, brainstorm small ideas
#4: Runs commands build, deploy
So far, so good!π
16.02.2026 07:34
π 0
π 0
π¬ 0
π 0
GitHub - annjose/agentic-coding: A repository to collect good specs, plans, AGENTS files and share with people
A repository to collect good specs, plans, AGENTS files and share with people - annjose/agentic-coding
I have been revamping many of my projects with agentic coding. I kept using the same prompts to scan repos, prep them and generate docs for agents.
So I packaged that workflow into a new skill: agentify-repo
You can run it from any repo. Added a few plans and specs too!
github.com/annjose/agen...
15.02.2026 20:12
π 0
π 0
π¬ 2
π 0
I Improved 15 LLMs at Coding in One Afternoon. Only the Harness Changed.
Cross-posted from X / @_can1357 In fact only the edit tool changed. Thatβs it.
0x0: The Wrong Question The conversation right now is almost entirely about β¦
I had the hypothesis that harness is (as or) more important than the model, but couldn't prove it. Here is the proof!
An excellent article. Must read.
> The model is the moat. The harness is the bridge. Burning bridges just means fewer people bother to cross.
blog.can.ac/2026/02/12/t...
12.02.2026 16:50
π 0
π 0
π¬ 0
π 0
This is great! I was reading through the docs yesterday (the older version) and it was hard to understand. The relation between publication and document itself was confusing.
The new docs looks clean, simple and expand these concepts really well. Thank you!
11.02.2026 05:26
π 3
π 0
π¬ 0
π 0
We are still there in the Show HN main page - after 9 hrs of posting! π₯
cc @georgeck.me !
news.ycombinator.com/show
11.02.2026 01:59
π 0
π 0
π¬ 0
π 0
Awesome! Looks like this is a pattern as more apps are becoming scriptable. Coding agents are driving this trend, perhaps.
10.02.2026 20:42
π 0
π 0
π¬ 0
π 0
Show | Hacker News
We hit the HN home page for some time! π
And we are still there on the Show HN main page. Hope it stays there till more people see it π₯.
news.ycombinator.com/show
10.02.2026 20:00
π 1
π 0
π¬ 0
π 1
Ask HN: What are you working on? (February 2026) | HN Companion
304 points by david927 | 656 comments | HN Companion AI summary
We launched HN Companion hncompanion.com, the standalone version of the browser extension that
@georgeck.me and I built a year ago π.
Read HN better with Vim keys and HN-aware summaries that understand thread hierarchy and up/down votes.
Here is a sample post: app.hncompanion.com/item?id=4693...
10.02.2026 19:55
π 1
π 1
π¬ 1
π 0
Here is a spec that follows the suggestions in the post:
github.com/annjose/agen...
09.02.2026 20:00
π 1
π 0
π¬ 0
π 0
Here is a spec that follows the suggestions in the post. Walk the talk, right?
github.com/annjose/agen...
09.02.2026 19:59
π 0
π 0
π¬ 0
π 0
Usually we say...
Trust, but verify
Now with coding agents, we say...
Steer, but verify
09.02.2026 18:25
π 0
π 0
π¬ 0
π 0
Agentic Coding In Practice Β· Reflections
How I build features with AI agents after two years of agentic coding
Wrote a post on what I learned from doing agentic coding.
Not a playbook. Not "best practices".
Just what's helping me build things right now - after shipping apps like HN Companion, Pomodoro Flow, Beast Mode workout tracker.π
Hope it helps you too. LearnπTeachπ Learn
annjose.com/post/agent-c...
09.02.2026 00:28
π 2
π 1
π¬ 2
π 1
It has been a while since I wrote about agents, so here are my latest thoughts. I have a lot less time than I did eight months ago, so this is far more informal. crawshaw.io/blog/eight-m...
07.02.2026 19:23
π 26
π 4
π¬ 2
π 1
Wow! Fascinated by the concept of Digital Twins - test the heck out of your apps by building clones of critical Saas dependencies. No rate limit issues. π―
This spec in Attractor repo is mind blowing. 2000 lines of just spec - no code - to build unified API for all LLMs.π₯
github.com/strongdm/att...
07.02.2026 16:47
π 4
π 0
π¬ 1
π 0
Ann Learning
A small corner of the ATmosphere where I jot down what I learn every hour / day / week.
Published a new blog in the ATmosphere - pckt.blog/b/ann-learning. I want this to be casual than the main blog annjose.com.
Share anything that I learn, whatever comes to mind.
The first post:
Run Claude and OpenCode with Qwen3-Coder
pckt.blog/b/ann-learni...
07.02.2026 02:26
π 1
π 0
π¬ 0
π 0
You can do the same with OpenCode opencode.ai too.
1. Create ollama API key ollama.com/settings/keys
2. Launch OpenCode
3. Run `/connect`, choose Ollama Cloud provider
4. Choose any model, eg: qwen3-coder:480b
5. Code away! π₯
It did well in basic coding. Want to try using this for smaller tasks.
07.02.2026 01:57
π 1
π 0
π¬ 0
π 0