People love asking about other people’s setups. What apps do you use? What hardware? What is your workflow? I get it. I am the same way.
So here is mine. It is probably simpler than you expect.
The hardware
I work mainly from a MacBook Pro. I also have a PC, an iPad Pro, and an iPhone 17 Pro Max. The multiple devices are not vanity. I build software for iOS, macOS, and the web, so I need to test across platforms. The MacBook handles development. The iPad and iPhone handle testing. The PC handles anything Windows-specific.
What a day looks like
I start by working through emails and checking my personal dashboards for overnight updates on projects that were running while I slept. Some of my automations run continuously, so by morning there is usually a summary of what happened, what succeeded, and what needs attention.
Then I pick up wherever I left off. I keep conversations going across projects in Claude, so resuming is just scrolling back and continuing. Development happens. Clients get updates. New features get pushed live. Changes get deployed.
In the evenings I switch modes. Visit friends. Play games. Read articles. Study Egyptian hieroglyphics. Print 1980s spaceships on my 3D printer. Take my Dwarf3 telescope outside and photograph whatever is visible. Read books. The evenings are for the mind to wander.
The tools I actually use
Claude. Desktop and command line. This is the centre of everything. On the desktop app I brainstorm, plan, discuss architecture, work through problems. Claude knows my projects, knows how I think, and challenges my ideas in ways that are genuinely useful. When I am ready to build I switch to Claude Code on the command line and that is where the actual development happens. I rarely open an IDE anymore.
GhostTTy. My terminal. Where Claude Code runs. Where I live most of the working day. Clean, fast, does not get in the way.
ChatGPT. I use this for specific research questions, second opinions, and as a cross-check. If I build something with Claude I will sometimes have ChatGPT review it for security holes or SEO issues or blind spots. Using one AI to check another is a habit I picked up early. It catches things.
Xcode. For deploying, testing, and configuring iOS and macOS apps. I do not write much code directly in Xcode anymore but it is still essential for the build and deploy pipeline and for testing on devices.
Photoshop. I have used Photoshop since it first came out. For layout work, applying text to images, creating professional marketing materials, it is still my go-to. I have started using tools like NanaBananaPro for AI image generation but for precise image manipulation and compositing nothing beats Photoshop. Not yet anyway.
DaVinci Resolve. Video production, colour grading, editing. I have a background in film and I still do video work for clients, including editing showreels for actors. Resolve is staggeringly powerful for a free tool.
Where things get deployed
For basic sites, including my own, I use SiteGround. Quick, reliable, no fuss.
When a site needs a database, user authentication, payment processing, or anything more complex, I build with modern frameworks and deploy to Vercel with Supabase as the backend. In the old days I would have done this in WordPress with PHP and MySQL. The modern stack is faster, more secure, integrates better with AI and other services, and I spend less time fighting with it.
For automation workflows I self-host n8n on a VPS with Docker. It connects to everything and handles the orchestration for all the automated processes I build for myself and for clients.
What is missing
No project management tool. No CRM. No time tracker. No Notion. No Todoist. No Trello. No Asana.
I know. Everyone uses something. I do not.
I keep notes in Apple Notes. I set calendar appointments to remind myself of things. That is it. I have tried the productivity apps. Notion was too much. Trello felt like busywork. Every tool I tried added a layer between me and the actual work.
I do not want to turn my projects into checkboxes in an application. I want to be hands-on and fully understand what I am building as I am building it. The moment I start managing a tool that manages my work, I have added overhead without adding output.
I am old school about this. I have a mental picture of where I am at with each project. If something is important enough to track it is important enough to remember. If it is not, it goes in a note.
How the stack has changed
A couple of years ago my stack looked very different. I was using Flutter for cross-platform mobile development and VS Code for writing code. That worked for a while. Flutter let me build for iOS and Android from a single codebase.
But then Claude Code came along and I realised I could develop directly in the terminal without needing an IDE. And I realised Flutter could not match what Swift and SwiftUI can do natively for the Apple ecosystem. Native means you get everything Apple offers. Liquid Glass, the latest APIs, hardware features, all the things that make an iPhone app feel like an iPhone app rather than a cross-platform compromise.
So I dropped Flutter. Dropped VS Code. Now I develop in the terminal with Claude Code, deploy through Xcode for Apple platforms, and use web frameworks for everything else. The stack got simpler and the output got better.
If you are starting from scratch
If someone told me they were starting a one-person consultancy tomorrow, I would want to know their technical level first. But generally:
Get comfortable with at least one AI tool. Claude or ChatGPT, does not matter. Understand what it can do and where its limits are. Use it as a development partner, not just a question-answering machine.
Learn to build and deploy a simple application. Even just a static website. Understand the code it generates. Know what languages and frameworks it is using and why. Be able to read the output, spot problems, ask intelligent follow-up questions.
Use one AI to check another. Build with Claude, have ChatGPT review it for security. And vice versa. This catches a surprising amount.
Understand security basics. Cross-site scripting. SQL injection. API key management. GDPR. You do not need to be an expert but you need to know enough to ask the right questions and verify the answers.
Be a companion to the AI, not a passenger. Challenge it. Question its decisions. Run security audits. Ask it to explain its choices. The people who get the best results treat AI as a very capable colleague who still needs oversight.
And keep your stack simple. You can always add tools later. You can never easily remove them.