# CreaTech > Freelance web development. Fast, modern, production-grade websites: the polish of a design studio with the reliability of an engineer. Diego Paganelli, Freelance Web Developer, working as CreaTech (crea-tech.uk). Contact: diego.createch@gmail.com ## Work - [GlitterBeam](https://crea-tech.uk/work/glitterbeam): The complete digital estate for a Multiregional radio station : UK and Italia websites plus native apps for iOS, Android, CarPlay, Android Auto and Fire TV. One brand, two countries, every screen. - [Tutto Napule](https://crea-tech.uk/work/tutto-napule): A headless Shopify storefront for authentic Neapolitan food, coffee and kitchenware: full commerce, customer accounts, a recipe journal, and a Pacco da Giù built on a real Southern Italian tradition. - [CreaOrganise](https://crea-tech.uk/work/crea-organise): Tell it a goal and Claude turns it into a prioritised plan, then drops the tasks onto your week. My deepest build with AI at the core. - [Christmas Shop 24](https://crea-tech.uk/work/christmas-shop-24): A headless Christmas retail store: collections, cart, blog and Shopify checkout, all wrapped in seasonal warmth. - [AstraLuna](https://crea-tech.uk/work/astraluna): A refined, celestial storefront for top-quality loose-leaf tea: custom ornaments, tin-label type, warm black and champagne gold. ## The Lab Small interaction experiments. Each page carries a working demo, a numbered walkthrough, and the component's full source, read off disk at build time and published under the MIT licence. The snippets are free to reuse in anything. - [An accessible marquee that pauses on hover and stops for reduced motion](https://crea-tech.uk/lab/accessible-marquee): A seamless scrolling row with a real pause button, a duplicate set hidden from screen readers, and no animation at all under reduced motion. Tags: CSS only, Accessible. - [A focus ring worth looking at, with :focus-visible](https://crea-tech.uk/lab/focus-ring): A focus indicator that reads clearly on any background, animates in without being distracting, and never appears on a mouse click. Tags: CSS only, Accessible. - [Spring animation in CSS with the linear() easing function](https://crea-tech.uk/lab/spring-drawer): A drawer that overshoots and settles like a real spring, with no physics library and no JavaScript animation loop. Tags: CSS only, React, Accessible. - [View Transitions in React: morphing a card into a detail view](https://crea-tech.uk/lab/view-transition-morph): A grid card that grows into a detail panel, using the View Transitions API and one shared name, with flushSync doing the work most examples leave out. Tags: React, Experimental. - [Anchor-positioned tooltip with CSS anchor-name and position-anchor](https://crea-tech.uk/lab/anchor-tooltip): A tooltip that pins itself to its trigger with CSS anchor positioning, and flips to the other side when there is no room. Tags: CSS only, Experimental, Accessible. - [Text scramble hover effect in React](https://crea-tech.uk/lab/text-scramble-link): A link whose characters decode from random glyphs into the real word on hover, resolving left to right. Tags: React, Accessible. - [Scroll-driven progress ring with animation-timeline in CSS](https://crea-tech.uk/lab/scroll-progress-ring): A ring that fills as you scroll, driven by the CSS scroll-driven animations API, with a scroll-listener fallback where it is not supported. Tags: CSS only, Scroll, Experimental. - [Duotone image reveal on hover with CSS mask and blend modes](https://crea-tech.uk/lab/duotone-image-reveal): An image that starts as a two-tone graphic, with colour bleeding back in from the centre on hover, and no JavaScript at all. Tags: CSS only, Accessible. - [Cursor-following spotlight on a frosted glass card](https://crea-tech.uk/lab/spotlight-glass-card): A soft accent glow that follows the pointer across a frosted panel, built from one pseudo-element and two custom properties. Tags: React. - [Magnetic button effect in CSS and React](https://crea-tech.uk/lab/magnetic-button): A button that leans toward the cursor as it approaches, with a brushed-aluminium sheen that tracks the pointer across its face. Tags: React, Accessible. ## Blog - [Where to host: Vercel, a VPS, or plain static](https://crea-tech.uk/blog/where-to-host-vercel-vps-or-static): Hosting is a recurring cost the client pays forever. A framework for matching the platform to the project instead of defaulting to the fanciest option. - [How AI assistants read your website](https://crea-tech.uk/blog/how-ai-assistants-read-your-website): Search is splitting in two: ranked links and AI answers. What structured data, clean HTML, and honest content do for your visibility in both. - [Do you need a CMS? How I decide](https://crea-tech.uk/blog/do-you-need-a-cms-how-i-decide): Markdown files, a headless CMS, or a database. Where your content should live depends on one question: who edits it, and how often? - [How I use AI in my dev workflow](https://crea-tech.uk/blog/how-i-use-ai-in-my-dev-workflow): Not hype, not fear. A practical look at where AI tools genuinely save time and where they still get in the way. - [Accessibility is not optional](https://crea-tech.uk/blog/accessibility-is-not-optional): A practical baseline for accessible web development: the checks that catch 80% of issues before they reach a user who needs them. - [Core Web Vitals in 2026: what actually moves the needle](https://crea-tech.uk/blog/core-web-vitals-2026-what-actually-moves-the-needle): Google's page experience signals have settled. Here's which optimisations have real impact and which are diminishing returns. - [What a custom website actually costs in 2026](https://crea-tech.uk/blog/what-a-custom-website-costs-in-2026): An honest breakdown of what goes into pricing a custom build, and why the range from £500 to £50,000 is wider than it looks. - [Static vs dynamic: how I decide](https://crea-tech.uk/blog/static-vs-dynamic-how-i-decide): The architecture decision that shapes every project. A simple framework for choosing between static generation, server rendering, and client-side fetching. - [Headless Shopify, without the headaches](https://crea-tech.uk/blog/headless-shopify-storefronts): Notes from building fast, custom storefronts on the Shopify Storefront API: cart, checkout, and content. - [TypeScript strict mode: the settings worth turning on](https://crea-tech.uk/blog/typescript-strict-mode-settings-worth-turning-on): Most projects ship with strict: true and call it done. Here are the additional flags that catch the bugs strict mode misses. - [Modern CSS you should actually be using](https://crea-tech.uk/blog/modern-css-you-should-actually-be-using): Container queries, cascade layers, and logical properties: the CSS features that changed how I write styles in 2025 and 2026. - [Why I build with Next.js 16 and SCSS Modules](https://crea-tech.uk/blog/why-nextjs-16-scss-modules): The stack behind crea-tech.uk: server components, design tokens, and styling without a utility framework. - [React 19: the features I actually use](https://crea-tech.uk/blog/react-19-features-i-actually-use): Actions, the use() hook, and form improvements: the React 19 additions that changed how I write components day to day. - [Edge functions: where to use them, where not to](https://crea-tech.uk/blog/edge-functions-where-to-use-them-where-not-to): Edge computing sounds fast by default. It isn't. Here's how to think about where edge functions actually help. - [Building an AI feature into a Next.js app](https://crea-tech.uk/blog/building-an-ai-feature-into-a-nextjs-app): Adding a real AI-powered interaction to a Next.js site: streaming responses, API routes, and keeping it from becoming a mess. ## Notes - Every page is statically generated; there is no content behind JavaScript. - Lab code samples are MIT licensed. Attribution is welcome but not required. - Full sitemap: https://crea-tech.uk/sitemap.xml - Blog feed: https://crea-tech.uk/blog/rss.xml