---
title: "Freelance — Ivan Kahl"
description: "Articles by Ivan Kahl published on developer-focused company blogs and platforms."
url: https://ivankahl.com/freelance/
---

# Freelance

Tutorials, deep dives and guides on .NET, AI tooling, APIs and DevOps, written for developer-focused companies.

## 2026

20 Apr 2026

### [Getting Started with Codex](https://dometrain.com/blog/getting-started-with-codex/)

Install Codex, explore its core workflows and learn how OpenAI's coding agent can automate practical bug fixes.

Dometrain

07 Apr 2026

### [Getting Started with Claude Code](https://dometrain.com/blog/getting-started-with-claude-code/)

Install Claude Code, understand its agentic workflow and start using it effectively in day-to-day development.

Dometrain

27 Jan 2026

### [How to Build and Consume MCP Servers in .NET](https://dometrain.com/blog/how-to-build-and-consume-mcp-servers-in-dotnet/)

Build and consume stdio and HTTP MCP servers in .NET, connecting AI models to external tools and resources.

Dometrain

20 Jan 2026

### [Making the Most Out of Your Coding AI Assistant](https://dometrain.com/blog/making-the-most-out-of-your-coding-ai-assistant/)

Improve your AI coding workflow with practical techniques for prompting, context management and complex tasks.

Dometrain

15 Jan 2026

### [Creating the Perfect `CLAUDE.md` for Claude Code](https://dometrain.com/blog/creating-the-perfect-claudemd-for-claude-code/)

Create a focused `CLAUDE.md` that gives Claude Code the project context and guidance it needs to work reliably.

Dometrain

## 2025

03 Nov 2025

### [What's New in C# 14](https://dometrain.com/blog/whats-new-in-csharp-14/)

Explore every new C# 14 feature, understand why each one matters and see how to apply it with practical examples.

Dometrain

30 Jul 2025

### [How to Rotate an IP Address](https://brightdata.com/blog/how-tos/how-to-rotate-an-ip-address)

Compare manual, proxy-based and no-code IP rotation methods for avoiding blocks and CAPTCHAs while web scraping.

Bright Data

25 Jun 2025

### [How to Build a C# REST API Client](https://developers.amadeus.com/blog/building-a-c-rest-api-client)

Build a robust C# REST API client that authenticates, sends requests and consumes the Amadeus travel APIs.

Amadeus

## 2024

23 Nov 2024

### [The Developer's Guide to JWT Storage](https://www.descope.com/blog/post/developer-guide-jwt-storage)

Compare secure JWT storage options for web applications and learn how to prevent common token vulnerabilities.

Descope

07 Nov 2024

### [8 Effective Strategies for Handling Flaky Tests](https://about.codecov.io/blog/effective-strategies-for-handling-flaky-tests/)

Learn eight practical strategies for identifying, managing and resolving flaky tests without hiding real failures.

Codecov

06 Aug 2024

### [How an Event-Driven Architecture Ensures App Speed and Scalability](https://web.archive.org/web/20250325084740/https://deploy.equinix.com/blog/event-driven-architecture-eda-for-real-time-scaled-apps/)

Learn how event-driven architecture supports scalable real-time applications through a practical implementation example.

Equinix

14 Jun 2024

### [What Is Static Code Analysis?](https://www.sonarsource.com/learn/static-code-analysis/)

Learn how static analysis detects bugs, security vulnerabilities and code inconsistencies without running your application.

Sonar

14 Jun 2024

### [How to Integrate Fingerprinting Into Your Svelte Application](https://fingerprint.com/blog/browser-fingerprinting-svelte/)

Integrate Fingerprint's SDK into a Svelte application to identify visitors and help protect your site from fraud.

Fingerprint

06 Jun 2024

### [When to Use a Load Balancer, an API Gateway or Both](https://deploy.equinix.com/blog/how-api-gateways-differ-from-load-balancers-and-which-to-use/)

Compare load balancers and API gateways, understand their roles and learn when an architecture should use both.

Equinix

21 May 2024

### [What Is a Webhook?](https://sendbird.com/developer/tutorials/what-is-a-webhook)

Understand how webhooks work, follow a practical implementation example and compare event delivery with traditional APIs.

Sendbird

14 May 2024

### [How Not to Do Code Reviews](https://www.aviator.co/blog/how-not-to-do-code-reviews/)

Identify code review habits that create engineering bottlenecks and learn how to build a healthier review process.

Aviator

09 May 2024

### [How to Integrate Fingerprinting Into Your C# Application](https://fingerprint.com/blog/browser-fingerprinting-csharp/)

Integrate Fingerprint's SDK into a C# application to identify visitors and help protect your site from fraud.

Fingerprint

25 Apr 2024

### [Digitally Collect Signed Waivers with Dropbox Sign API](https://sign.dropbox.com/blog/digitally-collect-signed-waivers-with-dropbox-sign)

Collect signed waivers with the Dropbox Sign API, then receive and store completed documents through webhooks.

Dropbox Sign

## 2023

06 Dec 2023

### [cURL POST Request Guide](https://brightdata.com/blog/how-tos/curl-post-request-guide)

Learn to send POST requests with cURL, including request bodies, content types, authentication and custom headers.

Bright Data

22 Oct 2023

### [Guide to Using GPT-3 with Python](https://www.sensible.so/blog/guide-to-using-gpt-3-with-python)

Build a Python application with GPT-3 and use it for text-heavy tasks such as summarization and content generation.

Sensible

03 Oct 2023

### [Exploring GitHub Actions Triggers](https://earthly.dev/blog/github-action-triggers/)

Explore GitHub Actions triggers, filters and events to run the right automated CI/CD workflows at the right time.

Earthly

24 May 2023

### [Using OpenAPI and AsyncAPI Tags to Better Organize API Endpoints](https://bump.sh/blog/openapi-tags-organize-endpoints)

Use OpenAPI and AsyncAPI tags to organize related endpoints and make large API contracts easier to navigate.

Bump.sh

19 May 2023

### [Web Scraping with Playwright and Node.js](https://brightdata.com/blog/how-tos/playwright-web-scraping)

Use Playwright and Node.js to scrape dynamic websites, extract structured data and apply advanced browser techniques.

Bright Data

15 May 2023

### [Building with Financial Data Sets and APIs](https://web.archive.org/web/20230529123933/https://iexcloud.io/blog/building-with-financial-data-sets-and-apis)

Learn how to evaluate financial data sets and APIs, then choose reliable market data for applications and analysis.

IEX Cloud

08 Feb 2023

### [The Best Microsoft SQL Server GUI Tools](https://web.archive.org/web/20230213164545/https://www.airplane.dev/blog/the-best-microsoft-sql-server-gui-tools)

Compare popular Microsoft SQL Server GUI tools across query editing, database management and developer workflows.

Airplane.dev

06 Feb 2023

### [Guide to Webhooks with Examples from Jira](https://www.merge.dev/blog/guide-to-webhooks-with-examples-from-jira)

Learn how webhooks connect systems through a practical Jira example, from event subscriptions to payload handling.

Merge

25 Jan 2023

### [Adding Google Login to Your Next.js 13 Application](https://clerk.com/blog/add-google-login-next13-app)

Add Google Login to a Next.js 13 application and compare a custom implementation with using Clerk authentication.

Clerk

## 2022

24 Oct 2022

### [A Developer's Guide: Ghost vs WordPress](https://wordpress.com/blog/2022/10/24/a-developers-guide-ghost-vs-wordpress/)

Compare WordPress and Ghost from a developer's perspective, including their architecture, features and trade-offs.

WordPress

19 Oct 2022

### [Build Your First App with Deno](https://stateful.com/blog/build-your-first-deno-app)

Install Deno, explore its secure runtime and build a first application with modern JavaScript and TypeScript.

Stateful

18 Aug 2022

### [Capturing a Screenshot of a Webpage in ASP.NET Core](https://urlbox.com/website-screenshots-aspnetcore)

Capture webpage screenshots from an ASP.NET Core application by integrating the Urlbox API without browser automation.

Urlbox

29 Jul 2022

### [How to Take a Screenshot of a Web Page with Rust](https://urlbox.com/website-screenshots-rust)

Capture webpage screenshots from a Rust application using browser crates and the Urlbox screenshot API.

Urlbox
