SwiftUI and MacBook Pro: The Revolution in Amateur Development
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.
Choisis ton rythme
Gratuit · Pas de spam · Désabonnement en 1 clic
A MacBook Pro M5 to Explore SwiftUI
Recently, I 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, I decided to create my own performance monitoring tools. The result has been very satisfying, allowing me to better understand and manage my system's resources.
This adventure in macOS application development is not my first. I had already designed a presentation app a few weeks prior, which gave me 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, I was able to develop a complete application in SwiftUI within a single text file, without needing to open Xcode. This simplicity has been a major asset in my development process.
I was able to create two distinct applications: Bandwidther, which monitors network bandwidth usage, and Gpuer, which analyzes GPU activity. These applications have been integrated as icons in the menu bar, allowing quick access to essential information.
Bandwidther: An Exploration of Network Usage
My initial interest in Bandwidther stemmed from my curiosity about the behavior of Dropbox. I wanted to know whether file transfers were occurring over the local network or directly from the Internet. To achieve this, I 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 me to continue development.
Improvements and Additional Features
After establishing the foundations of Bandwidther, I used git to manage versions and add new features. We 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.
The source code and build instructions for Bandwidther are available in simonw/bandwidther.
Gpuer: Monitoring GPU and RAM
Alongside Bandwidther, I developed Gpuer, an application designed to monitor RAM and GPU usage. Since the Activity Monitor does not provide this information satisfactorily, I 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: I do not master Swift and have little knowledge of macOS internals. Therefore, I cannot guarantee the accuracy of the displayed data.
I have added warnings 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 I do not recommend relying entirely on these tools, their development has been a valuable learning experience. I discovered that SwiftUI allows for 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 have 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.