[{"data":1,"prerenderedAt":272},["ShallowReactive",2],{"service-projects-en-printer-management-wichtel-wunsch-impax-tours-hotel-checkin-platform":3},[4,78,146,207],{"id":5,"title":6,"body":7,"category":56,"challenge":57,"description":50,"extension":58,"featured":59,"image":60,"images":60,"impact":61,"meta":62,"navigation":63,"order":64,"path":65,"seo":66,"slug":67,"solution":68,"stem":69,"tagline":70,"tags":71,"testimonial":60,"testimonial_author":60,"testimonial_role":60,"url":60,"__hash__":77},"projects_en\u002Fprojects\u002Fen\u002Fprinter-management.md","Printer Management Platform",{"type":8,"value":9,"toc":49},"minimark",[10,15,19,23,42,46],[11,12,14],"h2",{"id":13},"project-overview","Project Overview",[16,17,18],"p",{},"Developed at CAMAO Tec (later rebranded to mmmake), this project involved building a printer management web application for a multi-store European retailer. The goal was to give operations teams a clear overview of all physical printer devices across their European store network, including device settings, physical locations, and associated metadata.",[11,20,22],{"id":21},"key-features","Key Features",[24,25,26,30,33,36,39],"ul",{},[27,28,29],"li",{},"Device overview dashboard across all store locations",[27,31,32],{},"CRUD operations for printer devices, settings, and metadata",[27,34,35],{},"OIDC\u002FOAuth authentication with audience validation and permission-based access control",[27,37,38],{},"Integration with an internal StencilJS UI component library",[27,40,41],{},"Mock-data layer to maintain delivery pace during API development",[11,43,45],{"id":44},"technical-highlights","Technical Highlights",[16,47,48],{},"The application was built on Vue 3, marking the company's first adoption of the framework. The REST API followed OpenAPI Spec 3 and required implementing a full OIDC authentication flow against an internal identity provider. Where the product design diverged from the component library, I worked directly with the library owners to identify and resolve issues — fixes that propagated to all framework consumers of the library, including native web components.",{"title":50,"searchDepth":51,"depth":51,"links":52},"",2,[53,54,55],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":44,"depth":51,"text":45},"web-app","A multi-store European retailer needed a web interface to manage physical printers across all their locations — covering device overviews, settings, location assignment, and metadata. The project also served as the company's first introduction of Vue into their tech stack.","md",false,null,"The application launched successfully and became the foundation for future feature extensions. The team was fully onboarded into Vue with a solid understanding of component architecture and ecosystem best practices. Bug fixes contributed back to the shared component library benefited all downstream framework consumers.",{},true,3,"\u002Fprojects\u002Fen\u002Fprinter-management",{"title":6,"description":50},"printer-management","I built the web application using Vue 3 and an internal StencilJS-based UI component library, connected to a REST API following OpenAPI Spec 3 with OIDC authentication. I implemented OAuth-compliant auth including audience and permission checks, bridged gaps where the design diverged from the component library, and kept delivery on schedule by using mock data and mock services while the API was still in development. I also onboarded the development team into Vue, coaching best practices in component design and the Vue ecosystem.","projects\u002Fen\u002Fprinter-management","Europe-wide device management for retail",[72,73,74,75,76],"Vue 3","TypeScript","OIDC","REST API","StencilJS","Lml6xl48r7TlYoOKrxLziNBNr39Ol4Krxj6c7Y1WCco",{"id":79,"title":80,"body":81,"category":56,"challenge":123,"description":50,"extension":58,"featured":63,"image":124,"images":125,"impact":128,"meta":129,"navigation":63,"order":130,"path":131,"seo":132,"slug":133,"solution":134,"stem":135,"tagline":136,"tags":137,"testimonial":60,"testimonial_author":60,"testimonial_role":60,"url":144,"__hash__":145},"projects_en\u002Fprojects\u002Fen\u002Fwichtel-wunsch.md","Wichtel-Wunsch",{"type":8,"value":82,"toc":118},[83,85,88,90,113,115],[11,84,14],{"id":13},[16,86,87],{},"Wichtel-Wunsch is a personal side project — a mobile-first Progressive Web App for organizing Secret Santa gift exchanges and managing wish lists. It solves the coordination problem of gift giving events without relying on group chats or spreadsheets.",[11,89,22],{"id":21},[24,91,92,95,98,101,104,107,110],{},[27,93,94],{},"Create and manage Wichtel events with a shareable invite link",[27,96,97],{},"Personal wish lists with optional shop URLs for each participant",[27,99,100],{},"All wish lists visible to every event member — no more guessing",[27,102,103],{},"Google OAuth authentication via Supabase Auth",[27,105,106],{},"Installable PWA with web push notification support",[27,108,109],{},"GDPR-compliant data export (Art. 15)",[27,111,112],{},"Fully responsive, mobile-first design",[11,114,45],{"id":44},[16,116,117],{},"Built with Nuxt 4 and Vue 3 on the frontend, backed by Supabase (PostgreSQL) for the database and authentication layer. Every table is protected with Row Level Security policies. The project includes a comprehensive test suite: 163 database tests using pgTAP covering schema constraints, RLS rules, and application behavior, plus E2E tests with Cypress.",{"title":50,"searchDepth":51,"depth":51,"links":119},[120,121,122],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":44,"depth":51,"text":45},"Organizing Secret Santa events is chaotic — who buys for whom, what does each person actually want, and how do you coordinate without spoiling surprises? Existing tools are either too bloated or require accounts on third-party platforms people don't trust.","\u002Fimages\u002Fprojects\u002Fwichtel-wunsch.webp",[124,126,127],"\u002Fimages\u002Fprojects\u002Fwichtel-wunsch-event.webp","\u002Fimages\u002Fprojects\u002Fwichtel-wunsch-admin.webp","A clean, installable PWA that makes Secret Santa events effortless to organize. The app is GDPR-compliant with a data export feature, secured with Row Level Security on every database table, and backed by 163 automated database tests covering schema integrity, RLS policies, and business logic.",{},6,"\u002Fprojects\u002Fen\u002Fwichtel-wunsch",{"title":80,"description":50},"wichtel-wunsch","I built Wichtel-Wunsch as a mobile-first Progressive Web App using Nuxt 4, Vue 3, and Supabase. Users can create events, invite friends via a shareable link, and manage personal wish lists with optional shop links. All participant wish lists are visible within the event, so no one needs to guess. Authentication is handled via Google OAuth, and the app is fully installable on any device.","projects\u002Fen\u002Fwichtel-wunsch","Secret Santa & wish list PWA",[138,139,73,140,141,142,143],"Nuxt","Vue.js","Supabase","PostgreSQL","TailwindCSS","PWA","https:\u002F\u002Fwichtel-wunsch.app","95bansLqOEWlaezIEMr6cJLRtciGgZIaXhK2CGQcG9k",{"id":147,"title":148,"body":149,"category":185,"challenge":186,"description":50,"extension":58,"featured":63,"image":187,"images":60,"impact":188,"meta":189,"navigation":63,"order":190,"path":191,"seo":192,"slug":193,"solution":194,"stem":195,"tagline":196,"tags":197,"testimonial":202,"testimonial_author":203,"testimonial_role":204,"url":205,"__hash__":206},"projects_en\u002Fprojects\u002Fen\u002Fimpax-tours.md","IMPAX Tours",{"type":8,"value":150,"toc":180},[151,153,156,158,175,177],[11,152,14],{"id":13},[16,154,155],{},"IMPAX Tours is an online platform for booking outdoor travel experiences, specialising in surf camps and backpacker lodges worldwide. On behalf of IMPAX Tours UG, I developed the complete web platform as a freelance full-stack developer over a period of 10 months.",[11,157,22],{"id":21},[24,159,160,163,166,169,172],{},[27,161,162],{},"Location-based search with filters for destination, accommodation type, and availability",[27,164,165],{},"Integrated booking flow with payment processing",[27,167,168],{},"Provider dashboard for managing surf camps and backpacker lodges",[27,170,171],{},"Responsive design for mobile and desktop users",[27,173,174],{},"Sustainability section with information on eco-conscious travel",[11,176,45],{"id":44},[16,178,179],{},"The platform was built with a Laravel backend and Vue.js frontend. The architecture is designed for scalability and supports multiple providers with their own content management. The search functionality is powered by a database-driven filtering solution with geographical criteria.",{"title":50,"searchDepth":51,"depth":51,"links":181},[182,183,184],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":44,"depth":51,"text":45},"booking-platform","IMPAX Tours needed a scalable platform where travelers could find and directly book surf camps and backpacker lodges worldwide – including search, destination filtering, and payment integration.","\u002Fimages\u002Fprojects\u002Fimpax-tours.webp","The platform launched successfully, enabling travelers worldwide to find and book outdoor accommodations. The project was completed over 10 months of freelance work and received the highest praise from the managing director.",{},1,"\u002Fprojects\u002Fen\u002Fimpax-tours",{"title":148,"description":50},"impax-tours","I built the entire platform as a full-stack developer using Laravel as the backend and Vue.js as the frontend. The solution includes location-based search, filters by destination and accommodation type, and a fully integrated booking and payment flow.","projects\u002Fen\u002Fimpax-tours","Surf & travel booking platform",[139,198,199,200,201],"Laravel","PHP","MySQL","Booking","Mr. Enns completed his tasks to our complete satisfaction and met our expectations in every respect. We regret to lose him as a freelancer.","Andre Baumunk","Managing Director, IMPAX Tours UG","https:\u002F\u002Fimpax-tours.com","0aQlRQsmHu5h7jrilxl8kuX2duf63hADqj8waA_yig4",{"id":208,"title":209,"body":210,"category":56,"challenge":252,"description":50,"extension":58,"featured":63,"image":253,"images":254,"impact":258,"meta":259,"navigation":63,"order":51,"path":260,"seo":261,"slug":262,"solution":263,"stem":264,"tagline":265,"tags":266,"testimonial":268,"testimonial_author":269,"testimonial_role":270,"url":60,"__hash__":271},"projects_en\u002Fprojects\u002Fen\u002Fhotel-checkin-platform.md","Digital Hotel Check-in System",{"type":8,"value":211,"toc":247},[212,214,217,219,242,244],[11,213,14],{"id":13},[16,215,216],{},"This project involved building a fully digital guest check-in and room booking system for a hospitality group, deployed on in-lobby tablets. The application walks guests through the entire check-in process in a step-by-step flow, from room selection to booking confirmation.",[11,218,22],{"id":21},[24,220,221,224,227,230,233,236,239],{},[27,222,223],{},"Interactive floor plan for per-room selection, with real-time availability colour coding",[27,225,226],{},"Room type overview with feature comparison (Standard, Deluxe, Suite)",[27,228,229],{},"Multi-field personal data form with client-side validation (name, contact, passport, vehicle registration)",[27,231,232],{},"Booking overview screen displaying a full summary before confirmation",[27,234,235],{},"Digital signature capture with touchscreen support",[27,237,238],{},"AGB (terms & conditions) and Gästetaxe (tourist tax) integration",[27,240,241],{},"Fully German-language UI matching the client's brand identity",[11,243,45],{"id":44},[16,245,246],{},"The application was built with Vue.js and a PHP\u002FREST API backend. The interactive floor plan renders room availability dynamically based on backend data, with colour states for available, occupied, and premium rooms. The multi-step flow uses client-side state management to preserve guest data across steps without premature server calls.",{"title":50,"searchDepth":51,"depth":51,"links":248},[249,250,251],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":44,"depth":51,"text":45},"A hospitality group needed to replace their paper-based guest check-in process with a modern, tablet-friendly web application that guides guests through room selection, personal data entry, and booking confirmation — all without staff involvement.","\u002Fimages\u002Fprojects\u002Fhotel-checkin-platform.webp",[253,255,256,257],"\u002Fimages\u002Fprojects\u002Fhotel-checkin-personal-data.webp","\u002Fimages\u002Fprojects\u002Fhotel-checkin-room-selection.webp","\u002Fimages\u002Fprojects\u002Fhotel-checkin-floor-plan.webp","The system eliminated paper-based check-in entirely, reduced average check-in time significantly, and enabled the hotel to manage room availability and guest data digitally from day one.",{},"\u002Fprojects\u002Fen\u002Fhotel-checkin-platform",{"title":209,"description":50},"hotel-checkin-platform","I developed a multi-step web application with Vue.js featuring a dynamic room selection screen with interactive floor plan, a personal data form with validation, a booking overview with digital signature, and a full German-language UI tailored to the client's brand.","projects\u002Fen\u002Fhotel-checkin-platform","Digital hotel check-in system",[139,73,199,75,267],"Hotel","Fantastische Zusammenarbeit mit einem hohem Grad an Zuverlässigkeit, Geschwindigkeit und Qualität.","Stephan Wiese","COO, bloc group","ZQaSduOXrHxaiRKuTpyW_r_oXU3fnG3THvHVsDe0CA4",1783940055543]