written by Eric J. Ma on 2025-12-31 | tags: ai llm opencode claude visualization tools productivity
I built Canvas Chat, a visual interface for nonlinear LLM conversations, over Christmas break using OpenCode and Claude Opus 4.5. The tool solves a specific job: thinking through complex problems where exploration branches in multiple directions. Features include branching conversations, highlight-and-branch, multi-select merge for synthesis, matrix evaluation, and integrated web search. It's open source and runs on Modal.
Read on... (1493 words, approximately 8 minutes reading time)written by Eric J. Ma on 2025-12-28 | tags: ai opencode claude automation workflow llm reasoning development review tools
In this blog post, I share how using OpenCode and Claude Opus 4.5 has transformed my approach from writing code to simply building—directing AI to create what I envision. I discuss how these tools handle everything from infrastructure to greenfield apps, and how reasoning traces have become more important than code review. I also reflect on unlearning old habits and embracing new possibilities as AI models improve. Curious how this shift could change your own workflow?
Read on... (1962 words, approximately 10 minutes reading time)written by Eric J. Ma on 2025-12-27 | tags: ai opencode claude tmux terminal creativity workflow pair-programming
I pair-programmed a tmux status bar theme with OpenCode and Claude, discovering along the way when to switch between Sonnet and Opus models. The real insight: AI enables creative expression by bridging the gap between aesthetic vision and technical implementation, letting me work like a designer even though I'm not one.
Read on... (1687 words, approximately 9 minutes reading time)written by Eric J. Ma on 2025-12-25 | tags: blogging retrospective coding agents llms bayesian biotech career writing marimo modal data science
Reflecting on my second year of weekly blogging, I published 50 posts in 2025, bringing my two-year total past 100. This year was dominated by coding agents and AI-assisted programming, with extensive writing on AGENTS.md, autonomous agents, and productive patterns for working with AI. I also explored Bayesian methods for biological applications, got excited about Marimo and Modal, and wrote about data science leadership and career development. Two years of consistent writing has reinforced that writing clarifies thinking, consistency compounds, and the best posts come from problems you're actively solving.
Read on... (5722 words, approximately 29 minutes reading time)written by Eric J. Ma on 2025-12-17 | tags: career growth work philosophy resilience reputation leadership mistakes success advice
In this post, I share a philosophy on career growth and resilience. Instead of doing the bare minimum or succumbing to frustration, I encourage you to view your work as a personal investment. By doing your best work for yourself, you build professional instincts, a strong reputation, and the character to handle both success and failure. Whether you're navigating a tough job market or rebounding from a mistake, the wealth you accumulate in skills and reputation is yours to keep forever. Ready to invest in yourself?
Read on... (1278 words, approximately 7 minutes reading time)written by Eric J. Ma on 2025-12-10 | tags: productivity documentation testing planning automation workflow agents ai tools development
In this blog post, I share the patterns that have made my experience with coding agents much more productive, from planning with AI and writing docs/tests first, to using AGENTS.md as a knowledge base and leveraging command line tools. I also discuss pacing your agent, letting it write temporary tools, and developing your own productivity boosters. Want to know how these strategies can make your agent-assisted programming smoother and more effective?
Read on... (846 words, approximately 5 minutes reading time)written by Eric J. Ma on 2025-12-02 | tags: statistics biotech reproducibility experiments research automation ai data open source bayesian
In this blog post, I share my journey building a domain-specific statistics agent to help researchers design better experiments, inspired by the challenges of limited access to statisticians in pharma and biotech. I discuss the pitfalls of "folk statistics," the importance of prompt engineering, and the lessons learned through iterative testing and refinement. Curious how an AI agent can elevate experimental design and what it takes to make it truly helpful?
Read on... (3741 words, approximately 19 minutes reading time)written by Eric J. Ma on 2025-11-17 | tags: automation coding agents workflows productivity ai filesystem reference workspaces shell
In this blog post, I share how coding agents like Cursor, GitHub Copilot, and Claude Code can access files across your entire file system—not just your current workspace. By simply referencing explicit file paths, you can pull code, documentation, or configs from any repository without complex workspace setups or copying files. I explain practical workflows and tips for cross-repository access, making coding and writing more seamless. Curious how this can simplify your development process and boost productivity?
Read on... (1340 words, approximately 7 minutes reading time)written by Eric J. Ma on 2025-11-16 | tags: llm graphs agents automation pocketflow llamabot python workflows abstractions state
In this blog post, I share how I discovered PocketFlow, a minimalist framework for building LLM-powered programs using graph-based flows instead of complex loops. By rethinking my approach, I replaced 307 lines of agent orchestration code with just 4 lines, making my agents more modular, clear, and easy to visualize. I walk through practical examples, show how to build and visualize agent architectures, and reflect on the benefits of graph-based thinking for LLM applications. Curious how this shift can simplify your own AI projects?
Read on... (4832 words, approximately 25 minutes reading time)written by Eric J. Ma on 2025-11-08 | tags: automation productivity coding agents safety workflow development prompting command line ai
In this blog post, I share practical strategies for letting coding agents work autonomously while minimizing risks, like setting intelligent boundaries for command approvals, using plan mode, and writing prescriptive prompts. I also discuss real-world lessons learned from agent mishaps and offer tips for managing multiple agents safely. Curious about how to empower your coding agents without losing control?
Read on... (1900 words, approximately 10 minutes reading time)