I design and build full-stack applications, frontend architectures, and UX/UI systems for complex data, search, and AI-assisted products.
My work combines software engineering, frontend architecture, interaction design, retrieval systems, and data integration. I focus on applications that help users explore large datasets, understand system behaviour, evaluate evidence, and complete complex tasks efficiently.
I contribute across the full product lifecycle: from stakeholder analysis, requirements engineering, and UX design to system architecture, implementation, integration, testing, and evaluation.
- Full-stack application development with Vue, Nuxt, TypeScript, APIs, backend services, and data pipelines
- Frontend architecture for scalable, maintainable, and data-intensive applications
- UX and UI engineering for complex workflows, search interfaces, dashboards, and specialist tools
- Requirements engineering, including stakeholder analysis, essential use cases, user stories, acceptance criteria, and prioritization
- Elasticsearch, semantic search, RAG, vector retrieval, ranking, and retrieval evaluation
- AI-assisted workflows that expose sources, uncertainty, diagnostics, and user control
Research infrastructure for the discovery, integration, and exploration of audiovisual metadata and film-related materials.
- Designed search, navigation, comparison, and metadata-exploration workflows for hierarchical and heterogeneous data
- Developed the Vue and Nuxt frontend architecture for complex research and data-management use cases
- Integrated Elasticsearch-backed search with domain-specific filtering, structured results, and accessible interaction patterns
https://github.com/AV-EFI https://www.av-efi.net
A local retrieval-augmented generation system for software-development and research workflows.
- Built a Qdrant- and Ollama-based retrieval pipeline with strict project separation and configurable search profiles
- Implemented code-aware ranking, HyDE, source weighting, retrieval-only modes, and diagnostic tooling
- Developed MCP tools and benchmark suites for IDE integration, feedback capture, and systematic retrieval evaluation
https://github.com/steffolino/local-rag
A structured knowledge platform for German social services, public benefits, aid programmes, organisations, and support contacts.
- Designed an LLM-ready data model for structured, source-based social-service information
- Built crawling, enrichment, moderation, validation, API, and evidence-aware retrieval pipelines
- Developed user-facing answer paths, plain-language fallbacks, source transparency, and retrieval diagnostics
https://github.com/steffolino/systemfehler https://systemfehler.info
An in-progress GovTech platform for combining municipal data, local signals, and external data sources in a shared operational view.
- Integrates administrative, mobility, event, sensor, infrastructure, and public data in a map-based application
- Supports tenant-specific datasets, configurable imports, external interfaces, and independently managed data overlays
- Makes indicators traceable by exposing their sources, assumptions, contributing signals, and uncertainty
Status: In progress
A proof of concept for analysing tourism activity and potential visitor-flow patterns using publicly available social-media signals.
- Collects, classifies, aggregates, and visualises location-relevant public content
- Provides geographic heatmaps, time-based exploration, and additional municipal data overlays
- Communicates uncertainty and source context rather than presenting inferred activity as precise measurement
https://github.com/steffolino/in-flow-encer https://inflowencer.stefanstretz.de
An open civic PWA for finding, reviewing, and reporting public toilets in German cities.
- Combines structured location data, community contributions, reviews, and public information
- Provides multilingual, map-based search, detail views, and contribution workflows
- Supports accessibility-relevant attributes, user-submitted updates, and mobile-first interaction
https://github.com/steffolino/sandra-loo https://steffolino.github.io/sandra-loo/toilets/
A Chrome and Firefox extension prototype for privacy-first analysis of potentially harmful or risky online comments.
- Performs rule-based analysis locally in the browser without transmitting comment text
- Uses content scripts, an MV3 background worker, platform adapters, and contextual UI overlays
- Includes safeguards for false positives, user control, transparency, and non-authoritative recommendations
https://github.com/steffolino/trollguard-extension
A playable Nuxt and Vue survival roguelite card-game MVP developed as an interaction-design and state-management experiment.
- Implements drafting, rival groups, daily actions, dice-based resolution, events, recruitment, and progression
- Uses typed, data-driven game rules and reusable Vue and Nuxt components
- Makes probabilities, calculations, state transitions, and outcomes visible and understandable to the player
https://github.com/steffolino/thegame
- Leipzig Open Data: 3D civic-data visualisation using ArcGIS, nitrogen-dioxide measurement timelines, and map-based exploration
- LLM UI Benchmark: Controlled local evaluation of generated interfaces for quality, accessibility, consistency, and instruction-following
- Knowledge Graph Editor: Domain-expert editing interface for structured graph data without requiring knowledge of RDF or SPARQL
I treat software architecture, frontend engineering, and UX design as connected parts of the same product system.
A technically sound application still fails when its state is unclear, workflows are difficult to understand, data cannot be trusted, or the interface exposes implementation details instead of supporting user goals.
My work therefore combines:
- Clear boundaries between frontend, backend, domain logic, APIs, and data pipelines
- Maintainable state models, resilient data loading, and predictable application behaviour
- Accessible, responsive, and task-oriented interaction design
- Transparent search, ranking, recommendation, and AI-assisted workflows
- Interfaces that help users understand results, assumptions, uncertainty, and failure states
Before implementation, I make the problem explicit:
- Identify stakeholders, user groups, constraints, risks, and decision points
- Define essential use cases before designing individual screens or technical components
- Translate ambiguous requirements into user stories, acceptance criteria, and testable workflows
- Separate business rules, user goals, edge cases, and technical assumptions
- Make priorities, dependencies, and trade-offs visible to stakeholders
For search and AI-assisted systems, I work from the available evidence:
- Which sources are available?
- How are results retrieved, selected, and ranked?
- Which assumptions and limitations should the interface expose?
- Where can users inspect, compare, correct, or reject a result?
- Which failure states need to be visible and understandable?
Complex systems rarely fail because of code alone. They also fail when requirements remain ambiguous, responsibilities are unclear, stakeholders are misaligned, or users cannot understand how the system reached a result.
Portfolio: https://stefanstretz.de
Available for:
- Full-stack development for complex data, search, and AI-assisted products
- Frontend architecture with Vue, Nuxt, TypeScript, and API-driven systems
- UX and UI engineering for data-intensive applications and specialist workflows
- Requirements engineering, essential use cases, and stakeholder workshops
- Search UX, Elasticsearch, semantic search, RAG, ranking, and retrieval evaluation
- Dashboards, metadata tools, civic applications, and research software
Upwork: https://www.upwork.com/freelancers/~010d9cdbf11b00a5ca
Freelance.de: https://www.freelance.de/freelancer/393980-UX-Engineer-Frontend-Developer-HCI-Specialist
Also available for direct project enquiries.

