MoonShiftLab
ServicesAboutWritingContactStart a project

MoonShiftLab

A senior software engineering and AI studio. Germany · working with clients worldwide (remote).

Site

  • Services & pricing
  • About
  • Contact
  • Legal & privacy

Elsewhere

  • GitHub
  • LinkedIn
  • contact@moonshiftlab.com

© 2026 MoonShift Lab. All rights reserved.

Writing

Notes on building.

Engineering judgment, written down: architecture, applied AI, and the craft of shipping.

Jul 18, 2026

2 min read

Most early products don't need the database yet

The most expensive line in an early-stage codebase is the one that adds infrastructure before it adds users. A field guide to deferring complexity without painting yourself into a corner.

architecture · startups

Jun 15, 2026

2 min read

The handover test

A simple standard for judging any external development team, including us: if they vanished tomorrow, how bad would it be? The answer is decided months earlier than most clients think.

process · product

May 27, 2026

2 min read

Nobody checks the interest rate on technical debt

The debt metaphor is good and everyone uses it wrong. Debt is fine at the right rate. The skill is knowing which loans you hold and what each one charges.

engineering · architecture

Apr 22, 2026

2 min read

Weekly demos beat status reports

A status report describes work. A demo proves it. Why we structure every engagement around deployed software on Fridays, and what it changes about trust.

process · product

Mar 31, 2026

2 min read

Cross-platform or native: deciding like an adult

The mobile stack debate is usually argued with identity and anecdotes. It deserves a decision framework instead. Here is the one we use, including where it says native.

mobile · architecture

Feb 24, 2026

2 min read

You probably don't need an agent

Agentic systems are the most exciting pattern in software right now, which is exactly why they are being applied to problems that a pipeline would solve better. A decision rule.

applied-ai · architecture

Feb 5, 2026

2 min read

RAG failure is silent failure

When retrieval breaks, nothing crashes. The system keeps answering, fluently and wrongly, and your first alert is a user who stopped trusting it. Instrumenting the part everyone forgets.

applied-ai · evals

Jan 19, 2026

2 min read

Tokens are not the cost

Teams budget LLM features by multiplying token prices. The invoice that actually hurts arrives elsewhere. A map of where the money really goes.

applied-ai · product

Dec 8, 2025

2 min read

Prompt injection is the new SQL injection

We spent two decades learning not to concatenate user input into queries. Then we built systems that concatenate user input into instructions and acted surprised.

security · applied-ai

Nov 11, 2025

2 min read

Strict typing is a business decision

The strictness settings in your compiler config look like an engineering preference. They are actually a decision about how expensive your future changes will be.

typescript · engineering

Sep 30, 2025

2 min read

Monolith until it hurts

Microservices solve an organizational problem you do not have yet. A defense of the boring deployable, with the actual thresholds where the answer changes.

architecture · startups

Sep 2, 2025

2 min read

Write the eval before the feature

Test-driven development got a strange second life in AI engineering: the eval set is the spec, the score is the progress bar, and everything else is negotiable.

applied-ai · evals

Aug 14, 2025

2 min read

The demo-to-production gap in AI features

Every LLM demo works. That is precisely the problem. Notes on the four things that separate a convincing prototype from a feature you can put in front of paying users.

applied-ai · engineering