Niklas Menzel-Sandic

Building Products ThatMove Businesses Forward

Hi, I’m Niklas, a Senior Software & Product Engineer helping teams uncover opportunities, shape winning strategies, and build scalable products that create lasting business value

See the work
Shipped into production for
  • Condor
  • Deutsche Bank
  • Commerzbank
  • ING-DiBa
  • DKB
  • niologic
  • rentbox24
  • msg for banking
  • Wellmo
  • & more
6+
Years shipping production TypeScript
40%
Faster LCP on Condor's booking flow
28%
Smaller bundle after build-path tuning
4
Major German banks shipped for

Selected works

Condor Airlines

Condor Flight Search

Stress doesn't start at the boarding gate. It starts the moment travelers plan their trip, yet most airline apps fail to present complex fares clearly. The new search experience lets customers book flights in just a few steps. I led the technical design behind it, owned the frontend auth integration, and took the largest element from 4.2 seconds to under 2.5 with a bundle 28% smaller. Worked in Team Search/Cart, one of twelve cross-functional teams (PM, BA, engineers and designers) on the platform, and the only one covering two product areas.

Condor's homepage with the flight search widget above the fold.
niologic

Geospatial Risk Forecasting

A geospatial MLOps platform used for wildfire and flood-risk analysis by German emergency services, the kind of system where a slow response is not a UX problem. In a ~20-person startup I became the primary software engineer on it, taking work from customer feedback through scoping and technical design to deployment on a weekly cadence: data-science prototypes turned into production-facing interfaces, Node.js services and pipelines on Docker, Kubernetes and GCP, and the bottlenecks in a real-time fire-hazard detection microservice diagnosed and fixed with the MLOps team

niologic's mobile site, headed "KI-Beratung: schneller von KI zu Wert".

My impact at a glance

6+
Years shipping production TypeScript
90+
Lighthouse on client work, up from ~60
~32
Developers in the Condor engineering Community of Practice
4
Major German banks shipped for
Experience
Condor Airlines
Senior Software Engineer
2023 – Present
niologic
Software Engineer · Data, Analytics, AI & MLOps
2022 – 2023
msg for banking
Fullstack Engineer & IT Consultant, Banking
2020 – 2022
NMS Solutions
Fullstack Engineer, freelance
2018 – 2022
Education & craft
Technical University of Darmstadt
B.Sc. Business Informatics (Wirtschaftsinformatik)
Software Engineering · Information Systems · Distributed Systems
2018 – 2022
Shipwright
AI delivery framework and read-only MCP server
Open source, 2026
Languages
German (native) · English (C1) · Spanish (A2)
Ways of working
Agile · Scrum · Kanban
End-to-end ownership, async/remote collaboration, product and system-design reviews
Mentoring & enablement
JOBLINGE gAG
Education Mentor (IT) · 2020 – Present
Community of Practice, Condor
Drove knowledge sharing across ~32 developers · presented secure-coding standards
Developer onboarding
Authored the first official updated developer-onboarding documentation
Engineer onboarding
Owned onboarding for engineers to a first production contribution, through structured pairing, code review and documentation
Accessibility patterns
Documented repeatable ARIA and focus-management remediations

Niklas Menzel-Sandic,

Senior Software Engineer

I started programming at 14 and turned that curiosity into real-world experience early, delivering client projects while studying and later building features independently inside the codebases of major German banks. Over time, simple websites became complex products, and implementation grew into scoping, architecture, performance and cross-team engineering decisions. At niologic I became the primary engineer on a geospatial forecasting product; at Condor I own major workstreams across a greenfield booking platform. Today, I focus less on individual features and more on the systems behind them: how technology scales, creates business value and evolves responsibly in an AI-native world

Let's connect

Building products,
Shipping production code

  • Remote across the EU
  • TypeScript · React/Next.js · Node.js
  • Mentoring at JOBLINGE gAG since 2020
  • German (native) · English (fluent, C1) · Spanish (basic, A2)
  • Async-first remote collaboration
Connect on LinkedIn

Applied AI

Selected AI Project - Shipwright

Shipwright is my answer to a real question: how do you adopt AI in software delivery without weakening engineering accountability? It is two pieces working together, a framework documenting how I structure AI-assisted delivery end to end, and a read-only MCP server that puts those same standards directly in front of AI coding assistants, so the checklist is a tool call away rather than a document someone forgets to open

Framework

Shipwright AI Framework

A production-oriented framework documenting how I structure AI-assisted software delivery: a responsible-AI-usage policy, prompt-library governance, context engineering, a security threat model, accessibility-aware workflows, and an evaluation framework that tracks hallucination rate and rework rate, not merely whether it shipped

  • Responsible AI policy
  • Context engineering
  • Threat model
  • Evaluation framework
View the framework: Shipwright AI Framework on GitHub, opens in a new tab
MCP Server

Shipwright MCP Server

A read-only MCP server that exposes those same standards, review checklists, and prompt templates to AI coding assistants over the Model Context Protocol. Zod-validated inputs, an explicit path-traversal allowlist, and no write or execute tools at all, the framework's rules as a live tool call rather than documentation someone has to remember to open

  • Model Context Protocol
  • Zod-validated
  • Read-only
  • Path allowlist
View the MCP server: Shipwright MCP Server on GitHub, opens in a new tab
Captured session

Real MCP server example calls

Four calls our agent made. Two return knowledge; two get refused — see down below why

10 tools · 10 documents indexed · read-only

  1. search_knowledge { "query": "prompt injection", "limit": 3 }

    Returned: Lexical keyword search over the standards, ranked

    {
      "results": [
        {
          "id": "control.prompt-injection",
          "title": "Prompt Injection Prevention Control",
          "type": "control",
          "uri": "ai-lab://control/controls/prompt-injection",
          "tags": ["prompt-injection", "security", "input-validation"],
          "score": 52
        },
        … 2 further results, scored 5 and 1
      ]
    }
  2. get_agent_permission_model { }

    Returned: Six escalation levels, so an assistant can be told where it sits

    {
      "permissionModel": [
        {
          "level": 0,
          "name": "Read-Only Suggestions",
          "allowed": ["Read files", "Analyze code", "Generate suggestions"],
          "prohibited": ["Write any files", "Run shell commands", "Access network"],
          "humanApprovalRequired": false
        },
        … levels 1–5: Local File Edits, Branch Commits, PR Creation,
          Deployment Proposal, Production/Destructive Actions
      ]
    }
  3. search_knowledge { "query": "", "limit": 99 }

    Refused: Zod rejects both arguments before any document is touched

    MCP error -32602: Input validation error
    [
      { "code": "too_small", "minimum": 1,  "path": ["query"] },
      { "code": "too_big",   "maximum": 20, "path": ["limit"] }
    ]
  4. get_standard { "idOrSlug": "../../../../etc/passwd" }

    Refused: Traversal never resolves to a path outside the allowlist

    Error: No standard found for: ../../../../etc/passwd

Accessibility

Accessibility Beyond Compliance

Accessibility became a deeper part of my engineering practice at Condor, where I worked alongside an experienced accessibility specialist on a booking platform in daily production use, and later helped other teams understand how accessibility travels from principles and design decisions into shipped code.

The coaching was ongoing rather than a one-off workshop: real tickets, real reviews, inside an existing design system with legacy markup and release pressure attached. That is where the difference between a passing automated scan and an interface someone can actually operate stopped being theory.

Once it held, I passed it on, sessions and reviews with Condor colleagues in design and engineering, and criteria written into how work was specified and reviewed, so accessibility was something the team checked while building rather than something audited after the fact.

Condor AirlinesGreenfield booking platform · design and engineering teams

Working knowledge

  • WCAG 2.2 AA
  • ARIA & Semantic HTML
  • Inputs & formfields
  • Keyboard & focus
  • Screen readers
  • axe-core
  • Accessible components
  • A11y reviews

How accessibility moves through a product

  1. 01Principles

    Who is blocked, and by what. WCAG as the floor under a decision rather than a checklist run against it afterwards.

  2. 02Design

    Focus order, states, labels, contrast and error handling settled in the design review, while changing them is still cheap.

  3. 03Engineering

    Semantic HTML first and ARIA only where the platform has no answer. Keyboard interaction and focus management built into the React component, not patched onto it.

  4. 04Validation

    axe-core in the pipeline, then keyboard and screen-reader passes by hand, the failures that matter are rarely the ones a scanner reports.

  5. 05Team enablement

    Coaching colleagues, reviewing their work with them, and folding the criteria into definition of done so the next feature starts accessible.

Let's create impact together

Open to remote senior fullstack and AI engineering roles across the EU. If you have a flow that has to be fast, correct and observable, let's connect

OS mode