{"contact":{"name":{"first":"Thomas","last":"Deinhamer"},"role":"Frontend Engineer","status":"employed","email":"hello@thasmo.com","website":"https://thasmo.com/","photo":"https://avatar.thasmo.com/","location":{"city":"Salzburg","country":"Austria"}},"profiles":[{"name":"LinkedIn","handle":"linkedin","url":"https://www.linkedin.com/in/thasmo/"},{"name":"XING","handle":"xing","url":"https://www.xing.com/profile/Thomas_Deinhamer/"},{"name":"GitHub","handle":"github","url":"https://github.com/thasmo/"},{"name":"Stack Overflow","handle":"stackoverflow","url":"https://stackoverflow.com/users/455988/thasmo"},{"name":"Bluesky","handle":"bluesky","url":"https://bsky.app/profile/thasmo.com"},{"name":"Website","handle":"website","url":"https://thasmo.com/"}],"languages":[{"name":"German","level":"native"},{"name":"English","level":"fluent"}],"interests":["community","music","food","movies","technology","coffee","internet","gaming","nature","open source"],"experiences":[{"name":"Fredmansky","company":"Fredmansky GmbH","url":"https://www.fredmansky.at/","technologies":["Vue","Craft CMS","TypeScript","PHP","HTML","Twig","Tailwind","Vite","Sass","CSS"],"positions":[{"name":"Senior Full-Stack Developer","start":"2025-09"}]},{"name":"Digital Brands Group","company":"DBG Digital Brands Group GmbH","url":"https://www.dbg-digital.com/","testimonial":true,"technologies":["React","GraphQL","TypeScript","Vector Database","OpenAI API","Shopify Plugin"],"positions":[{"name":"Senior Frontend Developer","start":"2023-10","end":"2024-12"}],"tasks":["Development of a large-scale SPA based on React and Material UI in collaboration with an international team of over 100 people.","Design and development of a RAG chatbot based on ChatGPT and Pinecone with Shopify integration."]},{"name":"pixelart","company":"pixelart GmbH","url":"https://www.pixelart-agency.com/","testimonial":true,"technologies":["Webpack","TypeScript","Sass","HTML","Webflow","TYPO3","PHP"],"positions":[{"name":"Senior Web Developer","start":"2018-01","end":"2023-09"},{"name":"Web Developer","start":"2015-08","end":"2017-12"}],"tasks":["Interdisciplinary, cross-team collaboration with colleagues and clients to develop customized web-based solutions by contributing technical expertise.","Development and optimization of a product website based on Webflow (website builder) for a client in the kitchen supply industry.","Implementation and optimization of modern website frontends based on web technologies (HTML, JS, CSS) using modern development and build tools.","Development and optimization of corporate and product websites based on TYPO3 (CMS) for clients in the German-speaking region.","Design and development of a Webpack framework based on a plugin architecture for agency-wide application of development and quality standards."]},{"name":"LOOP","company":"LOOP New Media GmbH","url":"https://www.agentur-loop.com/","technologies":["HTML","CSS","JavaScript","PHP","jQuery"],"positions":[{"name":"Web Developer","start":"2012-11","end":"2015-06"}],"tasks":["Development and optimization of corporate and product websites based on a proprietary CMS for international clients.","Development and optimization of web-based social media applications.","Implementation, optimization, and extension of modern website frontends based on web technologies (HTML, JS, CSS) using modern tools.","Development of an internal proprietary CMS based on PHP and web standards."]},{"name":"eyedea","company":"eyedea Werbe GmbH","url":"https://www.eyedea.at/","technologies":["HTML","CSS","JavaScript","TYPO3","PHP","jQuery"],"positions":[{"name":"Web Developer","start":"2009-07","end":"2012-10"}]},{"name":"Connetation","company":"Connetation Web Engineering GmbH","url":"https://www.connetation.at/","technologies":["HTML","CSS","JavaScript","TYPO3","PHP","jQuery"],"positions":[{"name":"Web Developer","start":"2007-10","end":"2009-06"}]},{"name":"ncm","company":"ncm - Net Communication Management GmbH","url":"https://www.ncm.at/","technologies":["HTML","CSS","JavaScript","jQuery"],"positions":[{"name":"Web Developer","start":"2007-03","end":"2007-09"}]}],"projects":[{"name":"Media Processing Extension for TYPO3","description":"TYPO3 extension for integrating various image processing libraries and SaaS cloud services.","url":"https://github.com/somehow-digital/typo3-media-processing","start":"2023-05","technologies":["TYPO3","Symfony","PHP","Composer"]},{"name":"imgproxy URL Builder","description":"PHP library for generating imgproxy URLs in a type-safe, immutable, and composable way.","url":"https://github.com/somehow-digital/php-imgproxy","start":"2025-05","technologies":["PHP","Composer"]},{"name":"Spellcheck Plugin for Commitlint","description":"Commitlint plugin for spellchecking commit messages using cspell.","url":"https://github.com/somehow-digital/commitlint-plugin-spellcheck","start":"2024-05","technologies":["commitlint","cspell","JavaScript"]},{"name":"Lettermint Plugin for Craft CMS","description":"Lettermint integration for Craft CMS.","url":"https://plugins.craftcms.com/lettermint","start":"2025-12","technologies":["Craft CMS","PHP","Composer"]},{"name":"imgproxy Plugin for Craft CMS","description":"imgproxy integration for Craft CMS.","url":"https://plugins.craftcms.com/imgproxy","start":"2026-02","technologies":["Craft CMS","PHP","Composer"]},{"name":"Mailpit Plugin for Craft CMS","description":"Mailpit integration for Craft CMS.","url":"https://plugins.craftcms.com/mailpit","start":"2026-03","technologies":["Craft CMS","PHP","Composer"]},{"name":"Lettermint Mailer for Symfony","description":"Lettermint integration for Symfony.","url":"https://github.com/somehow-digital/symfony-lettermint-mailer","start":"2025-12","technologies":["Symfony","Lettermint","PHP","Composer"]},{"name":"Weather App","description":"Responsive weather app built with Vue and the Open-Meteo API.","url":"https://weather.thasmo.dev/","start":"2025-06","technologies":["Vue","UnoCSS","Vite","Netlify","HTML","CSS","TypeScript"]},{"name":"React Template","description":"React template for personal projects.","url":"https://github.com/somehow-digital/react-template","start":"2025-07","technologies":["React","UnoCSS","Vite","HTML","CSS","TypeScript"]},{"name":"Vue Template","description":"Vue template for personal projects.","url":"https://github.com/somehow-digital/vue-template","start":"2025-06","technologies":["Vue","UnoCSS","Vite","HTML","CSS","TypeScript"]},{"name":"Astro Template","description":"Astro template for personal projects.","url":"https://github.com/somehow-digital/astro-template","start":"2025-02","technologies":["Astro","UnoCSS","HTML","CSS","TypeScript"]},{"name":"Personal Website","url":"https://thasmo.com/","start":"2014-12","technologies":["Astro","UnoCSS","Cloudflare","HTML","CSS","TypeScript"]},{"name":"Personal Resume","url":"https://resume.thasmo.com/","start":"2025-01","technologies":["Astro","UnoCSS","Cloudflare","HTML","CSS","TypeScript"]}],"technologies":[{"name":"Git","level":3,"url":"https://git-scm.com/"},{"name":"OpenAI","level":1,"url":"https://openai.com/"},{"name":"REST","level":3,"url":"https://en.wikipedia.org/wiki/REST"},{"name":"Pinecone","level":1,"url":"https://www.pinecone.io/"},{"name":"Next.js","level":1,"url":"https://nextjs.org/"},{"name":"UnoCSS","level":2,"url":"https://unocss.dev/"},{"name":"Tailwind","level":2,"url":"https://tailwindcss.com/"},{"name":"ESLint","level":2,"url":"https://eslint.org/"},{"name":"Jest","level":2,"url":"https://jestjs.io/"},{"name":"Webpack","level":2,"url":"https://webpack.js.org/"},{"name":"GraphQL","level":2,"url":"https://graphql.org/"},{"name":"XML","level":3,"url":"https://www.w3schools.com/xml/"},{"name":"Angular","level":1,"url":"https://angular.io/"},{"name":"GSAP","level":3,"url":"https://gsap.com/"},{"name":"Symfony","level":2,"url":"https://symfony.com/"},{"name":"Docker","level":2,"url":"https://www.docker.com/"},{"name":"PHP","level":3,"url":"https://www.php.net/"},{"name":"SQL","level":2,"url":"https://www.w3schools.com/sql/"},{"name":"TYPO3","level":3,"url":"https://typo3.org/"},{"name":"Craft CMS","level":2,"url":"https://craftcms.com/"},{"name":"React","level":2,"url":"https://react.dev/"},{"name":"TypeScript","level":3,"url":"https://www.typescriptlang.org/"},{"name":"JavaScript","level":3,"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript"},{"name":"CSS","level":3,"url":"https://developer.mozilla.org/en-US/docs/Web/CSS"},{"name":"HTML","level":3,"url":"https://developer.mozilla.org/en-US/docs/Web/HTML"},{"name":"Vue","level":1,"url":"https://vuejs.org/"},{"name":"Astro","level":2,"url":"https://astro.build/"},{"name":"Netlify","level":1,"url":"https://www.netlify.com/"},{"name":"Cloudflare","level":1,"url":"https://www.cloudflare.com/"},{"name":"Nuxt","level":1,"url":"https://nuxt.com/"},{"name":"JSON","level":3,"url":"https://www.json.org/"},{"name":"Windows","level":3,"url":"https://en.wikipedia.org/wiki/Microsoft_Windows"},{"name":"macOS","level":2,"url":"https://en.wikipedia.org/wiki/MacOS"},{"name":"Linux","level":3,"url":"https://en.wikipedia.org/wiki/Linux"},{"name":"Composer","level":2,"url":"https://getcomposer.org/"},{"name":"Qwik","level":1,"url":"https://qwik.dev/"},{"name":"Node","level":2,"url":"https://nodejs.org/"},{"name":"pnpm","level":3,"url":"https://pnpm.io/"},{"name":"npm","level":3,"url":"https://npmjs.com/"},{"name":"knip","level":2,"url":"https://knip.dev/"},{"name":"Vite","level":2,"url":"https://vitejs.dev/"}],"skills":["constant learning","attention to detail","independence","self-reflection","adaptability","teamwork","critical thinking","analytical thinking","conscientiousness","knowledge transfer","active listening","persuasiveness","responsibility","process optimization","goal orientation","strategic approach"],"values":["fairness","honesty","authenticity","helpfulness","openness","appreciation"]}