SwiftUI and MacBook Pro: The Revolution in Amateur Development
A MacBook Pro M5 to Explore SwiftUI
Recently, a user acquired a MacBook Pro M5 that has proven particularly effective for running local language models. Frustrated by the limitations of the built-in Activity Monitor, he decided to create his own performance monitoring tools. The result was very satisfying, allowing him to better understand and manage his system's resources.
This adventure in macOS application development was not his first. He had already designed a presentation app a few weeks earlier, which gave him a foundation to tackle this new project.
The Impact of Claude Opus 4.6 and GPT-5.4 on Development
The Claude Opus 4.6 and GPT-5.4 models have proven to be valuable allies in learning SwiftUI. Thanks to their capabilities, this user was able to develop a complete application in SwiftUI within a single text file, without needing to open Xcode. This simplicity was a major asset in his development process.
He was thus able to create two distinct applications: Bandwidther, which monitors network bandwidth usage, and Gpuer, which analyzes GPU activity. These applications were integrated as icons in the menu bar, allowing quick access to essential information.
Bandwidther: An Exploration of Network Usage
The initial interest in Bandwidther stemmed from curiosity about the behavior of Dropbox. The user wanted to know whether file transfers were occurring over the local network or directly from the Internet. To achieve this, he designed an application that displays real-time bandwidth usage by each process.
The instructions for this application were simple: create a directory /tmp/bandwidther and develop a native SwiftUI application to display this data. This first version was a success, motivating him to continue development.
Improvements and Additional Features
After establishing the foundations of Bandwidther, he used git to manage versions and add new features. The team worked on adding bandwidth per process and the reverse DNS functionality while keeping the original IP addresses visible. These improvements required several adjustments and exchanges to fix bugs and optimize the interface.
Le brief IA que les pros lisent chaque soir
Les 7 actus IA du jour, décryptées en 5 min. Gratuit.
Inclus dès l'inscription : notre sélection des meilleurs guides & comparatifs IA.
Choisissez votre rythme
Gratuit · Pas de spam · Désabonnement en 1 clic
The source code and build instructions for Bandwidther are available in simonw/bandwidther.
Gpuer: Monitoring GPU and RAM
Alongside Bandwidther, the user developed Gpuer, an application designed to monitor RAM and GPU usage. Since the Activity Monitor does not provide this information satisfactorily, he used commands like system_profiler and memory_pressure to collect the necessary data.
An example of these inaccuracies occurred when Gpuer reported that only 5 GB of memory was left, which was incorrect according to the Activity Monitor. After sharing a screenshot with Claude, the calculations were adjusted, but doubts remain about the reliability of the results.
The code for Gpuer can be found in simonw/gpuer on GitHub.
The Limits of Amateur Development
Despite the enthusiasm generated by these projects, it is important to acknowledge their limitations. These applications fall under vibe coding: the user does not master Swift and has little knowledge of macOS internals. As a result, he cannot guarantee the accuracy of the displayed data.
Warnings were added to both GitHub repositories to indicate that the figures and graphs generated by these tools may not be credible or accurate.
A Rewarding Experience Despite Uncertainties
Although it is not recommended to rely entirely on these tools, developing them was a valuable learning experience. The user discovered that SwiftUI allows a lot to be accomplished with little code, and that integrating terminal commands into a user interface is relatively straightforward. For example, GpuerApp.swift has 880 lines, while BandwidtherApp.swift has 1063.
Claude has surprisingly good design taste when it comes to SwiftUI applications. Transforming an application into a menu bar app requires just a few additional lines of code.
These projects also demonstrated that one can create macOS applications without opening Xcode, and that even an amateur developer can explore new capabilities with modern tools like SwiftUI. The source codes for Bandwidther and Gpuer are available on GitHub, offering a glimpse of what can be achieved with a bit of curiosity and creativity.
Brief IA — L'actualité IA en français
L'essentiel de l'actualité de l'intelligence artificielle, décrypté et expliqué chaque jour.