Built a native macOS app to manage local dev stacks (and expose them over MCP)

Built a native macOS app to manage local dev stacks (and expose them over MCP)

I’ve been building a macOS app called Stacksmith, mostly because I got tired of juggling a growing collection of local services across terminal windows.

Some projects end up needing an API, frontend, queue workers, tunnels, databases, Redis, MCP servers… and remembering what needs starting (and in what order) gets old.

Stacksmith lets you describe your local stack in a .stacksmith.yml file and gives you a native control centre for it.

Features so far:
- Start and stop your entire stack
- Live logs for individual services or everything together
- Health checks and dependency visualisation
- Port conflict detection
- Diagnosis of common startup issues using Apple’s on-device Foundation Models
- Built-in MCP server, so AI assistants can inspect and control your running stack

It’s aimed at people running services natively, not replacing Docker Compose if you’re already containerised.

I’m looking for beta testers to tell me what’s missing before I launch it properly.

Website: https://getstacksmith.app

Happy to answer questions or send out beta codes if anyone fancies trying it.

u/jonnothebonno — 7 days ago
▲ 2 r/SoftwareandApps+2 crossposts

I built a macOS app to manage local development stacks (looking for beta testers)

Hey all,

I have a tool you might be interested in, it's something I've been working on for a while and it's almost ready for prime time.

Tiny backstory as to why this tool exists which some of you might relate to...

So, I got tired of trying to remember the exact order to start my local development environment.

Some projects needed the API first, then Redis, then workers, then a frontend, then a tunnel. When something failed, I ended up jumping between half a dozen terminal tabs trying to figure out what had actually gone wrong.

So I built Stacksmith.

Instead of just launching processes, Stacksmith acts as a control panel for your local development stack. You describe your services in a simple .stacksmith.yml file, and it manages them from a native macOS app.

Current features include:

  • Start and stop your entire stack together
  • Live logs for individual services or the whole stack
  • Health checks with overall stack status
  • Service dependencies and startup ordering
  • Port conflict detection
  • Diagnosis of common startup problems using Apple’s on-device Foundation Models
  • Built-in MCP server, allowing AI assistants to inspect and control your local development stack
  • Uses Apple's Foundation framework (local ai) to help diagnose issues, this is all private, and everything stays on your machine. _You must have the fairly modern machine to use this feature though_.

I’m not trying to replace terminal first tools like Foreman or Overmind they’re great. Stacksmith is aimed at developers who want better visibility into what’s happening after the processes start, especially when something goes wrong.

It’s currently macOS only, although I’d love to support Linux if there’s enough interest (maybe even windows) the core is built using Swift and is platform agnostic so portability shouldn't be a problem.

Website: https://getstacksmith.app

I’m looking for feedback on:

  • Does the YAML model make sense?
  • What information do you wish you had when your local stack breaks?
  • Does the UI make it obvious what’s happening?
  • What’s missing from your workflow?

The app will eventually be paid, but beta testers get free access.

If you’d like to try it, send me a DM and I’ll send over a code.

reddit.com
u/jonnothebonno — 7 days ago

Stacksmith - run your whole local dev stack from one YAML file (macOS).

So every time I spun up my local dev environment it was the same ritual: a terminal tab for the API, one for the worker, one for the migration, one for an ngrok tunnel, oh and one for Stripe testing, all started by hand in the right order. Then something would fail and I'd go digging through scrolled-off logs to work out which thing broke and why.

So I built Stacksmith, a native macOS app that runs your whole local stack from a single .stacksmith.yml file.

You describe your stack once:

  • apps (long-running services with ports and health checks)
  • workers (background processes)
  • jobs (one-shot commands like migrations)
  • tunnels (ngrok and friends)

Then hit Start All, and it brings everything up in dependency order, waits for health checks, and keeps live logs, readiness, and status tied to each component.

A few things I'm proud of:

  • Dependency-aware startup. "Start the worker once the API is healthy" just works.
  • Role-aware diagnosis. When something fails it tells you what broke, what it's blocking, and the next action (e.g. "port 8080 already in use, release it and restart API"), instead of leaving you to read logs.
  • On-device AI incident briefs. It can explain a failure in plain language using Apple's on-device model. No cloud, no API keys, nothing leaves your Mac.
  • MCP server, so you can drive it from Claude/Codex if you're into that.

What I'm looking for: beta testers who run a multi-process local stack (Rust, Node, Go, Postgres, whatever) and would tell me honestly where it's confusing or where it breaks. It'll be a paid app eventually, but it's completely free for anyone who helps test.

It's macOS only and currently needs macOS 26 + Apple silicon (the on-device AI piece leans on the newest APIs).

For more info check out https://getstacksmith.app

Thanks 🙏

i.redd.it
u/jonnothebonno — 8 days ago

I built a macOS app for running local dev stacks from one YAML file and looking for beta testers

Hey all.

Every time I spun up my local dev environment it was the same ritual: one terminal tab for the API, one for the worker, one for the migration, one for an ngrok tunnel, all started by hand in the right order. Then something would die and I'd go digging through scrolled-off logs to figure out which thing broke and why.

So I built Stacksmith, a native macOS app that runs your whole local stack from a single .stacksmith.yml file.

You describe your stack once:

  • apps (long-running services with ports and health checks)
  • workers (background processes)
  • jobs (one-shot commands like migrations)
  • tunnels (ngrok and friends)

Then hit Start All, and it brings everything up in dependency order, waits for health checks, and keeps live logs, readiness, and status tied to each component.

A few things I'm proud of:

  • Dependency-aware startup. "Start the worker once the API is healthy" just works.
  • Role-aware diagnosis. When something fails it tells you what broke, what it's blocking, and the next action (e.g. "port 8080 already in use, release it and restart API"), instead of leaving you to read logs.
  • On-device AI incident briefs. It can explain a failure in plain language using Apple's on-device model. No cloud, no API keys, nothing leaves your Mac.
  • MCP server, so you can drive it from Claude/Codex if you're into that.

What I'm looking for: beta testers who run a multi-process local stack (Rust, Node, Go, Postgres, whatever) and would tell me honestly where it's confusing or where it breaks.

A couple of other notes:

  • It's macOS only, and currently needs macOS 26 + Apple silicon (the on-device AI piece leans on the newest APIs).
  • It'll be a one-time purchase (~£19.99), I will offer a trial. It's not a subscription.

Site / more detail: getstacksmith.app

I know other tools like this exist, but they're mostly TUI and don't offer what I want in a tool like this. Also I took the opportunity to try and build something fairy complex.

I'll be more than happy to go over some of the guts of it in more detail, for those curious the UI layer is a think wrapper on a core, so in the future it can easily be ported to other platforms (or could even be made into a TUI).

Anyone who helps beta test it will get a free license key, just drop me a DM.

Thanks 🙏

u/jonnothebonno — 9 days ago
▲ 0 r/rails

I built a macOS app for running local dev stacks from one YAML

Hey all,

I’ve been building a macOS app called **Stacksmith**, and I’m looking for a handful of beta users to help me test it.

The idea is simple: instead of keeping a bunch of terminal tabs open for your API, frontend, workers, background jobs, tunnels, etc, you define your local stack in a `.stacksmith.yml` file and run it from one place.

It can currently:

* Start/stop multiple local processes together
* Show logs per component or across the whole stack
* Handle apps, workers, jobs, and tunnels separately
* Track basic health checks
* Show dependency state between components
* Help diagnose common local dev issues like ports being occupied, failed processes, unhealthy dependencies, etc. This uses Apple’s Foundation Models framework.

I built it because I kept ending up with messy terminal sessions and half remembered startup orders for one of my other apps (not rails 🙈🙊). I wanted something that felt closer to a small local “control plane” for development, but without needing Docker or a cloud service.

I’m fully aware there’s TUIs to solve this problem but I just wanted something a little more visual and native to Mac.

As mentioned it’s macOS-only for now, although I do plan on releasing a Linux version in the future if there’s demand.

Website: [https://getstacksmith.app\](https://getstacksmith.app/)

I’m mainly looking for feedback on:

* Whether the YAML model makes sense
* Whether it fits your actual local dev workflow
* What failure states / diagnosis would be most useful
* Whether the UI explains what’s happening clearly enough
* Anything that feels confusing, missing, or overbuilt

The app will eventually be paid, but I’m giving out 100% off codes for beta users.

Drop me a DM if you want to try it and I’ll send you a code.

And no it’s not ai slop, I have well over a decade and half of iOS/MacOS dev experience. (Website is though 🙊)

reddit.com
u/jonnothebonno — 9 days ago

I built a 3D word game entirely in SwiftUI using Canvas

Hello everyone 👋

I've been building a SwiftUI word game recently and one part of it uses the Canvas to render a pseudo 3D sphere of letters.

Each frame projects letter positions from 3D to 2D, sorts them by depth, then scales/fades them depending on their depth and front facing angle.

Honestly the rendering itself wasn't the hard bit 😅 The bigger challenge was keeping frame times low enough that dragging and inertial spinning still felt smooth on ProMotion displays.

I ended up:

• caching pre resolved letter glyphs so Canvas wasn't rebuilding text for every tile on every frame
• reusing the same array for per frame projected tile data instead of allocating a fresh one every frame.
• keeping it as a single Canvas instead of hundreds of SwiftUI views

Pretty happy with how smooth it feels now, hence why I wanted to share.

If anyone's experimenting with Canvas heavy stuff in SwiftUI I'm happy to share more details.

App Store: https://apps.apple.com/gb/app/word-sphere-3d-word-puzzle/id6770974968

TestFlight: https://testflight.apple.com/join/nstwGXKW

Few spots left on my TestFlight. The latest build includes the ability to level up.

u/jonnothebonno — 23 days ago

Join the Word Sphere: 3D Word Puzzle beta - TestFlight

Game Title: Word Sphere: 3D Word Puzzle

Playable Link: https://testflight.apple.com/join/nstwGXKW

Platform: iOS / iPhone (and MacOS, if you want)

Word Sphere is a word puzzle game built around a rotating 3D sphere of letters. Instead of searching a flat grid, you swipe across letters wrapped around the sphere to find words. The aim is to make word hunting feel more tactile and spatial, while still keeping the quick "one more round" feeling of a mobile word game.

I’m currently testing a new levelling system with up to 150 levels. I’d especially love feedback on how the progression feels: whether levelling up happens too quickly or too slowly, whether it feels satisfying, and whether the level system makes sense in the context of the game. I’m also interested in general feedback around readability, difficulty, controls, and whether the sphere mechanic stays fun after a few rounds.

I’m the solo developer of Word Sphere. I designed and built the game myself, including the gameplay, UI, 3D sphere interaction, scoring, progression system, and App Store release.

it’s built natively in SwiftUI using Canvas.

u/jonnothebonno — 24 days ago

Word Sphere: 3D Word Puzzle - feedback wanted on new levels system

I’m looking for a few TestFlight testers for Word Sphere, my iOS word puzzle game.

The game is built around a rotating 3D sphere of letters. You swipe across the board to find words, but because the letters wrap around a sphere, it feels a bit different to a normal flat word grid.

I’ve added a new levelling system with up to 150 levels, and I’m trying to tune the progression properly.

The main things I’d love feedback on are:

  • Does levelling up feel satisfying?
  • Does it happen too quickly or too slowly?
  • Does the level system make sense in the context of the game?
  • Does it give you a reason to play another round?

I’m not looking for polished marketing feedback, more does this actually feel good to play?

Happy to test other people's apps/games in return.

It’s built natively in SwiftUI using Canvas, which has been fun/painful in equal measure. The whole game is ~5mb

testflight.apple.com
u/jonnothebonno — 24 days ago

Built a tool because only one developer could receive webhooks at a time

At work we’d constantly run into this problem.

Stripe, GitHub and other providers only send webhooks to a single endpoint. If I was testing locally, someone else on the team couldn’t receive those events without changing the configuration.

We’d end up coordinating in Slack:

> "Can you switch the webhook back when you’re done?"

After getting annoyed by this for long enough, I built Tofu.

It sits between providers and your environments:

- One stable webhook URL
- Forward events to multiple developers simultaneously
- Inspect requests
- Replay historical events
- Forward to localhost, staging or wherever you need

The CLI is written in Rust and works on macOS, Linux and Windows.

I’m currently looking for beta testers. If you’re working with webhooks and want in, just sign up and I'll grant you beta access.

Whilst it was originally built to solve a team problem, I’ve found it really useful as a solo developer too. Having a stable webhook URL, event history and the ability to replay requests has saved me countless trips into Stripe/GitHub dashboards.

Website: https://trytofu.dev

u/jonnothebonno — 25 days ago
▲ 2 r/MobileGames+1 crossposts

I’ve just launched my indie iPhone game, Word Sphere.

It’s a word puzzle game where the board is wrapped around a rotating 3D sphere. You tap letters to build up words, but because the whole board curves and rotates, it has a slightly different feel to normal flat word games.

I built it in SwiftUI using Canvas (for any tech nerds out there), and I’ve just put it on a 99p launch sale for the week.

Would genuinely love feedback, especially on readability, difficulty, and whether the sphere mechanic feels fun or annoying after a few rounds.

App Store: https://apps.apple.com/us/app/word-sphere-3d-word-puzzle/id6770974968

Gameplay clip attached.

u/jonnothebonno — 28 days ago

What do you think of this twist on the traditional word search?

I’ve always enjoyed word searches and wanted to experiment with a different format.

Instead of a flat grid, I wrapped 256 letters around a sphere that you can rotate and explore from every angle while hunting for words.

I recently released it on iPhone and would genuinely love feedback from people who enjoy word games.

What do you think of the concept? Does it feel like something you’d want to play?

- and yes.. I’m terrible at my own game.

u/jonnothebonno — 1 month ago
▲ 14 r/SwiftUI

Rendering a pseudo 3D sphere with SwiftUI Canvas

Hello everyone 👋

I've been building a SwiftUI word game recently and one part of it uses the Canvas to render a pseudo 3D sphere of letters.

Each frame projects letter positions from 3D to 2D, sorts them by depth, then scales/fades them depending on their depth and front facing angle.

Honestly the rendering itself wasn't the hard bit 😅 The bigger challenge was keeping frame times low enough that dragging and inertial spinning still felt smooth on ProMotion displays.

I ended up:

  • caching pre resolved letter glyphs so Canvas wasn't rebuilding text for every tile on every frame
  • reusing the same array for per frame projected tile data instead of allocating a fresh one every frame.
  • keeping it as a single Canvas instead of hundreds of SwiftUI views

Pretty happy with how smooth it feels now, hence why I wanted to share.

If anyone's experimenting with Canvas heavy stuff in SwiftUI I'm happy to share more details.

https://reddit.com/link/1tq10qz/video/wxyd2umr7v3h1/player

reddit.com
u/jonnothebonno — 1 month ago