Managing strings across a large app can quickly become chaotic and hard to maintain. Learn how to keep your strings centralized in a single file while still integrating smoothly with the String Catalog in Xcode.
Writing a good CFP is harder than it looks. Conferences get more proposals than they can accept, and many great ideas get lost because the submission wasn’t clear, specific, or focused. Here are a few practical tips that can help your proposal stand out.
The biggest leaps in my career came from unexpected skills I picked up along the way, through collaboration, mistakes, and the occasional awkward Slack message. In this post, I’ll share the lessons that helped shape my career and hopefully spark a new insight or an "I’ve definitely done that" moment.
Going indie looks like freedom from the outside. But once you’re in it, you face loneliness, pressure, constant decisions, user feedback, and all the invisible work no one warns you about. This is what the journey feels like, and why it’s still worth it.
Hello World! It's been a while. A year since I wrote my last post. But all for a good reason. I'm happy I can finally introduce you all to Nunch - an iOS app I've been working on for the past year, and longer.
Symbols are essential in any app. Apple’s SF Symbols offer over 6,000 icons, but sometimes the one you need isn’t there. Let’s see how to create a custom symbol in Sketch.
In this post, we'll take a look at how we can create a configurable button with pre-defined states. We'll add four different states and update the button state in the code.
You probably have views showing a label and value side by side with an HStack. Did you know `LabeledContent` does the same thing with fewer lines? No need to build custom components.
There are days where I can't wait to share something new I've learned. And then there are days where I don't feel like writing at all. Small steps matter. You can't always give it your 100%. Take care of yourself first.
Learn how to use SwiftUI’s ContentUnavailableView to handle empty states with ease. It’s simple, customizable, and even includes a built-in layout for empty search results in iOS 17+.
SwiftUI makes it easy to support light and dark mode out of the box. But sometimes, you might want to give your dark mode a twist - like using a dark blue theme instead.
Enums let you define your own set of values and use them safely in code. In this article, we’ll build a TabView and use enums to manage its data in a clean, type-safe way.
Creating PRs is easy. Creating good ones takes effort. Reviewing them, though, that’s a whole different story. Here are a few things to keep in mind when reviewing someone else’s PR.
The Swift Charts framework makes it easy to add beautiful, data-driven charts to your app. In this post, we’ll design a custom chart to track weight over a week using a mix of line and area charts for extra style.
Swift Algorithms is an open-source package full of useful sequence and collection helpers. In this post, we’ll explore the .chunked() algorithm. How to split an array into chunks and display them in your UI.
Localizing your app is a big part of making it more inclusive and available to people in other languages. Apple has made it easier for developers to localize our apps. Starting with Xcode 15 and String Catalogs.
Writing has helped me understand technical topics on a deeper level. You never truly know something until you try to explain it. It’s been a year since my first blog post and here are a few thoughts and lessons learned.
Conferences are an awesome opportunity to network and meet other developers. They always inspire me and remind me why I take a lot of time out of my day to share my learnings and be the part of the community.
Typing your login credentials manually during development takes away your time and focus. If you make a lot of small changes and need to check them often, that's a lot of time spent on the login screen. Set up a breakpoint in Xcode instead and speed up your development time.
Interviews are hard. But when you get the job, you've done the hard part. You already made a good first impression so just continue being yourself and you'll do great. Read these 10 pragmatic tips to help you get started with a bang.
In SwiftUI, you can use Link to open a webpage in the user’s default browser. But if you’d rather keep them inside your app, for things like a privacy policy, you can present web content in the app instead.
Card-like designs are seen often in UIs. Usually, a view with a white background, rounded corners, and a dark shadow that makes the view look like a card on top of another view. It gives a nice look to different view components and separates parts of UI.
Creating and reviewing pull requests is part of everyday development. So why not make it easier and more enjoyable for your reviewers? Your teammates will thank you! Here are 5 tips to improve your PRs.
When Swift’s new concurrency model debuted at WWDC 2021, everyone was eager to try it. But rewriting everything isn’t ideal. Instead, you can gradually adopt it by bridging your existing code with the new model.
Ever look back on a week, month, or year and feel like you’ve done nothing? I have. We all have. Sometimes it feels like we haven’t learned or achieved much when we focus on what’s still left to do.
When building apps, you often reuse the same button style with different labels and actions. In this post, you’ll learn how to create a reusable button view to keep your UI consistent across screens.
You can define build settings with Xcode configuration files, which are simple text files editable outside Xcode. They’re great for managing constants and settings across different environments.
To set up a custom domain on GitHub Pages, your repo needs a CNAME file. The problem? It gets overwritten on deploy. In this post, learn how to keep your CNAME record safe so it never gets deleted.
You’ve made changes to your website, but nothing’s updating - even after refreshing the browser. In this post, learn how to properly refresh your site so your latest changes show up instantly.
A class diagram shows a system’s structure - its classes, attributes, methods, and relationships. It’s one of the most common UML diagrams and a great skill to learn. You might even be asked to draw one in an interview.
Publish comes with a default HTML theme called Foundation, meant as a starting point for building your own. Before deploying your site, you’ll want to replace it with a custom theme that fits your style.
You've created your website and you're ready to show it off to the world. Next thing on your list is to choose where to host it. In this post, I'll show you how to deploy your Publish website on GitHub Pages.
Learning a new programming language is tough. When do you know it’s time to apply for your first junior developer job? In this post, I share my journey, what helped me get hired, and how it took me one year.
Sometimes, when parsing a JSON, you need to implement a custom Codable initializer. Because of that custom logic, you're no longer using the default implementation. It's a good idea to test your code.
Attending conferences is a great way to learn, meet other developers, and share your work. But have you ever thought about being a speaker? You might have more to offer than you think! Here’s why and how to start speaking.
Published properties emit values over time, instantly notifying all observers of changes. In this post, we’ll recap how it works and explore how to test Published properties using XCTest.