TypeScript
Core language across both projects for safer components, typed APIs, structured data models, and more reliable refactoring.
Core language across both projects for safer components, typed APIs, structured data models, and more reliable refactoring.
Primary frontend framework for both Hainstreet and this portfolio, using the App Router, localized page flows, and production-ready routing.
Used across Hainstreet and this portfolio to build reusable UI components, interactive flows, and client-side state handling.
Used in Hainstreet to structure the dedicated identity and community services with modules, controllers, validation, and backend business logic.
Used in Hainstreet as the main relational database layer with separate identity and community databases for structured domain, membership, onboarding, moderation, and billing data.
Used in Hainstreet as the ORM layer for database access, schema management, generated types, and service-level data operations across the backend.
Used in Hainstreet and this portfolio for schema-based validation, safer request handling, and keeping runtime validation aligned with TypeScript structures.
Used in both projects for responsive layouts, utility-based styling, and a consistent design system across pages and components.
Runtime foundation for the Hainstreet services, local builds, development scripts, and the backend-oriented parts of this portfolio.
Used alongside TypeScript for framework integration, browser behavior, and practical work across the wider React and Node.js ecosystem.
Used in Hainstreet for billing-related product flows such as checkout sessions, subscription handling, and payment-aware account logic.
Used for email delivery in both Hainstreet and this portfolio, including transactional flows, confirmation messages, and contact-related mail delivery.
Used for end-to-end browser tests in both this portfolio and the Hainstreet frontend, including navigation and user-flow coverage.
Used for fast automated tests in both this portfolio and the Hainstreet frontend, including API, setup, unit, and component-oriented test workflows.
Used for backend-oriented tests, especially around service logic, policies, and integration-related behavior.
Used extensively in Hainstreet to run local and production-ready multi-service environments with separate databases, service containers, health checks, and deployment-oriented Compose setups.
Used in Hainstreet for CI and deployment automation, including dependency setup, linting, tests, builds, Prisma generation, and production deployment workflows.
Used daily: this portfolio runs on Cloudflare Pages, while Hainstreet uses Cloudflare for domain, protection, and deployment-related infrastructure.
Used for repository management, version control, and day-to-day delivery workflows for both Hainstreet and this portfolio.
Used daily across Hainstreet for local startup, deployment, health checks, and operational scripts, as well as for general development workflows.
Used for question answering and chatbot projects, with strong familiarity in practical workflows, clean structure, and best practices.
Very familiar through personal native iOS projects developed in close work with Xcode.
Very familiar through personal native iOS projects developed in close work with Swift.
Not used directly in Hainstreet, but familiar through university work and professional collaboration workflows.
Backed by more than two years of practical experience in a professional environment as well as by university projects.
Very familiar through university projects and through using it to deepen my understanding of object-oriented programming.
Already familiar through both mobile app development and web development.
Backed by more than two years of practical experience in task tracking and development workflows in a professional environment.