Starlight has gone gold!

After over a year in the making – I’m excited to announce another signficant milestone: Starlight has gone gold!


Its effectively ready to ship, what’s more, it’s also approved for sale by Apple — feels… pretty good

Feeling Season 9 GIF by Curb Your Enthusiasm

With the app gone gold, I’m now switching to getting ready to ship! Among other things, that includes working on:

   – Finalizing website

   – Preparing press kits

   – Preparing relevant posts

   – Contacting reviewers 

   – Setting launch date

On the website side, although for past apps I used RapidWeaver, I decided to go for something more focused & clear and decided to do it myself. Let me know what you think:

Looking forward to share more with you shortly, comments / feedback? Find me at or @MarcMasVi


PS. The website clean look is inspired by Marco’s Overcast – (Podcast app, 100% recommend)

Building GPT from scratch

With all the talk & articles about GPT, a few weeks ago I decided to spend a couple days coding one from scratch.


The training size can’t be the same (for $$$ reasons), but the model can follow a very similar architecture to the one used by GPT-3. As long as we narrow the training data, we can get amazing results – in my case I used US legal corpus data, which is widely available online. 

I found this experience very valuable to better understand how this new models can improve & be used in the future. If you want to follow along I do recommend reading the paper GPT is based upon, and also the great implementation from Andrej.

If you have interest in this area, and know the basics of AI / Python, def. recommend the experience. Personally, I think the impact to society will be very significant – although probably not in the obvious ways we’re imagining.

It’s amazing to think all of this is based on math, we’ve come a long way…


Here’s the code I wrote for reference, I optimized it for M Macs to take advantage of their GPUs so it trains a lot faster. Note the faster your GPU the faster it will train, also time will depend on the amount of the training data. I used an M1 Max w. 32 GPU cores and 64 GB RAM, and it took me a about two hours to train. 

Comments / Feedback? Find me at or @MarcMasVi

Happy coding, 


Leveraging Bing Chat as a development tool

Even though in their infancy, ChatGPT, Copilot & OPT are already impressive tools. The impact on how we work will be significant and, although expertise will still be critical, people who leverage AI will have an edge over people who don’t.

I started increasingly using Bing Chat (which uses GPT-4 behind the scenes) to parse Apple documentation and help finding solutions when stuck… And it’s been quite helpful.

I now treat Bing Chat, the same I would Stack Overflow or Web Search. Here’s an example on something it helped me on today:

Screenshot 2023 03 19 at 9 18 37 PM

Clearly not perfect, but it led me in the right direction & helped me identify what I needed:

             textView.enclosingScrollView?.findBarPosition = .belowContent

And voila!

Screenshot 2023 03 19 at 9 43 31 PM

Definitely recommend using it as part of your workflow. Btw Microsoft wants you to use Edge to use Bing Chat – but you can just enable Dev. Mode in Safari and set the “User Agent” to Edge. 

Interesting times we’re living in! Excited about the future. 

Comments / Feedback? Find me at or @MarcMasVi


Leveraging SF Symbols from code

SF Symbols are hugely helpful to help accelerate the development process, Apple has done an amazing job at providing a huge variety of them – all looking great & working well with one another.

If you’re a developer and are not familiar with them, you’re missing out – go download them

One minor caveat to be aware of though is that you can’t just call the Unicode codepoints. As I learned today, these will not work unless you have the design fonts installed.

So, for instance this…

Screenshot 2023 02 26 at 10 52 44 AM


…will not render. Wops!! The right way to call it would be:

Screenshot 2023 02 26 at 11 05 26 AM


Alternatively, you could also use Label(“someText”, systemImage: “flag”) 

Screenshot 2023 02 26 at 11 15 58 AM

Happy coding! Comments / Feedback? Find me at or @MarcMasVi


Microsoft aggressively capitalizing on their OpenAI investment

There’s a lot of chat right now about ChatGPT. And, although the technology may be a bit overhyped, some of the use-cases it enables have the potential to change the way we work:

 Here’s one, from the Verge: 

“Intelligent recap is the big new addition to Microsoft Teams Premium […]. Intelligent recap uses OpenAI’s GPT-3.5 model to generate meeting notes and highlights even if you weren’t present in a meeting.” 

Interesting times, 


The Last of Us – HBO

I was not expecting much from “The Last of Us” from HBO, after so many poor adaptations of video-games, what could one look forward to? Well, I’m glad to say I was wrong. 

The first two episodes have been so fun to watch. If you enjoyed the game, do check them out. 

Faithful to the material too 🙂 Here’s hoping the rest of the season is as good as the first episodes. 


And just like that, MarsManaged has reached Beta!

After 18 months of work…


…I’m excited to announce that MarsManaged has reached a major milestone, it’s now in Beta. 

In the following weeks I’ll be opening up more testing seats, can’t wait for your candid feedback -and bug reports-! 

Until then, here’s a sneak peak of the latest version of the app. 

CARD’s section:

Screenshot 2023 01 07 at 3 07 22 PMACTIONS section:

Screenshot 2023 01 07 at 3 15 11 PMThe way you do Product Management will never be the same 🙂 

Stay tuned! Comments / Feedback? Find me at or @MarcMasVi


Easily linking any AppKit or UIKit class with SwiftUI

After spending an embarrassing amount of hours trying to get TextField to do what I needed on macOS I decided to try NSViewRepresentable + NSTextField.

I was fully prepared to spend the night on this… Yet I got it done in 30m 😮 

Lesson learned! Going forward, when a SwiftUI object is not mature enough I will not try to hack it with modifiers… Instead,  I will go straight to AppKit or UIKit. I know I’m loosing portability – which is why I spend so much time trying to do it all in SwiftUI – but, especially on macOS, SwiftUI sometimes is just not yet there. 

So, about linking to AppKit or UIKit… Online there’s a lot of, shall we say, over-engineered examples? Frankly, I believe it puts off a lot of people -including myself-, even though its actually very easy. 

Below is the leanest approach I found to link to any AppKit/UIKit class and their respective delegate. For this example I’m linking to NSTextField, but you could do it just as easily with any class.

Here’s how you call it from SwiftUI once implemented:

OSXTextField(textOfWhatToDisplay: someContent)

And here is the wrapper code for NSTextField, all self contained within a Struct:

struct OSXTextField: NSViewRepresentable {


    var textOfWhatToDisplay: String


    func makeNSView(context:Context) -> NSTextField{

        let osTextView = NSTextField(string: textOfWhatToDisplay)

        osTextView.delegate = context.coordinator       

//      osTextView.isBordered = false //example of calling NSTextField 

//      osTextView.drawsBackground = true //

        return osTextView



    func updateNSView(_ nsView: NSTextField, context: Context) {




    func makeCoordinator() -> Coordinator { //Called automatically by SwiftUI if implemented, used to trigger delegate

        Coordinator(parent: self)



    class Coordinator: NSObject, NSTextFieldDelegate {


        var parent: OSXTextField


        init(parent: OSXTextField) {

            self.parent = parent



        //NSTextFieldDelegate methods would go here





This experience, all the hours I put into getting TextField to work, has also been a great reminder of the sunk-cost fallacy.

Comments / Feedback? Find me at or @MarcMasVi


Here’s to 2023!

As Eisenhower said “Plans are worthless, but planning is indispensable”, so… In no particular order, my plan for 2023 is to:

1. Ship MarsManaged for macOS sometime before June, add iOS versions before EOY

2. Complete two more AI courses & tackle several problems that interest me where ML can make a significant difference

3. Read a book every month, summarizing it for later review in DevonThink (my second, and better?, brain)

3. Exercise & meditate at least 4 times a week 

4.  Find fellow indie devs in San Diego, where my wife and I recently moved

I’ll keep you posted on progress! Hope you all had an awesome end of the year and a great start of 2023!

Comments / Feedback? Find me at or @MarcMasVi



PS. The GIF above is from The White Lotus, my wife and I really loved the show.