[{"data":1,"prerenderedAt":522},["ShallowReactive",2],{"locale-alternates:\u002Fen\u002Fskills":3,"advisor-launcher-en":8,"skills-en":46,"skills-data":89},{"locales":4,"fallback":7},[5,6],"de","en","index",{"id":9,"title":10,"body":11,"description":12,"extension":13,"followups":14,"greeting":18,"launcher":19,"links":22,"meta":30,"navigation":31,"notice":32,"path":33,"placeholder":34,"seo":35,"stem":37,"suggestions":38,"__hash__":45},"advisor_en\u002Fen\u002Fadvisor.yml","Check your project",null,"Describe briefly what you have in mind. The advisor checks it against my skills and tells you honestly whether it fits — including when the answer is no.","yml",[15,16,17],"What would that cost roughly?","How long does something like this take?","Is there a reference project for that?","Tell me briefly what you want built — what it is, who it is for, and by when. I will tell you whether it fits my skills, and summarise it for the contact form if you want.",{"title":20,"text":21},"Does your project fit?","Describe briefly what you have in mind. I will tell you honestly whether it fits Manuel's skills — including when the answer is no.",[23,27],{"label":24,"to":25,"color":26},"Write directly","#kontakt","neutral",{"label":28,"color":26,"variant":29},"See services","outline",{},true,"This conversation is sent to DeepSeek to be answered, a provider outside Switzerland and the EU. Please do not enter confidential information. Details in the privacy policy.","\u002Fen\u002Fadvisor","Describe your project …",{"title":10,"description":36},"A short conversation instead of a blank contact form: describe your project and find out whether it fits my skills.","en\u002Fadvisor",[39,40,41,42,43,44],"We need a new website with a CMS.","Take over and continue an existing Vue app.","Automate recurring manual work with AI.","Build or replace an online shop.","Implement a smart contract or Web3 integration.","Ongoing development capacity, part time.","ryqYWvoA4p35gf6PrRpJBE4MDGRPMiYBZkoBCjejz54",{"id":47,"title":48,"body":11,"description":49,"extension":13,"intro":50,"legend":51,"links":55,"meta":60,"navigation":31,"notes":61,"path":65,"plain":66,"seo":85,"stem":87,"__hash__":88},"skills_en\u002Fen\u002Fskills.yml","Skills","What I can do, rated openly — and beside it, what shifts once AI is in the loop. From TypeScript and Nuxt through Solidity to the things no machine takes over.","Two values per row. The first is what I can do unaided. The second is what comes out when I bring\nAI along. With AI almost everything lands above 90 — what differs is how far it had to travel.\nWhere I am already solid the distance is short. Where I am competent rather than expert, AI lifts\nthe most. And where there is no second value at all, it changes nothing.\n",{"solo":52,"ai":53,"note":54},"CH1 · WITHOUT AI","CH2 · WITH AI — the gap","Self-assessed, not certified. The evidence sits under projects and certificates.",[56,58],{"label":57,"to":25,"color":26},"Discuss a project",{"label":59,"color":26,"variant":29},"Send an email",{},{"plain":62,"overview":63,"complete":64},"No jargon. For the people who decide but do not write the software.","The tools named, sorted by area — one page, one look.","Every skill rated individually, with and without AI. Exhaustive, and just as much for the language models that read this page.","\u002Fen\u002Fskills",{"intro":67,"canTitle":68,"can":69,"cannotTitle":77,"cannot":78,"closing":84},"No jargon: what I can build for you, and what you are better off ordering from someone else.\nBoth lists are what the service pages already commit to — this is the same thing without the\ntechnology in between.\n","What I can do for you",[70,71,72,73,74,75,76],"Build a website or an online offering that belongs to you and that your team can maintain without me","Turn a process that today runs on spreadsheets and email into a tool several people can use at once","Have a program do the recurring desk work — and, if you need it, keep your data inside your own building","Take over an existing application, repair it and carry it on, even when nobody remembers how it works","Be a standing part of your week instead of a whole position you have to fill","Tell you up front roughly what something costs, and tell you honestly when it is not worth doing","Work in German, Swiss German or English","What I do not do",[79,80,81,82,83],"Design a logo or a brand. I implement design carefully, but I am not a graphic designer.","A real iPhone or Android app. In the browser yes, as a native app no.","Work where several teams run in parallel for years. That needs an agency, and I will say so in the first call.","Be reachable around the clock. Maintenance yes, night-time on-call no.","Promise something I have never built, because it happens to be in demand.","If what you need is on the second list, you will hear it in the first call rather than after the\nquote. Often I know someone who does it better.\n",{"title":48,"description":86},"A self-assessment across frontend, blockchain, AI, backend and ways of working — each rated with and without AI assistance. In three readings: plain words, overview, complete.","en\u002Fskills","gO7U3NgTMb2ZiFuvOhrFvx2gf4v-cZcVQwK33Kflz1s",{"id":90,"_comment":91,"categories":92,"extension":141,"meta":142,"skills":143,"stem":520,"__hash__":521},"skillsData\u002Fskills.json","Die eine Datei, die du bearbeitest. `solo` = dein Können ohne KI, `ai` = mit KI, beide 0-100. Lass `ai` weg, wo KI nichts ändert (gesprochene Sprachen). `name` gilt für beide Sprachen; `de`\u002F`en` nur dort, wo das Label wirklich übersetzt werden muss. — This is the one file you edit. `solo` is your level without AI, `ai` with it, both 0-100. Omit `ai` where AI changes nothing. `name` is used in both languages; `de`\u002F`en` only where a label genuinely needs translating.",[93,97,101,104,108,112,115,119,126,133,137],{"id":94,"de":95,"en":96},"languages","Sprachen","Languages",{"id":98,"de":99,"en":100},"code","Programmiersprachen","Programming languages",{"id":102,"de":103,"en":103},"frontend","Frontend & UI",{"id":105,"de":106,"en":107},"backend","Backend, Daten & APIs","Backend, data & APIs",{"id":109,"de":110,"en":111},"systems","CMS & Shop-Systeme","CMS & commerce systems",{"id":113,"de":114,"en":114},"web3","Blockchain & Web3",{"id":116,"de":117,"en":118},"ai","KI & Automation","AI & automation",{"id":120,"de":121,"en":122,"note":123},"models","KI-Modelle & Anbieter","AI models & providers",{"de":124,"en":125},"Werkzeuge, keine Fähigkeiten — der Balken zeigt, wie intensiv ich damit arbeite, nicht was ich ohne sie kann.","Tools rather than skills — the bar shows how much I work with each, not what I can do without them.",{"id":127,"de":128,"en":129,"note":130},"genmedia","Bild, Ton & Video","Image, audio & video",{"de":131,"en":132},"Ebenfalls Werkzeuge. Eingesetzt für Bild-, Ton- und Videomaterial in eigenen Projekten.","Tools as well. Used for image, audio and video material in my own projects.",{"id":134,"de":135,"en":136},"infra","Infrastruktur & Werkzeuge","Infrastructure & tooling",{"id":138,"de":139,"en":140},"craft","Arbeitsweise","Ways of working","json",{},[144,149,154,159,164,169,172,175,179,184,188,192,196,200,204,208,211,215,219,223,227,231,235,240,244,249,253,258,261,265,268,273,276,280,284,287,290,294,298,302,306,309,312,315,319,323,327,331,334,338,341,343,347,351,354,358,362,366,370,373,377,380,384,387,390,393,396,400,404,408,411,415,419,422,424,427,430,433,436,439,442,446,450,453,456,459,463,466,470,473,477,481,485,488,492,496,500,504,508,512,516],{"id":145,"category":94,"de":146,"en":147,"solo":148},"german","Deutsch (Muttersprache)","German (native)",88,{"id":150,"category":94,"de":151,"en":152,"solo":153},"swiss-german","Schweizerdeutsch (Muttersprache)","Swiss German (native)",90,{"id":155,"category":94,"de":156,"en":157,"solo":158},"spanish","Spanisch (mündlich, B1–B2)","Spanish (spoken, B1–B2)",55,{"id":160,"category":94,"de":161,"en":162,"solo":163},"english","Englisch (B2–C1)","English (B2–C1)",72,{"id":165,"category":98,"name":166,"solo":167,"ai":168},"typescript","TypeScript",85,95,{"id":170,"category":98,"name":171,"solo":167,"ai":168},"javascript","JavaScript",{"id":173,"category":98,"name":174,"solo":167,"ai":168},"html","HTML",{"id":176,"category":98,"name":177,"solo":178,"ai":168},"css","CSS",75,{"id":180,"category":98,"name":181,"solo":182,"ai":183},"solidity","Solidity",80,98,{"id":185,"category":98,"name":186,"solo":187,"ai":183},"sql","SQL",70,{"id":189,"category":98,"name":190,"solo":191,"ai":183},"python","Python",50,{"id":193,"category":98,"name":194,"solo":195,"ai":168},"php","PHP",33,{"id":197,"category":98,"name":198,"solo":199,"ai":183},"c++","C++",30,{"id":201,"category":98,"name":202,"solo":203,"ai":153},"rust","Rust",10,{"id":205,"category":102,"name":206,"solo":207,"ai":168},"vue","Vue 3",87,{"id":209,"category":102,"name":210,"solo":207,"ai":168},"nuxt","Nuxt",{"id":212,"category":102,"name":213,"solo":214,"ai":168},"nuxt-ui","Nuxt UI",82,{"id":216,"category":102,"name":217,"solo":218,"ai":168},"tailwind","Tailwind CSS",84,{"id":220,"category":102,"name":221,"solo":222,"ai":183},"sass","SASS \u002F SCSS",74,{"id":224,"category":102,"name":225,"solo":187,"ai":226},"vite","Vite",97,{"id":228,"category":102,"de":229,"en":230,"solo":218,"ai":168},"responsive","Responsive Design","Responsive design",{"id":232,"category":102,"de":233,"en":234,"solo":182,"ai":183},"design-systems","Designsysteme & Styleguides","Design systems & styleguides",{"id":236,"category":102,"de":237,"en":238,"solo":239,"ai":183},"figma","Figma zu Code","Figma to code",77,{"id":241,"category":102,"de":242,"en":243,"solo":214,"ai":168},"ssr-seo","SSR, SEO & Performance","SSR, SEO & performance",{"id":245,"category":102,"de":246,"en":247,"solo":248,"ai":226},"a11y","Barrierefreiheit (WCAG)","Accessibility (WCAG)",64,{"id":250,"category":102,"de":251,"en":252,"solo":163,"ai":226},"motion","Animation & Motion","Animation & motion",{"id":254,"category":109,"name":255,"solo":256,"ai":257},"drupal","Drupal",62,96,{"id":259,"category":109,"name":260,"solo":256,"ai":257},"storyblok","Storyblok",{"id":262,"category":109,"name":263,"solo":264,"ai":226},"nuxt-content","Nuxt Content",78,{"id":266,"category":109,"name":267,"solo":158,"ai":168},"wordpress","WordPress",{"id":269,"category":109,"name":270,"solo":271,"ai":272},"directus","Directus",40,94,{"id":274,"category":109,"name":275,"solo":271,"ai":272},"strapi","Strapi",{"id":277,"category":102,"name":278,"solo":279,"ai":168},"react","React",47,{"id":281,"category":102,"name":282,"solo":283,"ai":168},"nextjs","Next.js",42,{"id":285,"category":105,"name":286,"solo":182,"ai":168},"nodejs","Node.js",{"id":288,"category":105,"name":289,"solo":187,"ai":183},"bun","Bun",{"id":291,"category":105,"de":292,"en":293,"solo":182,"ai":168},"rest-apis","REST-APIs & Integrationen","REST APIs & integrations",{"id":295,"category":105,"de":296,"en":297,"solo":182,"ai":168},"zod","Zod & Schema-Validierung","Zod & schema validation",{"id":299,"category":105,"en":300,"de":301,"solo":239,"ai":168},"sqlite","SQLite (incl. FTS5)","SQLite (inkl. FTS5)",{"id":303,"category":105,"name":304,"solo":305,"ai":257},"mysql","MySQL",57,{"id":307,"category":105,"name":308,"solo":248,"ai":226},"express","Express",{"id":310,"category":105,"name":311,"solo":222,"ai":183},"playwright","Playwright",{"id":313,"category":105,"name":314,"solo":222,"ai":183},"puppeteer","Puppeteer",{"id":316,"category":105,"de":317,"en":318,"solo":187,"ai":226},"email","E-Mail: SMTP, IMAP & Zustellbarkeit","Email: SMTP, IMAP & deliverability",{"id":320,"category":105,"de":321,"en":322,"solo":187,"ai":183},"telegram","Telegram-Bots","Telegram bots",{"id":324,"category":105,"de":325,"en":326,"solo":239,"ai":183},"hardware","Geräteanbindung (Serial, MIDI)","Device integration (serial, MIDI)",{"id":328,"category":109,"name":329,"solo":330,"ai":272},"prestashop","PrestaShop",52,{"id":332,"category":109,"name":333,"solo":330,"ai":272},"shopify","Shopify",{"id":335,"category":113,"de":336,"en":337,"solo":222,"ai":183},"smart-contracts","Smart Contracts","Smart contracts",{"id":339,"category":113,"name":340,"solo":187,"ai":226},"foundry","Foundry",{"id":342,"category":113,"name":342,"solo":163,"ai":183},"viem",{"id":344,"category":113,"de":345,"en":346,"solo":222,"ai":183},"evm-deploy","EVM-Deployment","EVM deployment",{"id":348,"category":113,"de":349,"en":350,"solo":239,"ai":183},"dapps","dApps & Wallet-Anbindung","dApps & wallet integration",{"id":352,"category":113,"name":353,"solo":239,"ai":183},"nfts","NFTs",{"id":355,"category":113,"de":356,"en":357,"solo":187,"ai":226},"defi","DeFi & Flash Loans","DeFi & flash loans",{"id":359,"category":113,"name":360,"solo":361,"ai":257},"ipfs","IPFS",67,{"id":363,"category":113,"de":364,"en":365,"solo":187,"ai":226},"onchain-data","On-Chain-Datenanalyse","On-chain data analysis",{"id":367,"category":113,"de":368,"en":369,"solo":256,"ai":257},"contract-security","Smart-Contract-Sicherheit","Smart contract security",{"id":371,"category":113,"de":372,"en":372,"solo":305,"ai":168},"solana","Solana (web3.js)",{"id":374,"category":113,"name":375,"solo":376,"ai":257},"hardhat","Hardhat",76,{"id":378,"category":113,"name":379,"solo":376,"ai":257},"ethers","ethers.js",{"id":381,"category":116,"de":382,"en":383,"solo":182,"ai":168},"llm-products","LLM-Integration in Produkte","LLM integration in products",{"id":385,"category":116,"name":386,"solo":182,"ai":168},"ai-sdk","Vercel AI SDK",{"id":388,"category":116,"name":389,"solo":182,"ai":168},"langchain","LangChain JS\u002FTS",{"id":391,"category":116,"name":392,"solo":218,"ai":168},"claude-code","Claude Code",{"id":394,"category":116,"name":395,"solo":218,"ai":168},"opencode","OpenCode",{"id":397,"category":116,"de":398,"en":399,"solo":182,"ai":168},"prompting","Prompt Engineering","Prompt engineering",{"id":401,"category":116,"de":402,"en":403,"solo":239,"ai":168},"rag","RAG & Volltextsuche","RAG & full-text search",{"id":405,"category":116,"de":406,"en":407,"solo":239,"ai":168},"agents","Agenten & Workflow-Automation","Agents & workflow automation",{"id":409,"category":116,"name":410,"solo":222,"ai":183},"deepseek","DeepSeek",{"id":412,"category":116,"de":413,"en":414,"solo":361,"ai":226},"local-llm","Lokal betriebene Sprachmodelle","Locally hosted language models",{"id":416,"category":116,"de":417,"en":418,"solo":279,"ai":168},"ml","Machine Learning (PyTorch)","Machine learning (PyTorch)",{"id":420,"category":120,"solo":168,"name":421},"claude","Claude",{"id":423,"category":120,"solo":168,"name":410},"deepseek-m",{"id":425,"category":120,"solo":168,"name":426},"chatgpt","ChatGPT (OpenAI)",{"id":428,"category":120,"solo":168,"name":429},"gemini","Gemini (Google)",{"id":431,"category":120,"solo":168,"name":432},"kimi","Kimi (Moonshot)",{"id":434,"category":120,"solo":168,"name":435},"grok","Grok (xAI)",{"id":437,"category":127,"solo":199,"name":438},"midjourney","Midjourney",{"id":440,"category":127,"solo":153,"name":441},"kling","Kling AI",{"id":443,"category":127,"solo":444,"name":445},"elevenlabs",60,"ElevenLabs",{"id":447,"category":127,"solo":448,"name":449},"flux",45,"Flux",{"id":451,"category":127,"solo":283,"name":452},"veo","Google Veo",{"id":454,"category":127,"solo":271,"name":455},"suno","Suno",{"id":457,"category":134,"de":458,"en":458,"solo":218,"ai":168},"git","Git & GitHub",{"id":460,"category":134,"de":461,"en":462,"solo":222,"ai":183},"ci","CI\u002FCD mit GitHub Actions","CI\u002FCD with GitHub Actions",{"id":464,"category":134,"de":465,"en":465,"solo":163,"ai":183},"cloudflare","Cloudflare Workers & Pages",{"id":467,"category":134,"de":468,"en":469,"solo":222,"ai":183},"vitest","Testing mit Vitest","Testing with Vitest",{"id":471,"category":134,"name":472,"solo":239,"ai":183},"eslint","ESLint",{"id":474,"category":134,"de":475,"en":476,"solo":239,"ai":183},"cli","CLI-Werkzeuge & Bibliotheken","CLI tools & libraries",{"id":478,"category":134,"de":479,"en":480,"solo":222,"ai":183},"npm","npm-Publishing","npm publishing",{"id":482,"category":134,"de":483,"en":484,"solo":187,"ai":226},"shell","Linux & Shell","Linux & shell",{"id":486,"category":134,"name":487,"solo":305,"ai":257},"docker","Docker",{"id":489,"category":138,"de":490,"en":491,"solo":182,"ai":183},"requirements","Anforderungen klären & schätzen","Scoping & estimating",{"id":493,"category":138,"de":494,"en":495,"solo":214},"client-comms","Kundenkommunikation","Client communication",{"id":497,"category":138,"de":498,"en":499,"solo":182,"ai":168},"takeover","Fremde Codebasen übernehmen","Taking over existing codebases",{"id":501,"category":138,"de":502,"en":503,"solo":239,"ai":183},"code-review","Code Review","Code review",{"id":505,"category":138,"de":506,"en":507,"solo":222,"ai":168},"docs","Dokumentation","Documentation",{"id":509,"category":138,"de":510,"en":511,"solo":163,"ai":257},"scrum","Scrum & agiles Arbeiten","Scrum & agile delivery",{"id":513,"category":138,"de":514,"en":515,"solo":187,"ai":257},"mentoring","Mentoring & Wissenstransfer","Mentoring & knowledge transfer",{"id":517,"category":138,"de":518,"en":519,"solo":218},"saying-no","Nein sagen zum falschen Weg","Saying no to the wrong approach","skills","721pKe4MSMmAgNQaryo7Le-C3bxmScKGReWt9Ro3BIk",1788983344840]