Today
Front-end, in one read.
The latest from the sources worth following, newest first.
David BushellMore Front-end Bloggers4 min read
D-Bus Hell
The time has come to address the elephant in the comments. Whenever my blog hits a place with a comments section the most predictable comment I see — besides some variation of “this idiot is utterly delusional!”† — is this one: “lol I read the domain as “D-Bus Hell” Random commenter”I’d prefer if […]
DEV CommunityThe Giantsread at source
Python 3.15 lazy imports took my cold start from 512 ms to 32 ms
Python 3.15.0 came out on 9 October. The release notes list a dozen headline changes, but for anyone running Python behind an HTTP endpoint, a CLI or a serverless function, one matters more than the rest: PEP 810, explicit lazy imports. There were no 3.15 builds available through my usual tooling yet, so I built it from the python.org source tarball (SHA-256 checked against the release page) and measured what lazy imports do to a realistic handler. The test A small handler of the kind every backend has: it imports boto3, httpx, Jinja2, Rich and SQLAlchemy at the top, but the health check path only needs json . import json import sys import boto3 import httpx from jinja2 import Environment from rich.console import Console from sqlalchemy import create_engine def handler ( event ): if event [ " path " ] == " /health " : return { " status " : 200 , " body " : json . dumps ({ " ok " : True })} s3 = boto3 . client ( " s3 " , region_name = " us-east-1 " ) return { " status " : 200 , " body " : s3 . meta . region_name } if __name__ == " __main__ " : print ( handler ({ " path " : sys . argv [ 1 ]}), len ( sys . modules )) The lazy version changes five lines and nothing else: lazy import boto3 lazy import httpx lazy from jinja2 import Environment lazy from rich.console import Console lazy from sqlalchemy import create_engine I ran each case 25 times as a fresh process on a 2 vCPU Linux container, with the bytecode cache already warm, and took the median. Case Median Modules loaded Eager imports, /health 512 ms 608 lazy keyword, /health 32 ms 57 -X lazy_imports=all , /health 23 ms 53 Eager imports, /s3 614 ms 613 lazy keyword, /s3 361 ms 404 The health check went from 512 ms to 32 ms, 16 times faster, because Python no longer loads 551 modules it never uses on that path. Where the time was going python -X importtime shows the culprits. boto3 alone takes about 210 ms cumulative to import, and SQLAlchemy about 155 ms, before your code runs a single line. python -X importtime handler.py /health 2> imports.log sort -t '|' -k2 -n -r imports.log | head The /s3 row shows the limit. That path really does use boto3, so it still pays for boto3. It dropped from 614 ms to 361 ms only because httpx, Jinja2, Rich and SQLAlchemy stayed unloaded. Lazy imports move the cost to the first use. They do not delete it. Three ways to turn it on The keyword. lazy import x or lazy from x import y , per import. Explicit and easy to review. Globally. python -X lazy_imports=all or PYTHON_LAZY_IMPORTS=all makes every import lazy. I checked both with sys.get_lazy_imports() , which returns "all" . Good for an experiment in staging, risky as a default on day one. Across versions. A module can set __lazy_modules__ = ["boto3", "sqlalchemy"] and keep plain import statements, so the same file still runs on 3.14. For a middle ground, combine lazy_imports=all with sys.set_lazy_imports_filter() . The filter is only consulted for imports that would be lazy, and returning False keeps a module eager, so you can make everything lazy except the modules whose import side effects you rely on. What will bite you Errors move. A missing module now raises at first use, not at startup. A typo in a rarely used code path can hide until production hits that path. Keep an import smoke test in CI. Import side effects stop running. Plugin registration, model registries, monkeypatching libraries and logging configuration that happens at import time will not happen until something touches the module. Keep those imports eager. Not everything can be lazy. lazy from x import * and lazy from __future__ import ... are syntax errors. The other change you will hit: UTF-8 by default PEP 686 makes UTF-8 the default encoding for open() and friends when no encoding is given, whatever the system locale says. That changes behaviour on machines whose locale was not UTF-8, which mostly means Windows. Find the affected calls before upgrading: python -X warn_default_encoding -m pytest # EncodingWarning: 'encoding' argument not specified If you need the old behaviour while you fix things, -X utf8=0 restores the locale encoding. With LC_ALL=C and locale coercion off, that gave me ASCII again, which is exactly the kind of difference that corrupts a file quietly. Upgrade checklist Add 3.15 to the CI matrix and run the suite with -X warn_default_encoding . Check binary wheels exist for your compiled dependencies. When I checked on 11 October, pydantic-core and psycopg-binary already had cp315 wheels on PyPI, and numpy and orjson did not: pip download --no-deps --only-binary = :all: --python-version 3.15 \ --platform manylinux_2_28_x86_64 --implementation cp numpy -d /tmp/whl Profile startup with -X importtime and mark the heaviest third-party imports lazy first. Try PYTHON_LAZY_IMPORTS=all in staging and watch for side-effect breakage before making anything global. Does it save money? A little, and latency matters more. AWS Lambda has billed the init phase since August 2025, so a slow import is now billed time as well as a slow first response. But the arithmetic is modest: one million cold starts a month, 0.48 seconds saved each, at 1 GB of memory, is 480,000 GB-seconds, about 8 dollars at the x86 rate of 0.0000166667 per GB-second. The real win is a first request that answers in tens of milliseconds instead of half a second, for users and for health checks with tight timeouts. This is the kind of change I look for when I review a Python backend's cloud cost and latency at Axionry. If you are starting a new AI product build , 3.15 is worth targeting from day one. Sources: Python 3.15.0 release , What's new in Python 3.15 , PEP 810 , PEP 686 , AWS: Lambda standardizes billing for the INIT phase , AWS Lambda pricing . Benchmarks run on a 2 vCPU Linux container, 11 October 2026. I used an AI assistant while drafting this.
DEV CommunityThe Giantsread at source
TrailSense: An Offline Nature Companion Built to Keep You Off Your Phone
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass * What I Built Have you ever gone for a hike to clear your head, heard a bird singing high up in the trees, pulled out your phone to look it up, and immediately run into a "No Internet Connection" spinner? Or worse , you open an app, and before you can even identify what you saw, it wants you to create an account, accept location tracking, and look at a social feed? Most outdoor tech ends up pulling you deeper into the digital world when all you wanted was to be in the physical one. I built TrailSense because I wanted the exact opposite: an app where the screen is the shortest part of the experience. TrailSense is a lightweight, offline first web companion for hikers, runners, and nature lovers. You pull it out, spend 3 to 5 seconds identifying a sound or leaf, and the app prompts you with a quick real-world observation before telling you to put your phone right back in your pocket: TrailVoice (Avian Audio): You tap record, and it runs a real-time spectrogram analysis right on your device to identify what bird is singing (like an American Robin, Chickadee, or Barred Owl). FloraLens (Foliage & Plant Vision): Snap a quick photo of a mystery leaf or wildflower, and it tells you what it is, whether it's safe (e.g., flagging Poison Ivy), and how it fits into the local ecosystem. "Look Up & Touch Grass" Prompts: Instead of endless scrolling, every result gives you a tactile cue like looking up 20 feet into the canopy to spot wing movement, or checking leaf edges. Sensory Outdoor Quests: Quick, screen free mini challenges (like doing a 60-second silent soundscape or feeling tree bark textures) that nudge you to pay attention to your surroundings. Private Field Journal: Logs what you found into local browser storage with zero tracking, and lets you export a clean Markdown log whenever you're back home. Demo Live Site: https://touch-grass12.netlify.app Want to test it right now without leaving your desk? I know judges and developers might be testing this late at night or indoors, so I added: 1 Click Bird Song Samples: Click on cards like American Robin or Black-capped Chickadee to hear authentic bird call synthesis and watch the live spectrogram canvas classify it in real time. Field Photo Samples: Click on the high res photos (Alpine Wildflower, Autumn Sugar Maple, Robin) to test the camera classifier. Try Airplane Mode: Turn off your Wi-Fi or set Chrome DevTools Network to Offline. The app keeps running without a hiccup because everything happens right on your device. Here’s how the pieces fit together: index.html: Responsive, dark forest glassmorphic interface that's easy on the eyes in direct sunlight or shade. js/ai-audio.js: Real time Web Audio API FFT decomposition and acoustic signature matching. js/ai-vision.js: In browser canvas computer vision for leaf venation, color distribution, and plant safety checks. js/audio-synth.js: Web Audio oscillator and filter synthesizer that mimics wild bird frequencies for testing. js/offline-store.js: Privacy-first IndexedDB journal with Markdown export. sw.js: Service worker caching everything so it works off grid. How I Built It The main design challenge was simple: no servers allowed. If this app needed a cloud backend, it would be useless on the trail. Here’s what powers it: Acoustic Signal Processing (Web Audio API) When listening through the mic, TrailSense taps into the browser’s native AudioContext with an FFT size of 1024. It breaks incoming audio into frequency slices, calculates spectral centroids, and visualizes them on an HTML5 canvas. It matches frequency ranges and cadence against avian acoustic profiles (for example, identifying the distinct 2.2–3.4 kHz harmonic rhythm of an American Robin). In-Browser Computer Vision Instead of shipping photos to an expensive third party vision API, TrailSense draws captured frames onto an offscreen canvas. It analyzes chromatic balance, edge density, and color histograms client-side to classify native foliage and check safety guidelines. Progressive Web App & Caching A custom Service Worker caches all scripts, assets, and audio routines using the Cache API. Once you open the page once, it is stored locally. You could be miles into a mountain trail with zero cell bars, and it will load instantly. Why Does Open Innovation Matter? Building this reinforced for me why open source AI is so important: Cell towers don't follow hiking trails: When you’re deep in a state park or camping off-grid, proprietary cloud APIs like OpenAI or Google Vision simply don't work. Open, client-side tools aren't just an alternative here they are the only way to build reliable outdoor tools. Nature should be private: You shouldn't have to surrender your GPS coordinates, microphone recordings, and camera roll to a tech company just to learn the name of a flower. Keeping everything in the browser respects people's privacy. Zero server costs, zero barriers: Because this runs on the user's hardware, hosting costs are literally zero. Anyone can fork it, host it on GitHub Pages or Netlify, and share it with community hiking clubs, scout troops, or schools without worrying about monthly API bills. My Agent Session I built and iterated on TrailSense using Antigravity AI IDE, pairing up with the agent to design the DSP audio pipeline, synthesize authentic bird acoustics for the demo, and style the dark-forest UI. It made going from concept to a deployed offline PWA surprisingly fast. Prize Categories Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass Edge AI & Local Inference Track Privacy & Open Web Track
DEV CommunityThe Giantsread at source
🌿 WildStep: I Built an AI That Wants You to Close the App"
🌿 WildStep: I Built an AI That Wants You to Close the App Most apps want your attention. More scrolling. More recommendations. More time spent looking at a screen. What if an AI app was designed to help you leave it? That question led me to build WildStep — an AI-powered outdoor mission generator that turns your mood, available time, personal goal, and surroundings into a personalized set of real-world activities. The idea is simple: AI generates the mission. You go experience it. WildStep is built around a different kind of product philosophy: the digital interaction should be short, useful, and focused on encouraging people to spend more time in the real world. What I Built WildStep helps people turn an ordinary break into a small, actionable outdoor mission. Instead of offering the same generic suggestion to everyone, it lets users personalize a mission using: Available time: Choose how much time you have for a break. Mood: Select how you're feeling. Personal goal: Describe what you'd like to achieve. Surroundings: Select a campus, park, neighborhood, or another supported environment. Difficulty and companions: Tailor the mission to your preferences. The AI generates a mission with individual tasks and estimated durations. Users can work through an interactive checklist, track progress, retrieve saved missions, and earn Grass Points when they finish. The experience Tell WildStep how you're feeling. Choose your available time and surroundings. Generate a personalized mission. Step away from the screen and complete the activities. Return to record your progress and earn Grass Points. The task checklist is intentionally simple. You shouldn't need another feed to scroll through when you're trying to take a break. Demo 🌐 Live application: https://wildstep-six.vercel.app/ 💻 Source code: https://github.com/pushptandekar24-glitch/wildstep The public demo uses Vercel for the frontend, Render for the Spring Boot backend, TiDB Cloud for persistence, and Cloudflare Workers AI for hosted inference. The application has been deployed and tested with live mission generation and task completion. Free-tier services may introduce cold starts, latency, or usage limits. What It Looks Like 1. A mission generated for your situation WildStep doesn't stop at suggesting an activity. It turns the idea into a sequence of tasks with progress tracking so users can see what they've completed. 2. Completing a mission When all required tasks are marked complete, the backend updates the mission state and calculates the Grass Points reward. Completion is self-reported through the checklist. The current application does not independently verify physical activity through GPS or photo evidence. How I Built It WildStep is a modular full-stack application. The frontend handles the user experience, while the backend owns mission generation orchestration, validation, persistence, task completion, and rewards. Technology stack Layer Technologies Frontend React, TypeScript, Vite, Tailwind CSS Backend Java 21, Spring Boot REST APIs Persistence Spring Data JPA, Hibernate, MySQL-compatible database Database migrations Flyway, where configured Local inference Ollama with Gemma 2 Hosted inference Cloudflare Workers AI with Llama 3.2 Deployment Vercel , Render , TiDB Cloud Testing JUnit, Mockito, controller and integration tests The architecture The browser never calls the AI provider directly. It sends requests to the Spring Boot API, which manages the AI request and owns the mission lifecycle. User preferences | v React + TypeScript | v Spring Boot REST API | v Mission generation service | +-----------------------------+ | | v v Ollama + Gemma 2 Cloudflare Workers AI (local development) (hosted deployment) | | +--------------+--------------+ | v Structured mission output | v Backend validation | v TiDB Cloud / MySQL | v Tasks, progress and rewards Why not let the AI control everything? Language models can generate creative activities, but generated output should not automatically be trusted as application data. WildStep separates responsibilities: The model proposes mission content. The backend parses the response and checks validation and safety rules. The database stores missions and tasks. The mission service manages task completion and status transitions. The Grass Points service calculates rewards deterministically. This separation helps preserve consistent behavior even when an AI provider returns malformed output or becomes unavailable. Grass Points and mission progress Grass Points add a lightweight reward loop to encourage users to finish their missions. The backend calculates rewards rather than asking the model to choose arbitrary points. Repeated task-completion requests are handled so that a completed task doesn't award its reward repeatedly. The result is a clear loop: Generate mission ↓ Go outside ↓ Complete tasks ↓ Track progress ↓ Earn Grass Points ↓ Close the app The last step is the most important part of the product. Why Does Open Innovation Matter? This is the part of WildStep that made the project particularly interesting to build. Open-weight models give developers more control over experimentation, deployment, and the way AI behavior is integrated into a product. During local development, WildStep can use Gemma 2 through Ollama. Developers can experiment with mission prompts on their own machines, subject to their hardware capabilities. For the public demo, WildStep uses Cloudflare Workers AI with an open-weight Llama model. Visitors don't have to download a model before trying the application, although inference requests are processed by the hosted provider. These two modes offer different trade-offs: Local inference: More control over the runtime and the opportunity to keep inference on the local machine. Hosted inference: Easier public access without requiring each visitor to install and run a model. A replaceable provider integration: The frontend and mission lifecycle don't need to be rewritten every time the inference provider changes. Open weights do not automatically make hosted inference private or offline. In the deployed version, prompts are sent to the configured inference service. In local mode, processing can remain local when the selected configuration and runtime support it. Open innovation matters because developers can inspect their stack, experiment with different models, change prompts, and adapt their systems rather than building everything around a single closed API. For WildStep, AI is not the destination. It is the trigger for an experience outside the screen. Building and Debugging the Real Thing One of the most valuable parts of this project was taking it beyond a local prototype. The application went through frontend integration, backend testing, cloud database configuration, Docker deployment, frontend deployment, and live API verification. The hosted AI integration also exposed an important debugging lesson: a successful HTTP request doesn't guarantee that an application can correctly interpret the returned JSON. I had to investigate response parsing and error handling so that Cloudflare's response envelope could be handled more robustly without bypassing the mission validation layer. That reinforced an important principle: reliable AI applications require more than a working model call. They need validation, persistence, failure handling, and predictable application logic. The project includes automated tests for mission generation, validation, lifecycle behavior, and deterministic rewards. The latest local verification report recorded 74 passing backend tests and a successful frontend production build; the final repository should be checked for the latest fixes before treating that test count as the published version's result. A Note on Safety WildStep is intended to suggest approachable activities, not encourage risky adventures. The backend applies validation and safety checks to generated mission content. Users should still skip activities that feel unsafe, respect public and private property, follow local rules, and avoid hazardous areas. WildStep is a recreational activity tool, not a medical or mental-health treatment. My Agent Session I used Antigravity as an AI-assisted development tool while building, refining, and debugging WildStep. The implementation, tests, and application architecture can be explored in the GitHub repository . I haven't included a DevRelay agent-session link in this post. Prize Categories Best Use of Gemma: WildStep supports Gemma 2 through Ollama in its local development mode. The deployed public demo currently uses Cloudflare Workers AI with Llama 3.2, so the distinction between local and hosted inference is intentional. Community Context I also enjoyed reading other interpretations of the same challenge, including: AI Nature Quest — an AI that wants you to stop using it WildPulse — a zero-signal trail naturalist It's exciting to see different ways open-source AI can encourage people to spend more time outside. WildStep takes its own approach: short, context-aware missions, a persistent task checklist, backend-controlled progress, and a simple reward system. The Idea Behind WildStep The question wasn't how to make people generate more AI content. It was how to make AI useful for a moment, so a person could do something meaningful without it. Generate a mission. Go outside. Complete it. Come back when you're ready. 🌿 WildStep — AI that gets you to close the app. devchallenge #hf26challenge #gemma #opensource
DEV CommunityThe Giantsread at source
I Almost Used Nuxt Content for My Blog, but I Chose a Database Instead
When I started building my personal blog with Nuxt, one of the first decisions I had to make was how to store my content. At first, Nuxt Content seemed like a good option. Writing articles in Markdown sounded simple, and I wouldn't need to worry too much about database setup. But there was one thing I needed: a custom admin panel where I could manage my articles, categories, and tags. That made me reconsider my choice. Why I Didn't Choose Nuxt Content Nuxt Content is a great option for projects where content lives in files, such as Markdown documents stored in a Git repository. However, my blog needed a different workflow. I wanted to create and edit articles directly from my admin panel. Since I also planned to deploy the application to a serverless environment, writing Markdown files at runtime wasn't a reliable approach for my setup. I didn't want to build my content management system around a storage method that didn't fit how I planned to use the application. So, I decided to use a database instead. My Choice: PostgreSQL and Drizzle ORM I chose PostgreSQL for storing my blog data and Drizzle ORM for working with the database. My initial schema included tables for: Articles — titles, content, slugs, publication status, and SEO information. Categories — separating tech articles from personal posts. Tags — organizing articles by topic. Users — storing user information for authentication and administration. Comments — leaving room for future discussions. I also used a many-to-many relationship between articles and tags, since one article can have multiple tags and one tag can belong to multiple articles. This approach gave me more control over how my content was organized and managed. Of course, it also meant taking responsibility for database schemas, relationships, migrations, and queries. It Was a Trade-Off, Not a Perfect Solution Choosing a database didn't automatically make everything easier. I had more things to configure and maintain than I would have with a file-based content solution. I also needed to think carefully about my data model before building more features. But for my use case, that extra work made sense. I wanted a blog that could grow beyond publishing Markdown files. I wanted an admin panel, structured content, authentication, and room for features I might add later. Using a database gave me the flexibility I needed for that direction. That doesn't mean Nuxt Content is the wrong choice. If your website mainly contains static articles and you enjoy managing content through Git, it may be exactly what you need. For my project, though, a database was a better fit. What I Learned This decision taught me something simple: the best technology isn't always the one with the easiest setup. It's the one that fits the project you're actually building. Before choosing a tool, I now try to think beyond the first feature I want to implement. How will I manage the content? Where will the application run? What might I need to add later? These questions helped me make a decision that felt right for my project, rather than choosing a tool just because it was convenient at the beginning. I'm still building and improving this blog, so I expect to revisit some of these decisions as the project grows. For now, PostgreSQL and Drizzle ORM are working well for the direction I want to take. What about you? When building a blog with Nuxt, would you choose Nuxt Content or a database? I'd love to hear your reasoning. This article is part of my Database Series, where I share what I learn about data modeling, database decisions, and building real applications.
DEV CommunityThe Giantsread at source
You uploaded your passport to a website last week. I did too.
Think about the last time you used a free PDF converter. For most of us it was within the last week, and it took about ten seconds. Bank statement, ID scan, a signed contract. Drag, drop, download, done. In those ten seconds, your file left your computer. That's the part nobody thinks about. Online converters work by uploading your document to someone else's server and processing it there. Your passport scan now sits on a machine you don't control, run by people you can't name, possibly in a country you couldn't point to on a map. I did this for years without thinking. Then I started reading about what actually happens to those files. Three ways it goes wrong They're careless. In July 2024, Cybernews found the cloud storage of two converter services, PDF Pro and Help PDF, sitting wide open. 89,062 files. Passports, IDs, certificates, contracts. Nobody hacked anything; the door was just open. Documents like that are enough to take out a loan or rent an apartment in your name. They're the trap. In March 2025, the FBI's Denver office warned about scam converter sites. They look exactly like the real thing (one cloned PDF Candy down to the design and URL), return your file with hidden malware inside, and quietly scan everything you upload for IDs, banking details, passwords, and crypto seed phrases. They're "fine," and you still can't verify it. Plenty of sites promise to delete your files after a few hours. Maybe they do. But you can't audit their servers, you don't know where they're hosted, and you have no idea who has access. For health or finance documents, "trust us" isn't good enough. The leak nobody mentions: metadata Here's the one that surprised me. Photos and PDFs carry hidden baggage: usernames, software details, device IDs, sometimes GPS coordinates. An arXiv study found researchers leaking exactly this kind of data, including GPS pointing at home addresses. You upload a photo to strip its background and hand over your location with it. What the experts actually say Kaspersky's advice on this is refreshingly blunt: no online converter can guarantee confidentiality, so don't convert sensitive documents online. Notice the advice isn't "find a better converter site." It's "stop uploading." So I stopped uploading I built my file toolkit to run entirely on my own computer. The engines are the boring, reliable open-source ones: FFmpeg for video and audio, ImageMagick for images, qpdf and Poppler for PDFs, headless LibreOffice for documents. No server, no account, no upload. The file never leaves the machine. It does the jobs I used to upload for: Word, Excel and PowerPoint to PDF. Merging PDFs. Pictures to PDF. Adding or removing PDF passwords. Stripping GPS and EXIF data from images. Stripping author info from PDFs. Local isn't magic (honest caveats) Running offline doesn't make you invincible. If your own computer is compromised, local tools don't save you. Download software only from official sources. Keep the underlying engines updated. And PDF-to-Word conversion through LibreOffice can mangle complex layouts, so check the output before you send it anywhere important. The point was never that offline is perfect. It's that it removes an entire category of risk: the stranger's server. That's a trade I'll take every time. It's called KinoFlux Editor. Free, for Windows and macOS. Download: https://ntxm.org/products/kinoflux/videoeditor/ Also on the Microsoft Store: https://apps.microsoft.com/detail/9nxkr2gv1wm7?hl=en-US&gl=EG
Hacker News Front PageThe Giantsread at source
How HN: Go-dev-auth zero-dependency authentication library for Go
Hacker News Front PageThe Giantsread at source
Bot traffic plunged to near 0 following the strike on its Vladimir data center
Hacker News Front PageThe Giantsread at source
Don't Put Tilde In Your Path
Hacker News Front PageThe Giantsread at source
Scandinavia's first farmers slaughtered hunter-gatherer population, DNA suggests
Hacker News Front PageThe Giantsread at source
Valen's Memory Safety: A New Kind of Borrow Checking
Hacker News: Show HNLibraries, Frameworks, etc.read at source
Show HN: BetterWispr – Free, open-source dictation for Mac
Comments
Hacker News: Show HNLibraries, Frameworks, etc.read at source
Show HN: I'm a 14-year-old building my first startup, Titan
Comments
Hacker News: Show HNLibraries, Frameworks, etc.read at source
Show HN: Rezoom – one chat list for all your Claude Code sessions
Comments
Hacker News: Show HNLibraries, Frameworks, etc.read at source
Show HN: Krashout, multiplayer car soccer in the browser
Comments
Hacker News: Show HNLibraries, Frameworks, etc.read at source
Show HN: Free website speed audit with real Lighthouse metrics
Comments
SitePointThe Giantsread at source
The Design Workflow Is Broken. Here Is How Vitalii Khomenko Thinks It Should Be Fixed
Principal Designer Vitalii Khomenko argues the real bottleneck in AI-accelerated product teams isn't engineering anymore, it's the Figma-to-code handoff, and here's his fix. Continue reading The Design Workflow Is Broken. Here Is How Vitalii Khomenko Thinks It Should Be Fixed on SitePoint .
Sara SoueidanTop Front-end Bloggers3 min read
My top picks for Interop 2027
I love the Web platform, and it’s a provilege that we, the web community, get a chance to influence what browser makers work on every year. For the second year in a row, Firefox has created a page that allows us to rank the Interop 2027 features that we care about the most.…
AbduzeedoMulti Author Blogsread at source
Inside the Craft of Roster: Branding Design by BOND
BOND designed a complete branding design system for Helsinki restaurant Roster, pairing custom typography with playful tattoo illustrations. Chefs Kari Aihinen and Paul Hickman wanted to strip away th...
AbduzeedoMulti Author Blogsread at source
How Plau Design Reimagined Type Design for Grecotipo
Plau Design teamed with studio Greco to build Grecotipo, a bold 32-font family bridging tactile craft with modern type design. Brazilian design studio Greco needed a clear voice for physical spaces an...
AbduzeedoMulti Author Blogsread at source
Bureau Brandt Unveils the Brandt Gallery Rebrand
Brandt Gallery turns ten with a Bureau Brandt rebrand: a custom geometric wordmark, ABC Laica type, and monochrome with a punchy blue accent. The centerpiece is the new wordmark, set all lowercase and...
Go Make ThingsMulti Author Blogs1 min read
We live in a world where...
I saw this on Mastodon today (saved the image, lost the source), and it just brought me so much joy! Did you know that we live in a world where octopuses dream, otters have a favorite shell that they carry with them all their lives, cows have best friends, and bees have different “dialects” of dance depending on the region? Or that cats purr at a frequency that accelerates bone healing, the forest grows flowers first after a fire, and dolphins give each other names and respond to them, and Penguins make proposals by giving each other the most beautiful pebble?
AbduzeedoMulti Author Blogsread at source
Les Levine — Masterclass in Editorial Design by Underline Studio
Underline Studio crafts tactile editorial design for Les Levine: Transmedia 1964–1974 at Oakville Galleries with silver ink and plastic paper. Les Levine is widely recognized as a founder of media art...
HTML All The ThingsPodcastsAudioListen
Is the AI Bubble Starting to Pop?
Is the AI bubble finally starting to pop? In this edition of the Web News, Matt and Mike discuss OpenAI reducing usage on its $200 Pro plan, the enormous cost of AI infrastructure, and growing questions around whether businesses are actually seeing enough financial return from…
AdactioTop Front-end Bloggersread at source
Going to Florida. brb
SitePointThe Giantsread at source
Progressive Web Apps: How They Are Changing the Future of Online Experiences
null Continue reading Progressive Web Apps: How They Are Changing the Future of Online Experiences on SitePoint .
SitePointThe Giantsread at source
How AI Is Transforming Web Development: Tools, Trends, and Best Practices
null Continue reading How AI Is Transforming Web Development: Tools, Trends, and Best Practices on SitePoint .
SitePointThe Giantsread at source
Making JavaScript API Requests More Reliable with Timeouts, Retries, and Cancellation
null Continue reading Making JavaScript API Requests More Reliable with Timeouts, Retries, and Cancellation on SitePoint .
Flavio CopesMore Front-end Bloggersread at source
How to create an Apple TV app
Build a tvOS app with SwiftUI, share code with your Mac app, design it for the Siri Remote, make its layered icon, and install it on your own Apple TV.
Zell LiewMore Front-end Bloggers2 min read
Redefining My Relationship With You
I no longer knew how to define my relationship with the people who read my work. Not teacher and student, not leads and customers. Here's where I eventually settled: fellow wayfarers.
Google for DevelopersYouTube ChannelsVideoWatch on YouTube
Order in any language with Gemini 3.5 Live Translate
AbduzeedoMulti Author Blogsread at source
Not Yoga: Brand Brothers Explores Visual Identity
Brand Brothers designed a hypnotic visual identity for Paris studio Not Yoga, pairing a kinetic monogram with undulating graphic waves. Located at 13 rue des Tournelles in Paris, Not Yoga strips away ...
DigitalOcean BlogMulti Author Blogs5 min read
DigitalOcean MicroVMs: Fast, isolated compute for your AI agent infrastructure
Coding-agent platforms, sandbox products, and code-execution services all need the same thing: isolated machines that start up fast, retain their state between bursts of work, and don’t consume compute when idle. If you build it yourself, you’ll have to lease compute capacity…
AbduzeedoMulti Author Blogsread at source
Masthead Zine Is a Masterclass in Typography by Duttweiler
Masthead Zine reprints logos from 1960s and 70s Chicano newspapers as a red-ink zine by Alexandria Canchola and Joshua Duttweiler. The first thing you notice is restraint. One vermilion red on warm cr...
AbduzeedoMulti Author Blogsread at source
Web Design: Atlas for Mac by Alexey Sekachov
Alexey Sekachov designed the web design for Atlas for Mac, combining stark typographic hierarchy with minimal, native product storytelling. Digital software marketing often falls into the trap of visu...
SitePointThe Giantsread at source
How to Improve Website Performance Without Rewriting Your Front End
null Continue reading How to Improve Website Performance Without Rewriting Your Front End on SitePoint .
AbduzeedoMulti Author Blogsread at source
tubik studio Unveils Crezco UI/UX Design
tubik studio crafts an accessible ui/ux design system for Crezco, pairing Aeonik typography with clear API architecture and responsive grids. Design studio tubik first paired with Crezco in 2019 to sh...
Google for DevelopersYouTube ChannelsVideoWatch on YouTube
🤖 Operating real hardware with Gemini AI
freeCodeCamp.orgYouTube ChannelsVideoWatch on YouTube
n8n Full Course – Architect Scalable AI Automations from Scratch
Adrian RoselliMore Front-end Bloggers4 min read
Decorative Images…
…aren’t a thing. Three hand-drawn lines curling together like an S or three skinny snakes trying to spoon. At least not as far as people are concerned. Yes, this is an absolutist take, but sometimes it’s necessary to take the absolutist position to force someone to justify their own reasoning.…
Google for DevelopersYouTube ChannelsVideoWatch on YouTube
Building low-latency remote robotics with Gemini
SitePointThe Giantsread at source
Vue 3 Composition API: Stop Watcher Memory Leaks in Composables
How to manage watcher lifecycles and cleanup in Vue 3 composables, preventing memory leaks when watchers are created outside synchronous setup. Continue reading Vue 3 Composition API: Stop Watcher Memory Leaks in Composables on SitePoint .
SitePointThe Giantsread at source
JavaScript Event Loop Explained: How to Trace Queues and Debug Async Code
Predict async execution order, identify microtask starvation, and compare browser and Node.js event loop behavior using step-by-step queue trace tables and annotated code snippets. Continue reading JavaScript Event Loop Explained: How to Trace Queues and Debug Async Code on SitePoint .
SitePointThe Giantsread at source
Express React Refresh Token Setup: Diagnosing Missing Cookies and 401s
Fix missing HTTP-only refresh cookies in Express 5 and React, configure CORS and cookie options, and implement silent token rotation with single-flight retry on 401s. Continue reading Express React Refresh Token Setup: Diagnosing Missing Cookies and 401s on SitePoint .
Frontend Masters BlogMore Front-end Bloggers7 min read
5 Good Choices for HTML Containers
Divs and spans are fine, but purposefully meaningless. Often the meaning actually matters, so let's look at some of those situations.
DequeMulti Author Blogs4 min read
Deque named a Leader in the 2026 Gartner® Magic Quadrant™ for Digital Accessibility
Deque has been recognized as a Leader in the 2026 Gartner® Magic Quadrant™ for Digital Accessibility! The post Deque named a Leader in the 2026 Gartner® Magic Quadrant™ for Digital Accessibility appeared first on Deque .
Level AccessCompany/Startup Blogs5 min read
Accessibility Needs an Authority. Why Gartner Named Us a Leader
Level Access has been named a Leader in the inaugural Gartner® Magic Quadrant™ for Digital Accessibility Platforms, published October 5, 2026. This is The post Accessibility Needs an Authority. Why Gartner Named Us a Leader appeared first on Level Access .
HeyDesignerDeveloper/Designer Newsread at source
Tesler’s Law: Complexity moved to a different part of the journey
Designing Michelangelus, Critique in the AI era, The web needs interactive lists.
Flavio CopesMore Front-end Bloggersread at source
How to install your own apps on your iPhone with Xcode
Put the apps you build on your iPhone without the App Store: turn on Developer Mode, install from Xcode, update over Wi-Fi from the terminal, and renew them.
PiccalilliMore Front-end Bloggersread at source
The Index: Issue #201
2027 web platform feature ranking This is the second year we're doing this, and last year's 1900+ rankings not only helped us push the right proposals in the Interop process, it was also used to prioritize web platform feature development in Firefox. Certainly beats thumbs up in GitHub issues! Make your voice heard. This hue shall pass A fabulous colour contrast tool from the great folks over at Clearleft. Dark forestry Not only an outstanding and important piece of writing, but the design and effects are lovely. Destroy any website This is very fun! Destroy your least favourite websites (like the pre-loaded example) for a vibe boost. css.earth Explore earth, other planets and even other galaxies, all rendered with HTML and CSS, via PolyCSS . The box model and box sizing Here's one from the Piccalilli archives that you might have missed to wrap up this issue. P.S. this is a good website from personalsit.es . Sponsor message Has your organisation gone too deep with frameworks or [gasp] LLMs and feel like you're stuck? We're helping clients get away from that noise and instead, focusing their efforts and budgets on actually doing stuff that will help them reach their goals. We do all of that while running this publisher, Piccalilli too! Our availability opens up again in late 2026 into 2027, so check out what we're about. Maybe we can be the key that unlocks your success in 2027 onwards. Check out our work
W3C BlogBrowsers, engines, etc.5 min read
What’s new in the W3C Website Design System
A significant update to the W3C Website Design System was published at the end of September 2026. Here’s what changed and why.
Robin WieruchMore Front-end Bloggersread at source
Toward a Self-Improving Agentic Code Review Loop
An agentic code review loop where each developer fires their own AI review skill at pull requests, the author's agent answers, and a scorecard rates each skill.
Frontend Masters BlogMore Front-end Bloggersread at source
How an accessibility designer adds keyboard shortcuts to a web app
Eric Bailey explains the thinking and research that go into adding just a few custom keyboard shortcuts to a web app. There’s an absolute ton to consider and test, and plenty of challenges can come from your own team.
Auth0 BlogCompany/Startup Blogsread at source
Multi-Tenant SaaS Apps with Auth0 Organizations — Part One
If you are building a B2B SaaS product multi-tenancy is a foundational requirement. Your customers are companies, and each company expects its own isolated space. Getting this right early saves enormous pain later.
Google for DevelopersYouTube ChannelsVideoWatch on YouTube
Building with Gemma 4
Bram.usMore Front-end Bloggers4 min read
<calc-input>, a custom input element that accepts mathematical formulas
Continuing my streak of small form-related Custom Elements (like ) , I built . It’s a custom input element that accepts mathematical formulas — such as 2 + 3 or (2 + 3) * 4 — and automatically toggles between showing the formula on focus and the calculated result on blur.
Bram.usMore Front-end Bloggers2 min read
caniname: CLI tool to check project name availability across Netlify and NPM (and other sources)
Whenever I build a new tool or custom element (like or ), I always end up doing the same manual dance: checking if the package name is still free on NPM and if the matching .netlify.app subdomain is still unclaimed on Netlify. To automate that check, I built caniname .
Jim Nielsen’s BlogMore Front-end Bloggersread at source
“Getting off the Modernization Treadmill”
My notes from this talk by Alexander Petros at Big Sky DevCon 2026 . Alex starts by noting how “modernize” used to mean something along the lines of “update this thing that was made before I was born”. But now “modernize” means something more like “update this thing from 5-10 years ago” (hence the framing of the talk, the “modernization treadmill”). Using a real-world example of an incredibly slow website that was required to access state-sponsored programs for welfare, Alex points out the disparity in conditions between those of us who make software and those who have to use them: The people who develop these websites are usually doing so on high-powered internet connections and high-powered devices, but they're not using them in the conditions that the people who most need those benefits are going to be. Then he shows a Reddit thread where somebody essentially posted, “I’m having problems with this website. I’ve been waiting for months for my application to go through. Any suggestions?” And one Reddit user responded, “The best thing you can do is go into the physical office, get a case worker, and your problems will be solved within the hour.” The irony. I guess we've come full circle now. It used to be: “Don’t talk to anybody. It’s faster and more convenient to use the website!” But now it’s: “Don’t use the website. It’s faster and more convenient to talk to somebody!” Have we failed at making websites? And is our failure, at least in part, rooted in the fact that we don’t leverage the basic tools for making websites: HTML, CSS, and (in a distant third) JavaScript? Alex goes on to argue that the technologies of the web have an ideological bent and, if used as designed, can solve so many of the performance, accessibility, and usability issues that plague so many websites. The grain of the web’s technologies are rooted in these values: User-friendly Backwards- and forwards-compatibility Long-term viability Universal accessibility Which means if you use them as intended, they are optimized to deliver outcomes rooted in those same values. So if you like those values and you want those outcomes, use the platform. Take HTML, for example. Here’s Alex: HTML does [performance improvements] for you for free. If you've coded your website in a proper, semantical, structure HTML style, it will just get better over time at zero cost to the people who built that website HTML is your friend. HTML won’t give you up or let you down . HTML will make it difficult for you to make a bad website. Write it in to the requirements of the project you’re doing that it work without JavaScript. Not necessarily that it doesn’t have any JavaScript, but just that the core functionality of the website can happen without JavaScript. If you do this […] you will find that it’s very hard to deliver a bad web page because the structure that HTML requires is one that fundamentally is good for the user, performant, and cost effective. Technologies are imbued with culture, which influences what you do and how you do it. If you can align your ideological beliefs with your technological choices, you might end up with an outcome that aligns with your values — who would’ve thought, eh? A lot of modern software developers come from websites like Facebook, they come from big tech companies [who] fundamentally have a different set of priorities. Their job is to keep you on the website as long as possible so that you consume more ads. But that’s the opposite set of requirements and priorities that the government needs to be doing, which is to build something that is clean, quick, efficient, and gets you in and out as fast as possible. So [I tell people] that the technology they use comes from [an] ideological place. But there are different ideological places that produce different technological results and if we start from those through lines then we can produce services that help people who need them. The ideological principles of the web are well established : users over everything else. If you use HTML as much as possible, you’ll make something that’s as user-friendly as possible on the web. Reply via: Email · Mastodon · Bluesky
Next.js BlogLibraries, Frameworks, etc.read at source
Upcoming Next.js Security Update for Upstream Vulnerabilities
Next.js plans to publish an out-of-band security update next Wednesday, October 14, 2026, addressing two Critical and one High severity vulnerabilities in upstream dependencies.
Google for DevelopersYouTube ChannelsVideoWatch on YouTube
📷 Searching for images from text with EmbeddingGemma 2