RSSAmplifier

Blog

Danijela's blog

Technical blog posts about all things Swift, app development, career growth, and the human side of software.

danijelavrzan.comRSS feed ↗39 posts

Latest posts

Keep Your Strings Clean and Localized in a Single File

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.

How to Get Your Conference Talk Proposal Noticed

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.

10 Skills to Level Up Your Career

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.

Indie, Alone, and Figuring It Out

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.

Meet Nunch: A Calorie Tracking App

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.

Create Custom SF Symbols in Sketch

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.

Build a Configurable Button with Multiple States in SwiftUI

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.

Use LabeledContent for Cleaner SwiftUI Forms

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.

2023: Year in Review

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.

Handle Empty Views in SwiftUI with ContentUnavailableView

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+.

Add Custom Dark Mode Color to Your App

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.

Handle TabView Data in a Type-Safe Way with Enums

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.

Effective Pull Request Reviews

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.

Combine Charts to Create Stunning Designs with Swift Charts

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.

Split Your Data Easily and Efficiently with .chunked()

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.

Localize Your App with String Catalog

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.

Looking Back: One Year of Writing About Swift

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.

DeepDishSwift 2023: That’s a Wrap

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.

Skip Typing Your Login Credentials with Xcode Breakpoints

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.

10 Things to Do When Starting a New Job

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.

Display In-App Web Content with SFSafariViewController in SwiftUI

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.

SwiftUI Design: Create a Card View

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.

5 Tips for Creating a (Good) Pull Request

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.

How to Use async/await with Completion Handlers

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.

2022: Year in Review

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.

How to Create a Reusable Button in SwiftUI

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.

How to Manage Build Settings Using Xcode Configuration Files

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.

Publish: Persist CNAME Record When Deploying to GitHub Pages

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.

How to Check Network Connection and Present an Alert in SwiftUI

Implementing network connectivity monitor doesn't require a lot of code. But it can mean a lot between a happy and a frustrated user.

Publish: How to Preview Local Changes on Your Website Instantly

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.

How to Create a Class Diagram

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: Getting Started with Custom Themes

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.

Publish: Deploying Your Website to GitHub Pages

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.

Getting Your First Job as a Junior Developer

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.

How to Test Custom Codable Initializer

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.

Publish: Creating Website Content with Markdown

Once your Publish site is up and running, here’s how to add sections and posts using Markdown instead of custom Swift.

How to Create a Personal Website in Swift Using Publish

Publish is a static site generator that lets you build website in your favourite programming language - Swift!

Why Speak at Conferences and How to Get Started

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.

How to Test .@Published Property with XCTest

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.