This is a viewer only at the moment see the article on how this works.
To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk
This is a preview from the server running through my markdig pipeline
Tuesday, 29 September 2026
I build systems, and I lead the people who build them. Across more than 30 years in software, I have worked as a developer, architect, engineering lead, consultant and Microsoft ASP.NET Program Manager. I am most useful where the problem is unclear, the existing system is under pressure, or a product needs someone who can set direction and still get into the code.
I have worked with startups and large organisations, from early product development through to high-throughput services and legacy modernisation. I have led teams of more than 20 engineers, built products as a hands-on technical lead, and run mostlylucid limited since 2012. My work spans architecture, implementation, performance, delivery, hiring and mentoring.
My strength is seeing the system behind the immediate request: how data moves, where the boundaries belong, what can fail in production, and which small set of changes will make the whole thing more reliable. I care about how a system behaves for its users and operators, not just whether a component passes a demo.
I am particularly suited to hands-on Principal, Lead, Head of Engineering or VP Engineering roles where architecture and implementation are both part of the job. I also work well with early-stage companies that need a technical leader who can establish direction, build the first version and grow the team around it.
StyloBot is a real-time bot-detection system that learns what normal traffic looks like for each site, rather than relying only on shared IP or user-agent lists. It is designed to run within the customer's infrastructure, with behavioural signals and request history used to distinguish people, crawlers and automation.
The project has required me to work across the full system: detection models, vector representations, adaptive learning, middleware, gateway and sidecar integrations, dashboards, test tooling, performance and long-running service behaviour. The site documents measured fast-path performance below 150 microseconds per request and a design where personal data does not leave the server.
I have built local-first tools for document summarisation, data profiling, semantic search and retrieval-augmented generation. These combine conventional parsing and validation with embeddings or language models where useful, and keep source evidence available so users can inspect where an answer came from.
My work includes ONNX-based inference, DuckDB, Qdrant, SQLite, PostgreSQL, local models and cloud APIs. I focus on making these components practical: they need to run in the intended environment, handle imperfect input, expose useful diagnostics and fit into a larger application.
I use mostlylucid.net as a public engineering lab. It is an open-source ASP.NET Core platform with its own deployment pipeline, search, analytics, translation, observability and supporting services. Problems I encounter there have led to reusable NuGet and npm packages, command-line tools and detailed technical articles.
The site is also where I document the reasoning behind the work: what failed, what changed, how I tested it and what the production constraints were. It contains hundreds of technical posts across .NET, architecture, AI systems, search, performance and software delivery.
My main production language is C#, but I do not treat a language as a boundary around my engineering ability. For example, I built and operated a Python/PyTorch/FastAPI translation service based on the abandoned EasyNMT project, integrating local inference and model-family fallback into the site platform. In other projects, I have studied approaches from tools written in other languages and implemented the relevant ideas in .NET to meet deployment and performance constraints.
The point is not that every language is interchangeable. It is that system design, debugging, data flow and operational judgement transfer, while syntax and libraries can be learned when the work requires them.
I start by understanding the product, the people using it and the path data takes through the system. Then I find the smallest architecture that handles the real constraints and leaves room for change. I value clear ownership, useful automation, observable services and direct conversations. I am comfortable with uncertainty; I am less interested in ceremony that does not help a team deliver.
I do not expect every problem to need AI, microservices or a rewrite. I want the solution to be understandable, operable and proportionate to the problem. When the interesting answer is a new model or an unfamiliar technology, I will investigate it, build a small proof and measure whether it earns a place in the product.
I studied Psychology at the University of Stirling. It has been useful in my work on user behaviour, team dynamics and systems that need to make decisions from incomplete signals.
I previously published ASP.NET articles on mostlylucid.co.uk for around a decade. After working on the ASP.NET team at Microsoft, I returned to independent consulting and product development. The current site and its source code are available at mostlylucid.net and GitHub.
I am open to hands-on engineering leadership, principal-level roles, contract work and consulting where I can help a team understand the problem, build the system and get it into production.
© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.