Marc G Gauthier @marcggauthier.bsky.social · 08/07/2025Comparing PNG, JPG and their optimised versions... to be honest they all look the same, which is pretty good news for my app size! 010
Marc G Gauthier @marcggauthier.bsky.social · 07/07/2025New article about #ios26 and #LiquidGlass: marcgg.com/blog/2025/07... 000
Marc G Gauthier @marcggauthier.bsky.social · 26/06/2025So many ios26 beta-2 bugs related to liquid glass. This one is especially weird. #ios26 #liquidglass 000
Marc G Gauthier @marcggauthier.bsky.social · 26/06/2025I think I like the new Icon Composer much more than I expected I would. 000
Marc G Gauthier @marcggauthier.bsky.social · 24/06/2025India is my second biggest country in terms of downloads, but it generates close to nothing in revenue. Not sure what's going on there. 000
Marc G Gauthier @marcggauthier.bsky.social · 23/06/2025My new hobby is impulse buying external external storage. 000
Marc G Gauthier @marcggauthier.bsky.social · 10/06/2025Regardless of the tool, I always end up creating terrible looking - but very colorful - artifacts when debugging. 000
Marc G Gauthier @marcggauthier.bsky.social · 06/06/2025Coming up soon: quick start a workout. Pretty happy about this one, but it was a nightmare to figure out compared to just setting up predefined workouts. 000
Marc G Gauthier @marcggauthier.bsky.social · 03/06/2025Do your previews tend to look like a weird flag, or is it just me? 000
Marc G Gauthier @marcggauthier.bsky.social · 02/06/2025Sometimes adding a new feature means also recording yourself doing pushups. #buildinpublic 130
Marc G Gauthier @marcggauthier.bsky.social · 21/05/2025Always pretty cool to see that my boxing app is used worldwide! 010
Marc G Gauthier @marcggauthier.bsky.social · 20/05/2025Taking the extra few minutes to build a bit of tooling goes a long way. In this case I've added a few commands to define the profile of a user in order to get my preview to display different recommendations. Took me 10 minutes, but it's much more pleasant than fiddling with parameters in the code. 000
Marc G Gauthier @marcggauthier.bsky.social · 19/05/2025I'm continuously shocked by how exponentially worst Google Search has become over the past few months. It's mostly irrelevant paid content, SEO optimised nonsense and outdated infos. eg: I was looking for the name of a famous photographer, and I was getting served sites about the new iPhone camera. 000
Marc G Gauthier @marcggauthier.bsky.social · 14/05/2025Coding in 2025 is knowing that if your IA is telling you to compute the pixel height of your font to limit the line count, it's probably not a good idea to listen. 000
Marc G Gauthier @marcggauthier.bsky.social · 12/05/2025My 2025 design revelation is remembering that semi bold exists. 000
Marc G Gauthier @marcggauthier.bsky.social · 08/05/2025I have the feeling that this might be a bit too verbose... 110
Marc G Gauthier @marcggauthier.bsky.social · 06/05/2025I was stressed out by the new workout layout for my app. It's been mostly the same for the past 4 years with minimum complaints from users. However it was getting too cluttered and hitting some flexibility limits so I had to change it. After 1 month in production, survey results are in! 000
Marc G Gauthier @marcggauthier.bsky.social · 20/04/2025New side project with the tech stack I enjoy the most! 000
Marc G Gauthier @marcggauthier.bsky.social · 07/04/2025It's not much, but it's always scary to revamp the main screen of your app! There are also many tradeoffs behind a seemingly trivial change. 000
Marc G Gauthier @marcggauthier.bsky.social · 18/02/2025Clearly MistralAI's Le Chat is the superior AI, recommending the superior boxing app 🙃 020
Marc G Gauthier @marcggauthier.bsky.social · 12/02/2025I'm seeing a disproportionate amount of CloudKit requests coming from iOS 15, when most my users are on 17-18. Does that make sense for anyone? #cloudkit #swift #ios 000
Marc G Gauthier @marcggauthier.bsky.social · 11/02/2025"This method is unnecessary and shouldn't be used" Hm... ok? 000
Marc G Gauthier @marcggauthier.bsky.social · 11/02/2025I've added kicks in my shadow boxing app a couple of months ago, and now I've been featured by Apple as part of the "Try Muay Thai" collection... in Thailand! #buildinpublic 030
Marc G Gauthier @marcggauthier.bsky.social · 10/02/2025The worst parts of having a tricky bug in my speech synthesis system are the things I have to do to replicate it... (sound on) #buildinpublic 000
Marc G Gauthier @marcggauthier.bsky.social · 10/02/2025A challenge is figuring out what to answer to people complaining that my app is not entirely free. Especially since my app not entirely premium! There are free features and free content which can last someone a couple of months. #buildinpublic 050
Marc G Gauthier @marcggauthier.bsky.social · 07/02/2025Dilemma: my app offers premium settings. For instance the ability to edit the coach's voice. Some users buy a premium membership for a month, set the voice and then unsubscribe. Right now they get to keep this custom setting activated, but I'm not sure if it's a bug or a feature. #buildinpublic 120
Marc G Gauthier @marcggauthier.bsky.social · 07/02/2025Interestingly, while SEO is still very important, I'm seeing more and more traffic coming from AI tools. From my experience, this is something that can also be optimised, but I'm not seeing that much discussion about the topic! #ai #seo #geo 010
Marc G Gauthier @marcggauthier.bsky.social · 06/02/2025New hires will often either struggle in silence or jump straight to asking questions. Here's an article on how I address this issue. #management #onboarding marcgg.com/blog/2025/02...marcgg.comSetting expectations for a new hire's first weeksShould a new hire struggle for days in silence or ask for help right away? If you don't set expectations they'll probably do one or the other... here's my approach to get to something more interesting... 000
Marc G Gauthier @marcggauthier.bsky.social · 03/02/2025My latest article on how I'm asking for user feedback in my app is live! marcgg.com/blog/2025/02...marcgg.comAsking for user feedbackI'm sharing some scrappy ways to ask for user feedback in my iOS app. 000
Marc G Gauthier @marcggauthier.bsky.social · 03/02/2025Sometimes I'm blown away by AI, and sometimes I get a "sleek, modern, and minimalistic design". 010
Marc G Gauthier @marcggauthier.bsky.social · 14/01/2025I can't decide what I prefer between 1 and 2 screenshots. With 2 I can showcase more, but it feels more crowded... all the AB tests I ran come back somewhat neutral. #ASO #buildInPublic 030
Marc G Gauthier @marcggauthier.bsky.social · 13/01/2025There's more and more "fitness AI" tools where the gimmick is that the trainings are created by LLMs. Why would I prefer this compared to trainings designed by fitness professionals? I get that it's cheaper for the developer, but why showcase this as a feature to end users? 010
Marc G Gauthier @marcggauthier.bsky.social · 08/01/2025I might need to review my asset management workflow... it starts to become a lot of images to manage! 000
Marc G Gauthier @marcggauthier.bsky.social · 07/01/2025By default #Swift Charts will use a gradient as a legend if the data is a number. That's just such a nice touch! 000
Marc G Gauthier @marcggauthier.bsky.social · 07/01/2025Only 1 hour between submitting a new version for review and being ready for distribution. That's gotta be some kind of record. 000
Marc G Gauthier @marcggauthier.bsky.social · 07/01/2025Massive scope creep due to #SwiftChart being so fun to work with. 100
Marc G Gauthier @marcggauthier.bsky.social · 07/01/2025For some reason I find it so funny that #Swift has a `Date.distantPast` property. Feels so melodramatic. 000
Marc G Gauthier @marcggauthier.bsky.social · 07/01/2025I don't even know why I still try to brute force a feature without spending a few hours building the proper tools. I wasted half a day trying to get graphs to work without a proper way to get test data... so this morning I added a basic debug panel and now my life is so much more simpler. 110
Marc G Gauthier @marcggauthier.bsky.social · 07/01/2025The fact that #SwiftUI's `EmptyView()` doesn't "appear" is really annoying. I get it, but I don't like it. I really want to have an empty view and use `onAppear` for instance. Advices online tell me to use a rectangle and hide or something like this, but that doesn't feel right. 210
Marc G Gauthier @marcggauthier.bsky.social · 06/01/2025Trying out charts with #SwiftUI. It's quite different from what I was used to, but it works surprisingly well. I'm slightly worried that some problem is being obfuscated by all that magic though 😅 250
Marc G Gauthier @marcggauthier.bsky.social · 06/01/2025I wrote about defensiveness and how to avoid getting paged. One example is pretty straightforward, but I also added some more controversial approaches, like fixing data on the fly.marcgg.comLevels of DefensivenessI think that having an idea of scale of defensiveness helps me a lot when coding. In this article I share how to approach it around a specific example. 000
Marc G Gauthier @marcggauthier.bsky.social · 29/12/2024This small "save" button doesn't seem like much, but just a few months before it would have taken me a couple of weeks to complete, and now with experience I got it done in hours. It's "simple", but it needs CoreData models, data validation, new flows to load and edit the timers, tracking... 100