# My Digital Workshop ![[my-digital-workshop-hero.png]] *The tools behind my work in technology, writing, ministry, and service* Every craftsperson eventually develops a relationship with a particular set of tools. Some are adopted enthusiastically and then abandoned a few weeks later. Others survive years of changing tastes, new competitors, and evolving responsibilities. The tools that remain are rarely the most fashionable. They remain because they are dependable, because they fit the hand, and because they make the work easier to begin. My own work crosses several worlds. I am a retired pastor and a technology consultant. I run [Tech Pastor Solutions](https://techpastorsolutions.com/), work as an embedded contractor with a software development firm, serve as an Information Systems Officer in the U.S. Coast Guard Auxiliary, and maintain an Obsidian vault containing more than 15,000 notes. On any given day I may move from troubleshooting a client’s computer to writing Python, reviewing a Git repository, studying theology, preparing documentation, tracking a Coast Guard responsibility, or drafting an essay for the web. For years I thought of the applications involved in this work as my “daily drivers.” That description was accurate, but incomplete. A list of daily drivers sounds like a catalog of products. What I have actually built is a digital workshop: a working environment arranged around the way I think, write, develop, communicate, and serve. The workshop metaphor also guards against a common temptation in technology. A workshop is not a showroom. Its purpose is not to display the newest or most impressive equipment. A good workshop contains the right tools, placed where they are needed, maintained well enough to be trusted, and organized so that attention can remain on the work. My digital workshop is increasingly keyboard-driven, grounded in plain text, and comfortable at the command line. It also depends on thoughtfully chosen graphical applications for scheduling, communication, security, and the ordinary administration of life. What follows is not simply a list of software. It is a tour of the environment in which my daily work takes place. ## The Center of the Workshop: Knowledge and Writing Ideas are the raw material of much of my work. They arrive as fragments: a sentence from a book, an observation during a meeting, a question about Scripture, a technical problem, a possible article, or something that needs to be remembered later. The first part of the workshop is therefore designed to capture ideas quickly and then give them a durable home. ### Drafts [Drafts](https://getdrafts.com/) is where text begins. It opens quickly on both Mac and iOS, gives me an immediate blank page, and postpones the question of where the text ultimately belongs. Quick notes, meeting observations, incomplete ideas, and things I may need to act on can all enter through the same door. The important thing is that Drafts is an inbox, not an archive. Material enters, waits to be processed, and then moves somewhere more permanent. A paragraph may go to Obsidian, an action may become a task in Todoist, a message may become an email, and something that no longer matters may simply be discarded. This distinction keeps capture easy without allowing another permanent store of unorganized information to develop. Drafts also supports a JavaScript-based action system, which allows captured text to be transformed and routed into other parts of the workshop. That automation is useful, but the deeper value is simpler: when an idea appears, I have a trusted place to put it before it disappears. ### Tot [Tot](https://tot.rocks/) occupies an even smaller niche. It provides seven compact, color-coded scratchpads that are always nearby. I use it for information that matters now but probably will not matter for long: a URL I am about to use, a temporary list, a number I need to keep visible, a short passage I am moving between applications, or a running word count. Tot is the digital equivalent of a sticky note attached to the edge of a monitor. It does not need folders, tags, backlinks, or a larger philosophy. Its usefulness comes from its limits. ### Obsidian [Obsidian](https://obsidian.md/) is the center of gravity for everything I do. It is where temporary text becomes durable knowledge. Its foundation is refreshingly ordinary: local Markdown files stored on my own device. There is no proprietary database standing between me and my writing. The notes remain readable, searchable, portable, and available to other tools. My vault contains more than 15,000 notes spanning theology, technology, productivity, Coast Guard procedures, sermon preparation, client work, software projects, reference material, and daily reflection. Folders provide broad structure, while links, backlinks, and tags reveal relationships that a folder hierarchy alone cannot express. The Dataview plugin lets me query collections of notes almost like a database, and Templater automates the creation of recurring note types. Obsidian is not merely where I store information. It is where ideas develop. A brief note can collect links and quotations, connect with earlier thinking, become an outline, and eventually grow into an essay. This site is itself published from Obsidian, which means the path from private thought to public writing remains unusually direct. The same Markdown file that begins in my vault can become a page on the web without first being translated into a separate content-management system. No other tool I have used combines local ownership, plain text, linking, extensibility, and speed in quite the same way. Obsidian earns the central position because it does not insist on owning the material it helps me organize. ### Anybox [Anybox](https://anybox.app/) holds material that should remain a link rather than become a note. Browser bookmarks tend to disappear into deep folder structures and are rarely seen again. Anybox provides tags, folders, full-text search, smart lists, and system-wide ways to save a link from almost any application. I use it for documentation, client resources, reference sites, and articles I expect to revisit. When a link needs interpretation or commentary, it belongs in Obsidian. When the link itself is the thing I need to preserve, Anybox is usually the better home. ## The Writing and Editing Bench Once material has been captured and organized, it has to be shaped. Different kinds of text call for different editing environments. I have resisted the idea that one editor must be forced into every role. Instead, the workshop includes several tools, each suited to a particular cognitive mode. ### TextExpander [TextExpander](https://textexpander.com/) turns short abbreviations into longer, reusable text. A few characters can insert an address, an email signature, a date, a block of Markdown, a standard client response, code boilerplate, or a passage used in pastoral work. I have accumulated hundreds of snippets, and the time saved by each small expansion compounds across the day. Its more advanced features—fill-in fields, optional sections, and scripted behavior—allow a snippet to act like a small template rather than a fixed block of text. TextExpander is valuable because it removes repetition without hiding what is being produced. I remain in control of the final text; the tool simply prevents me from typing the same foundations again and again. ### BBEdit [BBEdit](https://www.barebones.com/products/bbedit/) has been part of the Mac landscape since 1992, and its longevity is deserved. I use it for large text files, configuration files, regular-expression work, multi-file search and replacement, data cleanup, and situations in which I want a powerful graphical editor without opening a full development environment. Its handling of large files is particularly dependable. When I need to inspect a substantial log or perform a careful transformation across a directory, BBEdit is predictable and clear. It occupies a different mental space from Neovim: BBEdit is often where I go to see and manipulate text directly, while Neovim is where I settle in to build. ### Neovim [Neovim](https://neovim.io/) is my primary environment for programming and structured text. It inherits Vim’s modal, keyboard-driven approach, which has a deserved reputation for requiring patience at the beginning. Once its grammar becomes familiar, however, editing changes character. Instead of repeatedly reaching for menus or a mouse, I can operate on words, sentences, paragraphs, code blocks, and larger structures with a consistent language of movement and action. My Neovim configuration provides the capabilities of a modern development environment without sacrificing the responsiveness and composability that drew me to Vim in the first place. [lazy.nvim](https://lazy.folke.io/) manages plugins and keeps the configuration maintainable. [Telescope](https://github.com/nvim-telescope/telescope.nvim) provides fast fuzzy searching across files, buffers, help, project text, and command history. Language Server Protocol support supplies diagnostics, code navigation, refactoring, and language-aware assistance, particularly for Python development. [Treesitter](https://github.com/nvim-treesitter/nvim-treesitter) gives the editor a structural understanding of code rather than treating it merely as colored text. [blink.cmp](https://cmp.saghen.dev/) handles completion, while [LuaSnip](https://github.com/L3MON4D3/LuaSnip) supplies reusable snippets. Git integration makes changes, history, and repository context available without pulling me away from the file. The configuration itself is written in Lua and managed as part of my dotfiles, which makes it easier to understand, maintain, and reproduce. Neovim is not limited to code. I use it for Markdown authoring, technical documentation, configuration, and longer-form writing. Obsidian-aware plugins allow me to work with vault notes, links, and searches from inside the editor. This creates a valuable continuity: I can move from a Python project to its documentation, then into a related Obsidian note, while remaining within the same editing language. The configuration is substantial, but complexity is not the goal. Every plugin has to justify the attention and maintenance it requires. I am not trying to turn Neovim into a copy of every graphical integrated development environment. I am building an instrument that matches the way I work: fast, transparent, keyboard-centered, and adaptable. ## The Terminal: A Workshop Within the Workshop The terminal has become one of the primary entrances to my working environment. It is where I manage Git, run Python, connect to remote systems, inspect files, administer machines, and open Neovim. My terminal setup reflects a preference for focused tools that cooperate rather than a single application attempting to control the entire workflow. ### Ghostty [Ghostty](https://ghostty.org/) is my terminal emulator of choice. It is fast, native, visually polished, and intentionally focused. A terminal does not need to become a development platform of its own. It needs to render accurately, respond immediately, integrate well with the operating system, and provide a dependable window into the shell. Ghostty does those things and then gets out of the way. That restraint is part of its appeal. The intelligence of my command-line environment lives in the shell, the prompt, and the programs I choose to run. Whether I am opening a project, using Git, connecting through SSH, or spending an extended period in Neovim, Ghostty remains quick and unobtrusive. ### Oh My Zsh [Oh My Zsh](https://ohmyz.sh/) is the framework around my Zsh environment. It provides an orderly way to manage plugins, aliases, completions, and shell conveniences without letting the configuration dissolve into an unmaintainable collection of scripts. The real value of the shell is accumulated muscle memory. Frequent commands become shorter, navigation becomes more natural, and useful context appears without being requested. Shell customization can easily become a hobby in its own right, so I try to keep it purposeful. An addition should remove a recurring inconvenience, reveal useful information, or make the environment easier to maintain. ### The Tools Inside the Shell Several small command-line tools have become part of the daily experience: - [Starship](https://starship.rs/) provides the prompt. It shows useful context such as the current Git branch, repository state, active language environment, and command status without turning the prompt into a crowded dashboard. - [zoxide](https://github.com/ajeetdsouza/zoxide) learns the directories I use most often and lets me jump to them with only a few characters. It has largely replaced the mechanical process of typing long paths with `cd`. - [eza](https://eza.rocks/) is a modern replacement for `ls`, with clearer colors, useful metadata, icons, tree views, and Git awareness. - [bat](https://github.com/sharkdp/bat) improves the simple act of viewing a file by adding syntax highlighting, line numbers, and Git-aware context. - [fd](https://github.com/sharkdp/fd) provides a fast and friendly way to find files and directories, with sensible defaults and memorable syntax. - [ripgrep](https://github.com/BurntSushi/ripgrep), invoked as `rg`, searches the contents of code, notes, and configuration files with remarkable speed. In a collection of more than 15,000 notes, fast retrieval is not a luxury. - [fzf](https://junegunn.github.io/fzf/) adds interactive fuzzy selection to files, directories, command history, Git branches, and the output of other commands. These tools embody what I appreciate about the Unix tradition. Each does a particular job well. None needs to own the whole process. The shell allows them to be combined, and the result is greater than the sum of the individual utilities. ## Organizing Commitments and Attention A workshop needs more than tools for making things. It also needs a reliable way to remember commitments, schedule time, and understand where attention is going. These applications form the administrative system around the creative and technical work. ### Todoist [Todoist](https://todoist.com/) is my task management system. It holds projects, next actions, recurring responsibilities, and commitments across client work, Coast Guard duties, church responsibilities, household maintenance, and personal goals. Everything begins with capture and is then clarified into projects, sections, labels, priorities, and dates. Natural-language entry makes new tasks fast to create, and recurring tasks are flexible enough for routines that do not fit simple calendar repetition. Cross-platform reliability matters because a task system is useful only if it is available where commitments arise. Todoist is accessible on Mac, iPhone, iPad, and the web, and its integrations allow tasks to enter the system from other parts of the workshop. The real product of a task manager is trust. If I do not believe the system will show me the right responsibility at the right time, I will attempt to carry it mentally. That creates anxiety and weakens concentration. Todoist earns its place by serving as an external memory for commitments while leaving Obsidian free to remain a place for knowledge and thought. ### BusyCal [BusyCal](https://www.busymac.com/) is my calendar on Mac and iOS. It connects to Google Calendar while providing more flexible views and controls than the native Calendar application. I maintain several calendars representing personal life, household responsibilities, Coast Guard Auxiliary work, church activities, and appointments. The calendar answers a different question from the task manager. Todoist tells me what I have committed to do; BusyCal shows where time has already been claimed. Weather, moon phases, task visibility, and customizable views add useful context, but the fundamental value is the ability to understand the shape of a day or week before agreeing to place something else inside it. ### Raycast [Raycast](https://www.raycast.com/) is the control center that connects the larger workshop. It begins as an application launcher, but that description understates how thoroughly it reduces friction across macOS. A keyboard shortcut provides immediate access to applications, files, commands, calculations, searches, and frequently used actions. Clipboard history is indispensable. It recovers text copied earlier and eliminates much of the repetitive switching that fragments attention. Snippets provide immediate access to short pieces of reusable text, while Quicklinks turn frequently visited websites and searches into direct commands. Window management lets me arrange the workspace without reaching for the mouse, which is particularly helpful when I am moving among Obsidian, Ghostty, a browser, and reference material. Raycast also brings many small utilities into one consistent interface. I use it for calculations, unit conversions, file searches, and other brief actions that would otherwise require separate applications or browser tabs. The Todoist integration allows me to capture and review tasks without first leaving the context in which they occurred. Raycast AI is useful for brief questions and transformations; sustained work with artificial intelligence belongs in ChatGPT. What makes Raycast important is not a single feature but the way it shortens the distance between intention and action. Every unnecessary click is small, but dozens of such interruptions accumulate into a fragmented day. Raycast keeps the tools close without leaving them scattered across the bench. ### Toggl Track [Toggl Track](https://toggl.com/track/) records where working time actually goes. As a contractor, accurate tracking is part of billing and therefore not optional. Projects and client tags allow the timer to remain simple during the day while reports provide a trustworthy account later. Time tracking also exposes the difference between estimation and reality. A task that felt brief may have consumed an afternoon; another may have moved more quickly than expected. That information improves future planning and provides a useful check on the stories we tell ourselves about attention. ## Development and Version Control The shell and Neovim are central to development, but version control also benefits from tools that reveal history and structure visually. I am comfortable using Git from the command line, yet I do not believe every Git task must remain there. ### Tower [Tower](https://www.git-tower.com/mac) is my professional Git client on the Mac. It provides a clear visual representation of branches, commits, diffs, and repository history. It is particularly useful when reviewing changes, untangling a complicated branch structure, or resolving a merge conflict where a visual overview reduces cognitive load. Using Tower does not replace command-line Git. The two approaches complement one another. The shell is often the fastest place for direct operations, while Tower excels when the shape and history of the repository need to be understood. ### Working Copy [Working Copy](https://workingcopy.app/) brings a capable Git environment to iPhone and iPad. It supports SSH authentication, branches, commits, pushes, pulls, and integration with other iOS applications through the Files interface and Share Sheet. I use it to review code, make focused edits, and remain connected to repositories when I am away from the Mac. Combined with secure SSH key management through 1Password, it creates a practical cross-device Git workflow rather than a compromised mobile imitation. ## Artificial Intelligence as a Collaborator ### ChatGPT [ChatGPT](https://chatgpt.com/) has become one of the most frequently used tools in my workshop. I use it for software development, brainstorming, technical documentation, theological research, writing, editing, code review, image generation, and the exploration of unfamiliar ideas. It is useful at the beginning of a project, when a subject is still taking shape, and later, when a draft or implementation needs a critical second look. The best way to understand ChatGPT is not as a replacement for thought but as a conversational instrument for thinking. It can help me compare approaches, expose assumptions, generate better questions, explain unfamiliar code, suggest an outline, or identify weakness in an argument. The exchange is iterative. I remain responsible for accuracy, judgment, tone, and the final work, but I can often reach a clearer result more quickly because I am not working through every stage alone. In programming, ChatGPT helps me investigate libraries, diagnose problems, review code, generate tests, and improve documentation. In writing, it can test an outline, identify repetition, clarify an argument, or help transform a collection of notes into coherent prose. In theological and philosophical work, it is valuable for mapping a field of inquiry and revealing which questions deserve closer reading. Image generation adds another dimension by helping me create visual concepts for articles and presentations. Artificial intelligence has obvious limitations. It can be confidently wrong, flatten important distinctions, or produce polished language that conceals shallow thought. Those weaknesses make human judgment more important, not less. Used carelessly, AI can become a substitute for attention. Used thoughtfully, it can accelerate learning and widen the range of ideas one person is able to examine. ChatGPT belongs in the workshop because it is most useful as a collaborator at the bench. It can generate possibilities, but it cannot decide which possibilities deserve to be pursued. It can assist with the craft, but it cannot assume responsibility for the finished work. ## Communication: Choosing the Right Channel Communication tools are most effective when each has a clear role. I do not need every conversation to occur in one application, but I do need each channel to be dependable and appropriate to the people using it. ### Canary Mail [Canary Mail](https://canarymail.io/) is my email client on Mac and iOS, connected to Fastmail. It provides a focused interface, encryption support, and AI-assisted help with large threads without allowing those features to overwhelm the basic work of reading and responding. Integration with Todoist makes it possible to turn a message into an actionable commitment rather than leaving it buried in the inbox. Email is no longer the center of all communication, but it remains essential for client correspondence, Coast Guard communication, formal records, and church administration. Canary Mail gives that work a capable home. ### Signal [Signal](https://signal.org/) is my preferred channel for private communication with family and trusted contacts. Its end-to-end encryption and restrained design have made it the standard against which secure messaging applications are measured. The value is not novelty but confidence that a private conversation remains private. ### Slack [Slack](https://slack.com/) supports day-to-day coordination with my development team. Channels, direct messages, shared files, and integrations keep asynchronous work organized around projects rather than dispersed across unrelated email threads. Connections with Jira and Bitbucket help link conversation to the work being discussed. ### Zoom [Zoom](https://zoom.us/) handles video meetings, client calls, Coast Guard training, church coordination, and conversations with colleagues. It earns its place for the least romantic reason a tool can: it is widely available, familiar to participants, and generally works. ## Security and Credentials ### 1Password [1Password](https://1password.com/) is not an optional convenience. It is part of the security infrastructure of the entire workshop. It manages passwords, passkeys, SSH keys, API tokens, secure notes, and two-factor authentication codes across the services and devices I use. The SSH agent integration is especially valuable for development. Keys can remain protected inside 1Password while being made available to Git clients and terminal sessions when authorized. The command-line interface similarly allows scripts to retrieve secrets without placing credentials directly in configuration files. Good security should make the safe practice easier to follow consistently, and 1Password accomplishes that better than any improvised system could. ## The Quiet Utilities Some tools do not define the workshop, but they remove recurring annoyances and keep the environment orderly. Their value becomes visible mainly when they are absent. ### Parcel [Parcel](https://parcel.app/) consolidates package tracking from many carriers into a single interface. It is a small tool, but a useful one when equipment and supplies arrive regularly. Instead of searching through email for tracking numbers, I can see the state of expected deliveries in one place. ### Updater [Updater](https://updatest.app/) monitors applications for new versions, including software installed outside the Mac App Store. Keeping software current is basic security and maintenance. A centralized view reduces the friction and helps prevent neglected applications from quietly falling behind. ### Safari and Chrome [Safari](https://www.apple.com/safari/) is my primary browser. It is fast, efficient, and well integrated with the Apple ecosystem. [Chrome](https://www.google.com/chrome/) remains available for web-development testing and for the occasional application that behaves better in a Chromium-based browser. This is another place where the workshop benefits from refusing an unnecessary either-or choice. Safari is the better daily fit; Chrome is an important compatibility and testing tool. Each has a reason to be present. ## A Tool Still Being Evaluated ### Copilot Money [Copilot Money](https://copilot.money/) is an attempt to bring checking, savings, investments, credit cards, recurring charges, and other financial information into a single coherent view. Its automated categorization and polished native interface offer an appealing alternative to visiting several financial sites independently. Personal finance software must earn an unusual degree of trust. Accuracy, reliable account connections, useful reporting, and long-term value matter more than novelty. I continue to treat Copilot Money as provisional while I decide whether it deserves a permanent place in the workshop. ## How the Workshop Fits Together The coherence of this system becomes clearer in the movement between tools. An idea may begin in Drafts or appear briefly in Tot. If it deserves to endure, it moves into Obsidian, where it can be linked to related notes and developed over time. If the idea creates a commitment, the next action goes to Todoist. If it requires time on the calendar, BusyCal shows where that work can realistically fit. Raycast makes these systems immediately accessible and helps me arrange the applications involved. A development task may lead into Ghostty, where zoxide finds the project, ripgrep locates the relevant code, fzf narrows the choices, and Neovim opens the work itself. Tower provides a visual account of the repository when history or a complicated diff needs to be understood. Toggl records the time, and Working Copy keeps the repository available when I move to the iPad. ChatGPT may enter at several points: helping define the problem, explaining an unfamiliar approach, reviewing code, testing an outline, or challenging the clarity of a finished draft. The final writing returns to Obsidian, where it remains connected to the notes that produced it and can be published to the web. The flow is not perfectly linear, nor should it be. Creative and intellectual work rarely proceeds in a straight line. What matters is that each tool has a recognizable role. Drafts captures. Obsidian remembers. Todoist holds commitments. BusyCal protects time. Raycast reduces friction. Ghostty and the shell provide a flexible operating environment. Neovim is the craft bench. ChatGPT offers conversation and assistance. The remaining applications support communication, security, version control, and the administration around the work. ## The Principles Behind the Tools The applications will change. They already have. A durable digital workshop therefore needs principles that outlast any particular product. ### Plain Text Whenever Possible Plain text is durable, searchable, portable, and understandable by an enormous range of tools. Markdown provides enough structure for serious writing without sacrificing those qualities. This is why Obsidian and Neovim fit together so naturally and why command-line search remains useful across both notes and code. ### Keyboard First, Not Keyboard Only I prefer the keyboard because it preserves momentum. Raycast, Ghostty, the shell, and Neovim all reward consistent keyboard habits. This is not a rejection of graphical interfaces. Tower, BBEdit, BusyCal, and the other Mac applications remain valuable precisely because they make visual structure easier to understand. The goal is to use the best mode for the task while reducing needless movement between them. ### Focused Tools That Cooperate I am wary of software that wants to become the center of every activity. A focused tool is easier to understand, combine, and, when necessary, replace. Todoist does not need to become my knowledge base. Obsidian does not need to become my full task manager. Ghostty does not need to become my editor. Clear boundaries make cooperation possible. ### Ownership and Portability The longer I work with digital material, the more I value open and durable formats. A workshop should not disappear because a subscription ends or a company changes direction. No system is entirely independent, but local Markdown files, ordinary Git repositories, and widely supported formats reduce unnecessary dependence. ### Configuration Must Serve the Work Customization is useful when it eliminates a real source of friction. It becomes counterproductive when the system demands constant maintenance or turns every task into an opportunity to redesign the tools. The test is straightforward: does this change help me write, learn, develop, remember, communicate, or serve more effectively? If not, it may be decoration rather than improvement. ## Conclusion My digital workshop is not finished, and I do not expect it ever will be. Work changes, responsibilities change, and software changes. The goal is not to freeze the system but to keep it aligned with the life it is meant to support. What has become clear is that the best tools are not necessarily the most impressive ones. They are the tools that become trustworthy through repeated use. They preserve ideas, reduce friction, reveal context, protect commitments, and make difficult work a little easier to begin. They create an environment in which attention can remain on the client, the program, the essay, the sermon, the person, or the question in front of me. A good workshop does not do the work for the craftsperson. It makes good work more possible. That is what I want from technology: not an ever-growing collection of applications, but a coherent place to think, build, write, serve, and learn. *Last updated: July 2026* *Michael Wilson — [Tech Pastor Solutions](https://techpastorsolutions.com/)*