[{"data":1,"prerenderedAt":383},["ShallowReactive",2],{"index-en":3,"mdc--pare04-key":216,"mdc--qry2e6-key":247,"mdc--krwmo-key":256,"index-services-en":265},{"id":4,"title":5,"about":6,"body":9,"clients":10,"description":63,"experience":64,"extension":104,"faq":105,"hero":148,"meta":170,"navigation":171,"path":172,"proof":173,"seo":204,"services":207,"stem":214,"__hash__":215},"index_en\u002Fen\u002Findex.yml","Manuel Haller Polo — Frontend, Blockchain & AI",{"title":7,"description":8},"About me","Building for the web since 2013, focused on blockchain since 2022. I work as a senior generalist with three sharp specialisms: modern frontend, AI and automation, blockchain and Web3 — a combination that rarely comes together in one person.\n\nFour of those years were spent as a frontend developer at a Swiss digital agency, delivering applications for pharma, industry and finance clients. Today I work independently from Basel as a registered sole proprietorship. 31 documented client and reference projects, 14 certificates — nine of them in blockchain and DeFi.\n",null,{"title":11,"description":12,"disclaimer":13,"items":14},"Clients I have worked for","Every client from 31 documented projects between 2017 and today.","These enterprise clients were served on behalf of the digital agency WONDROUS and Winterthur Medien AG respectively — not as direct mandates.",[15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61],{"name":16},"Roche",{"name":18},"Novartis",{"name":20},"Sandoz",{"name":22},"Alcon",{"name":24},"Daimler AG",{"name":26},"Basler Kantonalbank",{"name":28},"Arcondis",{"name":30},"BakerHicks",{"name":32},"Integra Biosciences",{"name":34},"Swiss Digital Initiative",{"name":36},"Morgan Sindall",{"name":38},"MTIP AG",{"name":40},"Hudson Group Investors",{"name":42},"Leap Partners",{"name":44},"Simplexity Group",{"name":46},"CVP",{"name":48},"DigitalBasel",{"name":50},"PHYGIFY",{"name":52},"Paddle8",{"name":54},"No Bias Media",{"name":56},"Garage Italia",{"name":58},"Winterthur Medien AG",{"name":60},"MoonMug",{"name":62},"Decentralex","I build modern web applications, AI automation and on-chain products. Independent in Basel, Switzerland, building for the web since 2013 — including four years delivering for enterprise clients through a Swiss digital agency.",{"title":65,"description":66,"items":67},"Career","Positions since 2007",[68,73,78,83,87,92,98],{"date":69,"position":70,"company":71},"10\u002F2022 – 08\u002F2023","Blockchain Developer at",{"name":58,"logo":72},"i-lucide-building-2",{"date":74,"position":75,"company":76},"02\u002F2022 – 08\u002F2023","Chief Blockchain Developer at",{"name":50,"logo":77},"i-lucide-boxes",{"date":79,"position":80,"company":81},"01\u002F2018 – 01\u002F2022","Frontend Developer at",{"name":82,"logo":72},"WONDROUS",{"date":84,"position":85,"company":86},"05\u002F2017 – 12\u002F2017","Frontend Developer Trainee at",{"name":82,"logo":72},{"date":88,"position":89,"company":90},"03\u002F2014 – 12\u002F2016","Web Design Specialist at",{"name":91,"logo":72},"X14",{"date":93,"position":94,"company":95},"08\u002F2013 – 03\u002F2014","Web Development Internship in",{"name":96,"logo":97},"Oftringen AG","i-lucide-graduation-cap",{"date":99,"position":100,"company":101},"07\u002F2007 – 07\u002F2011","Electronics Technician (Swiss EFZ) at",{"name":102,"logo":103},"JAQUET Technology Group","i-lucide-cpu","yml",{"title":106,"description":107,"categories":108},"Frequently asked questions","Terms, process and working together.",[109,121,136],{"title":110,"questions":111},"Terms",[112,115,118],{"label":113,"content":114},"What does working together cost?","My hourly rate is **CHF 165.–**, the same across all services — there is no discounted tier for simpler work and no surcharge for blockchain or AI.\n\nFor clearly scoped projects I am happy to quote a fixed price. That requires a conversation about scope and goals up front, so the fixed price is fair to both sides.\n\nFor context: senior and niche specialists in Switzerland in 2026 charge CHF 140–250+ per hour. CHF 165.– sits in the upper senior band.\n",{"label":116,"content":117},"How does invoicing work?","As a registered sole proprietorship (UID CHE-216.461.477) I invoice with Swiss VAT. On larger projects I work with partial invoices tied to completed milestones rather than a single invoice at the end.\n",{"label":119,"content":120},"Do you take on small jobs?","Yes. Not every task needs to be a project — sometimes it is a broken build, an integration that stopped delivering, or an assessment of existing code. Work like that is billed by time spent.\n",{"title":122,"questions":123},"Process & collaboration",[124,127,130,133],{"label":125,"content":126},"How does a project start?","With a no-obligation call of around thirty minutes. In it we establish what should be built, what it has to do, and what already exists.\n\nAfter that you receive a written assessment from me: scope, approach, timeline and cost — including, where warranted, the recommendation that something should be built differently or not at all.\n",{"label":128,"content":129},"Do you work on site or remotely?","Both. I am based in Basel and easy to reach for meetings in the region. The development work itself is usually remote, which is cheaper for you and more productive for me.\n",{"label":131,"content":132},"Which languages do you work in?","German, Swiss German and Spanish at native level, English fluently. I write documentation and code comments in English by default, or in German on request.\n",{"label":134,"content":135},"Are you available for a part-time engagement?","Yes, between 20 and 60 percent. This suits institutes, research groups, startups and SMEs that need ongoing engineering capacity but do not want to — or cannot — fill a full position.\n",{"title":137,"questions":138},"Technical",[139,142,145],{"label":140,"content":141},"Do you take over existing projects?","Yes, that is a service in its own right. If the previous developer is gone, nobody wants to touch the code any more, or the site has slowed to a crawl, I first assess what is there and tell you honestly whether repair is worthwhile or a rebuild will cost less.\n\nTaking over always includes making sure you are not left dependent on a single person again: a clean repository, documented deployment, traceable dependencies.\n",{"label":143,"content":144},"What do you work with?","Frontend with Vue 2 and 3, Nuxt 3 and 4, React and Next.js, TypeScript, Tailwind CSS. Backend with Node.js, SQLite, MySQL, Cloudflare Workers and Pages.\n\nFor AI: Anthropic Claude, OpenAI, locally hosted language models, retrieval and full-text search, MCP servers.\n\nFor blockchain: Solidity, Hardhat, ethers.js and viem on EVM chains such as Ethereum and Base, plus Solana with web3.js.\n",{"label":146,"content":147},"Can sensitive data stay in house?","Yes. AI solutions can be built on locally hosted language models so your data never leaves your infrastructure. That costs some quality compared to the large commercial models, but for personal data, patient data or trade secrets it is often the only sensible option.\n",{"links":149,"images":154},[150],{"label":151,"to":152,"color":153},"Discuss a project","#kontakt","neutral",[155,158,161,164,167],{"src":156,"alt":157},"\u002Fservices\u002F01-frontend-webapps.jpg","Websites, web apps and frontend engineering",{"src":159,"alt":160},"\u002Fservices\u002F02-ai-automation.jpg","AI automation and custom AI tooling",{"src":162,"alt":163},"\u002Fservices\u002F03-blockchain-web3.jpg","Blockchain and Web3 engineering",{"src":165,"alt":166},"\u002Fservices\u002F04-wartung-uebernahme.jpg","Taking over and maintaining existing projects",{"src":168,"alt":169},"\u002Fservices\u002F05-teilzeit-mandat.jpg","Part-time engagement for institutes, startups and SMEs",{},true,"\u002Fen",{"title":174,"description":175,"items":176},"Verifiable evidence","Instead of testimonials you would have to take on trust: things you can check yourself.",[177,183,188,192,198],{"title":178,"description":179,"icon":180,"url":181,"urlLabel":182},"feeltech","TypeScript library and CLI for FeelTech\u002FFeelElec FY signal generators. Published on npm under MIT licence, with GitHub Actions CI.","i-simple-icons-npm","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Ffeeltech","View on npm",{"title":184,"description":185,"icon":186,"url":187,"urlLabel":182},"exquis-midi","Full control of the Intuitive Instruments Exquis MPE controller from TypeScript — in Node and in the browser, via the official developer-mode MIDI API.","i-lucide-piano","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fexquis-midi",{"title":189,"description":190,"icon":191},"Four MCP servers","x-mcp, youtube-mcp, ark-db2 and ableton-mcp-extended — tools that let AI agents access external systems in a controlled way.","i-lucide-plug",{"title":193,"description":194,"icon":195,"url":196,"urlLabel":197},"14 certificates with credential IDs","Fourteen Coursera and Udemy certificates, nine of them on blockchain and DeFi. Each one individually verifiable via its credential ID.","i-lucide-badge-check","\u002Fabout","View certificates",{"title":199,"description":200,"icon":201,"url":202,"urlLabel":203},"Registered sole proprietorship","Manuel Haller Polo, Basel — UID CHE-216.461.477, active in both the Swiss federal business registry and the VAT register.","i-lucide-landmark","https:\u002F\u002Fwww.uid.admin.ch\u002FDetail.aspx?uid_id=CHE-216.461.477","Check the UID registry",{"title":205,"description":206},"Manuel Haller Polo — Senior Frontend, Blockchain & AI Engineer in Basel","Independent senior engineer based in Basel, Switzerland. Modern web apps with Vue and Nuxt, AI automation and blockchain solutions. Building for the web since 2013, 31 documented client projects.",{"title":208,"description":209,"cta":210},"Services","Five clearly scoped offerings — from a single website to an ongoing part-time engagement. All at the same hourly rate of CHF 165.–.",{"label":211,"to":212,"color":153,"variant":213},"See all services in detail","\u002Fservices","subtle","en\u002Findex","179Lx7Gdq-Ly3TvhcWA87C70FWMhv28u7U1dfoeD94E",{"data":217,"body":218},{},{"type":219,"children":220},"root",[221,237,242],{"type":222,"tag":223,"props":224,"children":225},"element","p",{},[226,229,235],{"type":227,"value":228},"text","My hourly rate is ",{"type":222,"tag":230,"props":231,"children":232},"strong",{},[233],{"type":227,"value":234},"CHF 165.–",{"type":227,"value":236},", the same across all services — there is no discounted tier for simpler work and no surcharge for blockchain or AI.",{"type":222,"tag":223,"props":238,"children":239},{},[240],{"type":227,"value":241},"For clearly scoped projects I am happy to quote a fixed price. That requires a conversation about scope and goals up front, so the fixed price is fair to both sides.",{"type":222,"tag":223,"props":243,"children":244},{},[245],{"type":227,"value":246},"For context: senior and niche specialists in Switzerland in 2026 charge CHF 140–250+ per hour. CHF 165.– sits in the upper senior band.",{"data":248,"body":249},{},{"type":219,"children":250},[251],{"type":222,"tag":223,"props":252,"children":253},{},[254],{"type":227,"value":255},"As a registered sole proprietorship (UID CHE-216.461.477) I invoice with Swiss VAT. On larger projects I work with partial invoices tied to completed milestones rather than a single invoice at the end.",{"data":257,"body":258},{},{"type":219,"children":259},[260],{"type":222,"tag":223,"props":261,"children":262},{},[263],{"type":227,"value":264},"Yes. Not every task needs to be a project — sometimes it is a broken build, an integration that stopped delivering, or an assessment of existing code. Work like that is billed by time spent.",{"id":266,"title":208,"body":9,"description":267,"extension":104,"items":268,"links":364,"meta":369,"navigation":171,"path":370,"rates":371,"seo":380,"stem":381,"__hash__":382},"services_en\u002Fen\u002Fservices.yml","Five clearly scoped offerings — from a single website through AI automation and blockchain to an ongoing part-time engagement. One hourly rate, no discounted or premium tiers.",[269,288,308,328,346],{"slug":270,"title":271,"tagline":272,"icon":273,"image":274,"intro":275,"deliverables":276,"stack":283,"proof":284},"frontend-webapps","Websites, web apps & frontend","Modern websites and custom web applications with Vue, Nuxt, React and Next.js.","i-lucide-layout-dashboard",{"src":156,"alt":157},"You need a website, an online offering or a custom web application — and someone who will carry the project from idea to launch? I have been building web solutions for over twelve years, four of them at a Swiss digital agency serving enterprise clients in pharma, industry and finance.\n",[277,278,279,280,281,282],"Modern, fast websites — responsive, accessible and built for search","Custom web applications, configurators and internal tools","Frontend engineering from Figma designs, including design system and styleguide","Integration with CMS platforms and APIs (Storyblok, Drupal, custom APIs)","Online shops and payment integration (Prestashop, Shopify)","Concept and advice: what should be built — and what should not","Vue.js 2 and 3, Nuxt, React, Next.js, TypeScript, Tailwind CSS, SASS, Node.js, Cloudflare Workers & Pages, SQLite, MySQL.",[285,286,287],"Four years as a frontend developer at a Swiss digital agency — delivering there for clients including Roche, Novartis, Sandoz, Daimler, Basler Kantonalbank and Arcondis","Subsequently frontend and backend at a Swiss media agency","Built and maintained reusable design systems and styleguides",{"slug":289,"title":290,"tagline":291,"icon":292,"image":293,"intro":294,"deliverables":295,"stack":303,"proof":304},"ai-automation","AI automation & custom AI tools","Chatbots, document analysis and automated workflows — with locally hosted models on request.","i-lucide-bot",{"src":159,"alt":160},"The same manual work over and over? Digging figures out of PDFs, preparing spreadsheets, answering enquiries, assembling reports? A lot of that can be reliably automated. I build AI solutions that actually run day to day — not just ones that look good in a demo video.\n",[296,297,298,299,300,301,302],"Chatbots and assistants for your website, intranet or messenger","Document and corpus analysis: searchable knowledge bases from PDFs, studies and archives","Automated evaluations, reports and data preparation from existing sources","Tooling for AI agents, so a language model can access your systems cleanly and under control","Workflow automation and integrations between programs that do not currently talk to each other","Structured data collection from the web","Privacy considered from the start: locally hosted models on request, so sensitive data never leaves the building","Anthropic Claude, OpenAI, locally hosted language models, retrieval and full-text search, MCP servers, Node.js, TypeScript, Python, SQLite, Cloudflare Workers, email and messenger automation.",[305,306,307],"ark-db2 — a SQLite FTS5 knowledge base over a PDF and EPUB library; replaces a roughly 100 GB Meilisearch server with a single portable file","Four published MCP servers used as tooling for AI agents","Machine learning in Python with PyTorch, HuggingFace and safetensors",{"slug":309,"title":310,"tagline":311,"icon":312,"image":313,"intro":314,"deliverables":315,"stack":323,"proof":324},"blockchain-web3","Blockchain & Web3","Smart contracts, dApps, wallet integration and on-chain data analysis on Ethereum, Base and Solana.","i-lucide-link",{"src":162,"alt":163},"Blockchain is rarely the answer — but when it is, you need someone who genuinely commands the technology rather than just the vocabulary. I have worked as Chief Blockchain Developer, hold nine blockchain and DeFi certificates, and run my own on-chain products.\n",[316,317,318,319,320,321,322],"Smart contracts in Solidity — development, testing and deployment on EVM chains","Decentralised applications (dApps) with wallet integration","NFT collections and token mechanics","DeFi protocol integration, including flash loans","On-chain data analysis and DEX evaluation","IPFS and decentralised storage","An honest up-front assessment of whether a blockchain is the right approach for your case at all","Solidity, Hardhat, ethers.js, viem, Ethereum, Base and other EVM chains, Solana with web3.js and Jupiter, IPFS, Multicall3, Uniswap V2\u002FV3, Morpho.",[325,326,327],"Chief Blockchain Developer at PHYGIFY (2022–2023), the first multichain NFT monetisation platform","Blockchain Developer at Winterthur Medien AG — Solidity, Hardhat, ethers.js, deployment on EVM chains","Nine blockchain and DeFi certificates, each verifiable via its credential ID",{"slug":329,"title":330,"tagline":331,"icon":332,"image":333,"intro":334,"deliverables":335,"stack":342,"proof":343},"wartung-uebernahme","Takeover & maintenance","Take over, repair and continue developing an existing website or web app.","i-lucide-wrench",{"src":165,"alt":166},"The previous developer is gone, the site has slowed to a crawl, or nobody dares touch the code? I take over existing projects, bring them to a clean and maintainable state, and keep developing them. The first step is always an honest assessment — including when it concludes that a rebuild will cost less than a repair.\n",[336,337,338,339,340,341],"Assessment: current state, risks and realistic effort, put in writing","Takeover of code, deployment and infrastructure without downtime","Security and dependency updates, resolution of accumulated debt","Performance optimisation and load times","Continued development of new features","Documentation, so you are not left dependent on a single person again","Vue, Nuxt, React, Next.js, PHP-based systems, WordPress, Drupal, Prestashop, Shopify, Node.js, classic LAMP stacks.",[344,345],"Over twelve years working on inherited codebases of wildly varying quality","Experience with handovers between agencies and internal teams",{"slug":347,"title":348,"tagline":349,"icon":350,"image":351,"intro":352,"deliverables":353,"stack":359,"proof":360},"teilzeit-mandat","Part-time engagement (20–60 %)","Ongoing engineering capacity for institutes, research groups, startups and SMEs.","i-lucide-handshake",{"src":168,"alt":169},"Some organisations need engineering capacity on an ongoing basis but not a full position — or cannot fill one. For cases like that I am available between 20 and 60 percent, on site in and around Basel or remotely.\n",[354,355,356,357,358],"Fixed, predictable availability over a longer period","Technical ownership of a product or an area","Support for internal teams, code reviews and knowledge transfer","Technical advice on tooling and architecture decisions","A direct point of contact instead of rotating agency staff","The full range across frontend, AI automation and blockchain — whatever your organisation actually needs.",[361,362,363],"Over twelve years of experience, 31 documented client projects","Experience in both agency delivery and independent product development","Available in and around Basel — on site or remote",[365,367],{"label":366,"color":153},"Book a call",{"label":368,"color":153,"variant":213},"Send an email",{},"\u002Fen\u002Fservices",{"title":110,"description":372,"items":373},"Transparent and consistent, so you know where you stand up front.",[374,375,376,377,378,379],"Hourly rate CHF 165.– — the same across all services, no discounted and no premium tier","Fixed price for clearly scoped projects on request","Invoiced with Swiss VAT as a registered sole proprietorship (UID CHE-216.461.477)","Partial invoices tied to completed milestones on larger projects","Advice and delivery in German, Swiss German, Spanish or English","First call of around thirty minutes free and without obligation",{"title":208,"description":267},"en\u002Fservices","rZFEhcHe7nevR_ms7wEPxajdAyE1ACWykIbyAvsXTY0",1786020816587]