Portfolio

I develop my own products and build software for clients.

Native apps

My team and I develop apps for iOS and watchOS, from the user interface to hardware and backend integration. To me, testable architecture and well-integrated platform features are part of the job.

Applications with AI

We integrate language models, AI agents, and computer vision into desktop and web applications, connecting the models to the data and functions they need for each task.

Development that scales

We build the technical foundation that helps teams scale faster with people and AI: modular architecture, automated tests, and reliable build and release processes.

Business

AI & innovation

A view of the PyleHound workspace
PyleHound

Agentic AI workspace for legal professionals

I co-founded PyleHound with Dr. Franka Becker. As CTO, I lead the technical development of our agentic AI workspace for legal professionals. With PyleHound, we bring the capabilities of AI agents to working with case files, contracts, and legal briefs, through a desktop app for Windows and macOS.

pylehound.com
  • Document analysis & contract review
  • Intelligent case-law research
  • GDPR-compliant & secure
beansandbytes website
beansandbytes

AI consulting and software development

As Managing Director of beansandbytes, I work with our team to help businesses develop software and put AI to use. We contribute product ideas, implement defined requirements, and continue developing existing applications. Our work also covers the architecture, automated tests, and development processes that help our clients scale their development efforts.

beansandbytes.de
  • Faster delivery of AI projects
  • Standardized AI products
KI-Kompetenz-Kurs website
KI-Kompetenz-Kurs

Understanding and applying AI

In our AI literacy courses, we teach the fundamentals of using AI at work. In online courses and workshops, you and your team learn how AI works, what it can do, and what to consider when using it.

ki-kompetenz-kurs.de
  • EU AI Act competency training
  • Knowledge transfer through workshops and e-learning

Selected work

Client projects, own products, and technical prototypes

A view of the PyleHound workspace
PyleHound GmbH
June 2025 to present

PyleHound — agentic AI workspace for legal professionals

As CTO and co-founder, I develop PyleHound together with my team, an agentic AI workspace for legal professionals on Windows and macOS. We combine local document processing and search with AI agents for research and document analysis. We apply the same agentic approaches we build into PyleHound to our own software development, automating planning, implementation, and reviews while holding ourselves to the absolute highest quality standards, backed by automated tests, cross-reviews between AI agents, and review by our team.

Technical implementationTypeScriptElectronReactGoogle Vertex AI

What I built

  • Local data storage and full-text search through a local-first architecture with on-device storage and indexing.
  • Orchestration of legal research and document analysis through an agentic tool loop with bounded sub-agents and parallel searches.
  • Processing of heterogeneous file formats through an extensible processor pipeline for formats including PDFs, Office documents, emails, and email archives, combining local extraction with cloud-based vision models.
  • Semantic search and AI-powered analysis across deterministically selected document sets, consolidating results into structured comparison tables.
  • Hallucination detection and prevention through a structured citation protocol, programmatic validation against original documents, and dynamic context injection between agent-loop iterations.
  • Indexing of statutes and case law through a dedicated cloud indexing service with a research corpus kept separate from client data.
  • Regional restriction of model processing by routing all model requests to endpoints in EU regions.
  • Integration of text and spreadsheet editors built on a shared Lexical document model, with change tracking for AI-generated edits and export pipelines for DOCX, PDF, Markdown, XLSX, and CSV.

Technologies

App

TypeScriptElectronReactNode.jsTailwind CSSTanStack Router / Table / VirtualLexical

Data and AI

SQLite / FTS5SupabaseVercel AI SDKGoogle Vertex AIVertex AI SearchAzure AI Speech

Documents

PDF.js / PDFium

Testing and deployment

VitestPlaywrightGitHub Actionselectron-vite / electron-builderDockerGoogle Cloud Run
AI training app: daily overview with readiness score, workout plan, and recommendations

Prototype

2026

Native training app with AI coaching

I built an independent iOS prototype for training planning and AI coaching. Its architecture combines a modular native app with a Swift backend, shared API contracts, and local persistence. One focus is validating AI-generated training plans through explicit technical rules.

Technical implementationSwiftUIKitVaporPostgreSQL

What I built

  • End-to-end type safety between the iOS app and Vapor backend through shared Swift models and a typed API router.
  • Separation of the user interface from business logic and platform services through modular TCA features, UIKitNavigation, and injectable client interfaces.
  • Synchronization of locally recorded training data through a SQLite outbox, server-side sequence numbers, deletion tombstones, and timestamp-based conflict resolution.
  • Validation of AI-generated training plans through structured model output, deterministic invariant checks, and a correction attempt with specific error feedback.
  • Streaming of contextual AI responses through server-side preparation of training history and an SSE pipeline between the model provider, Vapor, and the iOS app.
  • Verification of reducers, API contracts, and model communication through Swift Testing suites, TCA TestStore, and local HTTP test servers for streaming responses.

Technologies

App and architecture

SwiftUIKitThe Composable ArchitectureUIKitNavigationSQLiteData

Backend and AI

VaporFluentPostgreSQLFirebase AuthenticationGoogle Vertex AIServer-Sent Events

Testing and infrastructure

Swift TestingTCA TestStoreSnapshotTestingDockerTerraformGoogle Cloud RunXcodeGen
AI conversation trainer: job interview simulation with feedback bot and voice recording

Undisclosed client

2024 to 2026

AI conversation trainer for sales and support

I pitched the idea for an AI conversation trainer to the client and built a native iOS prototype. The app combines spoken role-play with configurable scenarios and AI-generated feedback. A speech pipeline with custom voice activity detection coordinates recording, transcription, response generation, and speech synthesis.

Technical implementationSwiftSwiftUIAzure OpenAI

What I built

  • Spoken training dialogues through a cascaded pipeline combining audio capture, Azure speech recognition, AI response generation and OpenAI speech synthesis.
  • Speech input segmentation through custom voice activity detection with an adaptive noise threshold, audio buffering and pause detection.
  • Configurable role-play through separate models for scenarios, personas, difficulty levels and conversation goals.
  • Feedback on individual responses through a separate AI call with conversation context, configurable assessment criteria and structured JSON output.
  • Updates to client-specific training content through JSON imports from a web service, QR-code entry and local scenario storage.
  • Coordination of recording, transcription, response generation and playback through asynchronous event streams and explicit conversation states.

Technologies

App

SwiftSwiftUIUIKitCombineFactory

Audio and AI

AVFoundationAccelerateAzure AI SpeechAzure OpenAIOpenAI Text-to-Speech

Data and integration

Swift Concurrency / AsyncStreamURLSessionCodable / JSONAppStorageCodeScanner

Digital whiteboard provider

2025 to 2026

Diagram scanner: from image to structured graph

With our team, I developed a computer vision pipeline for a digital whiteboard provider. We turn diagram images into structured nodes, connections, and labels by combining specialized detection, segmentation, and OCR models with geometric post-processing.

Technical implementationPythonFastAPIPyTorchAWS SageMaker

What I built

  • Detection of different diagram elements through an RF-DETR detector trainable on annotated COCO data, followed by conversion into structured nodes.
  • Reconstruction of connections through line-mask skeletonization, arrow endpoint extraction, and geometric association with nearby shapes.
  • Assignment of rotated labels through PaddleOCR, orientation detection, and spatial matching of text regions to detected nodes.
  • Estimation of shape colors and orientation through SAM2 segmentation, masked color analysis, and specialized ResNet18 angle classifiers.
  • Serving inference through a containerized FastAPI endpoint with locally supplied model weights and structured JSON output.
  • Reproducible model and pipeline development through training notebooks, nbdev module export, and Terraform-managed SageMaker infrastructure.

Technologies

Pipeline and API

PythonFastAPIPydanticNumPyOpenCVscikit-image

Models and documents

PyTorchRF-DETRSAM2ResNet18PaddleOCRPyMuPDF

Training and deployment

Jupyter / nbdevDockerTerraformAWS SageMakerAmazon S3 / ECR

WetterOnline

2022 to 2025

Weather app for iOS and watchOS

Working with the WetterOnline team, I developed core parts of the iOS and watchOS app, from rebuilding the weather feed with SwiftUI and TCA to location management, search, widgets, severe weather notifications, the Apple Watch app, and integration of the Rust-based rendering engine. My work also covered accessibility, advertising and consent integration, and improvements to automated tests and build and release pipelines.

Technical implementationSwiftSwiftUIRustGitLab CI

What I built

  • Modernization of the weather feed and detail views through modular SwiftUI and TCA components with explicit state logic and snapshot tests.
  • Restructuring of location management and search through separate services for storage, location resolution, and search suggestions, alongside server-side management of severe weather notification subscriptions.
  • Integration of configurable widgets using location-specific weather data and deeplinks with correct navigation even on a cold app launch.
  • Accessibility improvements through adjustable font sizes, contrast-aware rendering, and alternative controls for horizontal scrolling.
  • Restructuring of advertising and consent integration through separate services, explicit loading states, and on-demand ad loading in the weather feed.
  • Modularization of the Apple Watch app using SwiftUI and TCA with injectable services, plus reliable location resolution between Watch and iPhone through fallbacks, timeouts, and deterministic tests.
  • Integration of Rust-based radar and SkyScene rendering through Swift bindings and Metal, with rendering controlled by visibility and the app lifecycle.
  • Reproducible GPU analysis through automated UI flows, local radar fixtures, and comparative Metal System Traces on physical devices.
  • Automation of build, test, and release processes using GitLab CI and Fastlane with reusable build artifacts, unit, snapshot, and UI tests, and aggregated coverage reports.

Technologies

App and architecture

SwiftSwiftUIUIKitiOS / watchOSThe Composable ArchitectureSwift Package Manager

Rendering and platform integration

MetalRust FFICoreLocationWatchConnectivity

Testing and deployment

Swift TestingXCTestSnapshotTestingGitLab CIFastlaneXcode Instruments

Software development

2024

Browser widget for prompt pseudonymization

The browser widget detects personal details and other sensitive prompt content locally using token classification and regular expressions, replacing them with placeholders. A local mapping allows the original details to be inserted back into pasted responses.

Technical implementationJavaScriptTransformers.js

What I built

  • Detection of names and other entities through token classification running locally in the browser with Transformers.js.
  • Supplementary pattern matching for email addresses, phone numbers, URLs and numbers using regular expressions.
  • Restoration of original details from placeholders through a mapping held in the browser.
  • Integration into existing websites through a JavaScript module with its own interface and style isolation using Shadow DOM.

Technologies

Interface

JavaScript / ES ModulesHTMLCSSShadow DOMTailwind CSS

Text processing

Transformers.jsToken Classification / NERRegular expressions

Elevator door manufacturer

2021 to 2023

Service app for elevator door systems

I worked on a native iOS service app for elevator door systems. The app combines device configuration and firmware updates over BLE with chat and video calls for support. Protocol-based services separate the interface from sequential communication with the proprietary door controllers.

Technical implementationSwiftSwiftUIBluetooth Low Energy

What I built

  • Communication with proprietary door controllers through a BLE channel with sequential request processing, response parsers, and checksums.
  • Decoupling hardware access from the interface through protocol-based services, dependency injection, and reactive state propagation with Combine and RxSwift.
  • Coordination of firmware installation through sequential transfers, a progress model, and explicit cancellation and error handling.
  • Integration of video support through Amazon Chime with API-based session coordination and retries for invalid meeting configurations.
  • Local persistence of support conversations through a Core Data model for tickets, messages, and attachments with separate API and file services.
  • Verification of protocol parsers, disconnect handling, and call coordination through XCTest and generated service mocks.

Technologies

App

SwiftSwiftUIUIKitCombineResolver

Hardware

CoreBluetoothRxBluetoothKitRxSwiftPromiseKit

Support and data

Amazon Chime SDKCore DataAlamofire

Testing and deployment

XCTestSourcerySwift Package Managerfastlane

Prototype

2023

Native strength-training app

I explored a modular architecture for a native strength-training app. The prototype combines TCA features with a local Realm muscle catalog, asynchronous data access, and an in-app purchase adapter.

Technical implementationSwiftSwiftUIRealm

What I built

  • App modularization through separate Swift package targets for features, data access, and the design system, with composed TCA reducers.
  • Local muscle catalog through Realm models with relationships between muscle groups, muscles, and exercises, plus initial data seeding.
  • Asynchronous data access through an actor-bound Realm client and injectable dependencies for feature reducers.
  • Integration of purchase and entitlement queries through a RevenueCat adapter that bridges callback APIs to async/await.

Technologies

App and architecture

SwiftSwiftUIThe Composable ArchitectureSwift Package Manager

Data and concurrency

RealmSwift Concurrency

Purchase integration

RevenueCat
lapz: interval workout with countdown and pause controlslapz: workout plan with exercises and rest intervals

Own product, developed with a partner

2020 to 2022

lapz: HIIT interval timer

I developed lapz with a partner as a native iOS app for interval training. My contributions included timer logic, workout editing and sharing, and audio cue management. The application combines SwiftUI with local persistence and native integrations for shared workouts, health data, and in-app purchases.

Technical implementationSwiftSwiftUI

What I built

  • Modeling complex interval sequences through separate timer, state, and session models with Combine publishers for pauses, rounds, and interval transitions.
  • Local management of workouts and intervals through Core Data with a separate data access layer and injectable services.
  • Synchronization of shared workouts over SharePlay through state messages for timer mode, elapsed time, and interval position, with state transfer for new participants.
  • Coordination of HealthKit recording with workout progression through an actor that handles state changes, pauses, and interval transitions.
  • Verification of timer states, data access, and purchase entitlements through behavior-based unit tests, mocked services, and local StoreKit tests.

Technologies

App and architecture

SwiftSwiftUICombineResolver

Data and platform integration

Core DataHealthKitSharePlay / GroupActivitiesStoreKitAVFoundation

Testing and development

XCTestQuick / NimbleStoreKitTestSwiftLintSwift Package Manager

Prototype

2022

Native stock analysis app

I explored the technical foundation of a native stock analysis app: modular SwiftUI views, typed company and balance-sheet data, and package-scoped localization. The architecture prototype includes initial search and watchlist interfaces using demo data.

Technical implementationSwiftSwiftUI

What I built

  • App structure through separate Swift package targets for search, watchlists, detail views, and data access, with TCA state models.
  • Modeling nested company and balance-sheet data through typed Codable structures for company information and quarterly and annual figures.
  • Bilingual interfaces through a dedicated localization client with German and English resources bundled in the package.

Technologies

App and architecture

SwiftSwiftUIThe Composable ArchitectureSwift Package Manager

Data and localization

CodableFoundationNSLocalizedString

Undisclosed client

2022

Companion app for connected hardware

I developed a cross-platform companion app for a connected hardware product. The application combines a shared React and Ionic codebase with Bluetooth Low Energy communication with the device.

Technical implementationReactIonicBluetooth Low Energy

What I built

  • Cross-platform implementation of the interface through a shared codebase using React and Ionic.
  • Integration of the hardware product with the companion app over Bluetooth Low Energy.

Technologies

App

ReactIonic

Hardware integration

Bluetooth Low Energy
Fabian Rittmeier

Contact

For inquiries or just to chat.

Get in touch

kontakt@beansandbytes.de