Today
Front-end, in one read.
The latest from the sources worth following, newest first.
DEV CommunityThe Giantsread at source
Polymarket Trading Bot: I Overengineered My Polymarket Sniper — Then Cut It Down to One Entry Strategy
I spent the last few weeks building a Polymarket TWAP End-Cycle Sniper . The original version had multiple entry strategies, several confirmation layers, and a fairly complicated risk engine. After about two weeks of real-market testing, I ended up removing most of it. The interesting part was that the simpler version gave me a much clearer trading signal. This post explains what I changed, what I learned, and the entry condition I am currently testing. Disclaimer: This is a technical write-up about a trading system I built and tested. The observations below are from my own testing and should not be treated as financial advice or as a guaranteed trading strategy. What Is an End-Cycle Sniper? The basic idea is to trade near the end of a short-duration Polymarket crypto market. Instead of trying to predict the market several minutes before expiration, the bot waits until the market has developed a strong directional signal. The key window I found interesting is approximately: 60 seconds before market expiration. At that point, I want to know: What is the current TWAP doing? Is Chainlink confirming it? Is Binance momentum moving in the same direction? Is Coinbase confirming the move? Are other market/on-chain signals aligned? Is the corresponding outcome token already trading at a strong probability level? The goal isn't to predict the future from one indicator. It is to find agreement between multiple signals near the end of the market . My First Mistake: Adding Too Much Logic When I started the project, I assumed a more sophisticated system would perform better. So I added: Multiple buy conditions Different momentum strategies Additional confirmation filters Reversal detection Risk-management conditions Different entry scenarios More data sources On paper, this looked like a smarter trading system. In reality, it made the system harder to reason about. Every new condition created another question: Does this actually improve the edge, or does it just make the code more complicated? After running the bot against real market conditions for roughly two weeks, I started removing conditions instead of adding them. That process eventually led to one primary entry strategy. The Core Signal The current concept is relatively simple. Around 60 seconds before expiration , I look for strong directional agreement. For example, suppose the UP side is being considered. I want to see something similar to: TWAP → UP Chainlink → UP Binance → UP Coinbase → UP Other data → UP Token → > 0.70 When several independent signals agree, the setup becomes much more interesting. The same logic applies in the opposite direction for DOWN. Why TWAP Is Important The system is specifically designed around the market's TWAP-based settlement mechanism. The important point is that I don't want to treat the latest spot price as the entire story. A short-term spot move can be noisy. The TWAP provides information about the accumulated price path that matters for settlement. Near expiration, that information becomes increasingly useful. But there is one important exception. Don't Trade When TWAP Is Near Zero This became one of the most important filters in my testing. If the TWAP movement is too close to zero, there isn't enough directional information. In that situation, I don't want the bot to force a trade just because another signal looks bullish or bearish. The rule is basically: Clear TWAP direction? | +-- NO --> SKIP | YES | v Continue confirmation This is an important characteristic of the system. No signal is also a signal. A sniper doesn't need to trade every market. The $0.70 Token Filter Another condition I found useful was the price of the corresponding outcome token. For the setup I'm testing, the target token should generally be above: $0.70 For example: UP = $0.72 DOWN = $0.28 If all the underlying signals are also pointing UP, the market is already pricing UP as the more likely outcome. I'm not trying to buy a cheap token and hope for a reversal. I'm looking for confirmation that the market has already developed a strong directional bias. This also changes the nature of the strategy. The objective becomes: Find high-confidence late-cycle confirmation rather than predict an early move. Why Multiple Data Sources? One of the interesting parts of this system is that the signals come from different sources. The idea is not that Binance is always right. Or Coinbase is always right. Or Chainlink is always right. Instead, I am interested in what happens when they agree . Conceptually: ┌───────────┐ │ TWAP │ └─────┬─────┘ │ ┌─────▼─────┐ │ Chainlink │ └─────┬─────┘ │ ┌────────────┼────────────┐ │ │ │ Binance Coinbase On-chain │ │ │ └────────────┼────────────┘ │ ▼ Signal Agreement │ ▼ Token > $0.70 │ ▼ BUY The interesting signal is therefore not one indicator. It's convergence . What Happened During Real Testing? During approximately two weeks of real testing, I noticed that some of the more complicated strategies weren't providing enough additional value to justify their complexity. I started removing them. Eventually, the system became much more focused: Wait for the final part of the market. Check whether TWAP has a clear direction. Check whether external price feeds confirm that direction. Check the corresponding token price. Enter only when the conditions align. Otherwise, skip. This was a useful reminder that more code does not necessarily mean more edge. The Observed Win Rate During my testing, the strongly aligned setups produced an observed hit rate of around 95% in the sample I was watching. I want to be careful with this number. I don't consider 95% to be a proven long-term win rate. Two weeks is not enough data to establish that. There are many variables that can change the result: Market regime Volatility Liquidity Execution latency Entry price Sample size Asset TWAP behavior Unexpected price movements So the conclusion I am comfortable making is: The aligned setup showed a very high observed hit rate in my current testing, and it deserves further investigation. The next step is collecting a much larger sample. Why I Removed Some Risk Logic I also learned something about risk management. Initially, I wanted the bot to continuously analyze the position and react to every short-term movement. That sounds sophisticated. But it can also create unnecessary reactions. If the entry itself is based on strong confirmation, the first layer of risk management can happen before the trade . Instead of constantly asking: "How can I rescue this position?" the system first asks: "Is this position worth opening?" That doesn't eliminate risk management. It simply moves more of the decision-making to the entry layer. The Current Decision Flow The current concept can be summarized like this: Market approaching expiration | v ~60 seconds remaining | v Check TWAP direction | ┌────────┴────────┐ │ │ unclear clear │ │ v v SKIP Check external signals | v ┌─────────────────────────┐ │ Chainlink │ │ Binance momentum │ │ Coinbase │ │ Other market/on-chain │ └────────────┬────────────┘ | v Signals agree? | ┌─────────┴─────────┐ │ │ NO YES │ │ v v SKIP Token > $0.70? | ┌────────┴────────┐ │ │ NO YES │ │ v v SKIP BUY The important feature is that most paths end in SKIP . That's intentional. The Real Lesson: Complexity Isn't the Same as Edge This was probably the biggest lesson from the project. When building trading systems, it is easy to confuse: more conditions with better strategy . They're not the same thing. A complicated strategy can look impressive while being extremely difficult to validate. A simple strategy with a clear hypothesis is much easier to: Test Measure Debug Optimize Explain Monitor Improve That's why I ultimately preferred the simpler architecture. What I Want to Measure Next The current strategy is still being tested. The next step is to collect a significantly larger dataset and measure the strategy statistically. Some of the metrics I want to track: Total opportunities Actual entries Skipped opportunities Win rate Average entry price Average payout Expected value Maximum losing streak Drawdown Performance by asset Performance by volatility Performance by remaining time Performance by token-price threshold The most important question isn't: "Did this work for two weeks?" It's: "Does the edge remain after thousands of opportunities?" That's the test that matters. Building the Project I've made the public version of the project available on GitHub: Polymarket Trading Bot — Python V2 The public repository contains the project and implementation that I'm comfortable sharing. The production strategy continues to evolve as I collect more data. Final Takeaway I started this project thinking I needed multiple strategies and a complicated risk engine. Real testing pushed me in the opposite direction. The current idea is much simpler: Wait until the final part of the market. Look for clear TWAP direction. Confirm it with multiple independent signals. Require the corresponding token to be above $0.70. Avoid markets where TWAP is too close to zero. If the signals aren't aligned, do nothing. The most interesting part isn't that I found another indicator. It's that after adding more and more logic, the testing process eventually showed me that removing logic was more valuable than adding it . That's probably the biggest lesson I'll take into the next version of the bot. Follow the Project If you're interested in Polymarket infrastructure, algorithmic trading, market-data systems, or want to discuss the strategy: GitHub: [Benjam1nCup / Polymarket Trading Bot V2] Benjam1nCup / Polymarket-trading-bot-python-V2 Polymarket Trading bot system An open-source and Strong Strategy collection of Polymarket trading bot and Polymarket arbitrage bot and Polymarket TWAP trading bot in Python for high-performance automated trading on polymarket crypto 5min and 15min markets. This repository is primarily intended for educational and research purposes. It includes strategy concepts, implementation approaches, and selected performance screenshots to help developers understand how different automated trading strategies can be designed and tested. The repository does not provide a complete production-ready trading bot source code. Instead, it provides strategy descriptions and research materials that you can use as a foundation for developing your own system. If you are interested in building a Polymarket Trading Bot, you can follow my tutorials and use the concepts in this repository to develop your own implementation. For users who prefer a ready-to-deploy solution or require custom strategy development, commercial bot development and customization are also available. Features … View on GitHub Telegram: @BenjaminCup I'm continuing to test the strategy and will share another update when I have a larger dataset.
DEV CommunityThe Giantsread at source
I Taught My Laptop to Whisper Bird Names So I Could Finally Look Up
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass What I Built Every time I try to identify a bird with an app, the same thing happens. I hear a call, pull out my phone, wake the screen, tap record, and by the time the app answers, the bird is gone and I'm staring at a glowing rectangle instead of a tree. So I built Trailbird , a bird call identifier with almost no screen. The laptop goes in my backpack, one earbud goes in my ear, and I just walk. When it hears a bird, a calm voice says one sentence: "Northern cardinal, probably in the shrubs to your left." If it's a species I've never logged, it tells me that too. It's for anyone who wants to learn bird calls without turning a walk into screen time. Demo [Add your video or link here. Even a 30-second clip of you walking and the earbud audio is enough.] Code [Embed your repo: {% embed https://github.com/YOUR-USERNAME/trailbird %} ] The core is a single loop: listen for 3 seconds, detect, speak, log. while True : clip = listen () for species , conf in analyze ( clip , SAMPLE_RATE ): if conf MIN_CONFIDENCE : continue if time . time () - last_spoken . get ( species , 0 ) COOLDOWN_SECONDS : continue speak ( field_note ( species , conf , species not in seen )) log_sighting ( species , conf ) last_spoken [ species ] = time . time () How I Built It Everything runs locally: BirdNET-Analyzer detects species from raw audio. Its weights are CC BY-NC-SA, so this is a non-commercial project. Gemma 3 (4B) via Ollama turns "Cardinalis cardinalis, 0.82" into one friendly sentence. Piper speaks it offline. SQLite keeps my personal life list. The pipeline: mic -> BirdNET -> Gemma -> Piper -> SQLite . Three small decisions made it usable outdoors: A cooldown per species. Without one, a single robin narrated itself endlessly. Two minutes of silence per species fixed it. One sentence, enforced in the prompt. Language models love paragraphs. Nobody wants a paragraph in their ear on a trail. A small model. A 4B Gemma runs on a laptop without a GPU, so the whole thing works in a backpack. Taking it outside [Where you went, how long, the weather.] [Your best moment. What did it catch, and did it change where you looked?] [Something that went wrong, such as wind noise, a false positive, or battery drain, and how you handled it.] Why Does Open Innovation Matter? The places I most want to bird, like ridgelines and wetlands, have the worst signal. A cloud API fails exactly there. Because the models are open, Trailbird works with no connection at all. It also keeps my data mine. A log of when and where I walk stays in a local file, with no account and no upload. And since each piece is swappable, I could change the language model with a one-line edit, with no vendor, key, or bill. Open models didn't just make this cheaper. They made it possible to build the version that works in the woods. My Agent Session [Optional: link or embed your DevRelay session, or delete this section.] Prize Categories Best Use of Gemma: Gemma 3 (4B) runs locally through Ollama and writes every spoken field note.
DEV CommunityThe Giantsread at source
Passkey enrollment security in practice
Why passkey creation is the new weak point Passkeys close a lot of phishing risk at login, but they also move pressure to enrollment. The hard part is simple: if an attacker gets into an account once through a weaker path like a password, SMS OTP, or a recovery flow, they may not need to steal anything. They can just register their own passkey. That changes the cleanup model. A stolen password is a copied secret, so a reset invalidates it. An attacker-created passkey is different: it is a new authenticator bound to the account, with a private key the attacker controls. Resetting the password does not remove that credential. This is no longer theoretical. The July 2026 Microsoft 365 vishing campaign showed how attackers could walk users through a fake enrollment and bind their own credential. A month later, the same idea was already packaged as a kit. Why userVerification: "required" is not enough A common mistake is treating WebAuthn local checks as proof of account ownership. They are not. If you set userVerification: "required" , you prove that someone unlocked the authenticator locally. You do not prove that the authenticator belongs to the legitimate user. That distinction matters a lot during passkey enrollment security reviews. The practical rule is stricter: creating a new passkey should require authentication at least as strong as the credential you are about to issue. A valid session alone is too weak if the session started with a phishable factor. A safer enrollment path usually includes: fresh step-up authentication for passkeys before creation stricter checks for recovery-driven enrollment separate handling for weak sessions, even if the session is technically valid notifications through an independent channel after every new credential is added This also applies to conditional create passkeys risk. Background or low-attention creation may improve adoption, but it still needs the same authorization standard as any visible enrollment flow. Shared devices need policy, not guesswork Shared endpoints are where secure passkey creation gets messy. If a platform passkey is saved in a shared OS profile or public terminal, anyone who can unlock that profile may be able to use it later. The tricky bit is that WebAuthn does not reliably tell you whether a device is shared. Useful signals exist, but none gives perfect ownership proof. Signal What it helps with Limitation Managed device posture Strongest server-side policy input Only available in managed environments First-party device binding Builds confidence from prior strong use Not proof of ownership Account switching patterns Good risk signal for shared use Needs calibration from real traffic Browser/device fingerprinting Corroboration only Splits and collisions are common IP, network, geolocation Context for review Too weak for allow/deny decisions That leads to a more useful shared device passkey policy: classify environments by risk, then change the enrollment path. On a kiosk or likely shared machine, suppress platform passkey creation and offer phone-based cross-device registration or a roaming security key instead. Notifications, inventory, and revocation matter as much as enrollment Even good defenses will miss some WebAuthn enrollment attack attempts. That is why passkey security notifications should fire whenever a credential is created, not only when a risk score crosses a threshold. The notification should be independent of the enrollment session and include recognizable details like provider label, browser, OS, and timestamp. In-session banners are useful UX, but they are not enough for detection. You also need visible credential inventory and revocation. Users and support teams should be able to see which passkeys exist, distinguish them clearly, and remove suspicious ones fast. That is the core of passkey incident response: first lock down account changes and revoke active sessions, then reset other factors. Do not start with the password reset and assume the problem is gone. The deeper lesson is that passkeys do not protect weaker sign-in and recovery routes. Your real security boundary is still the weakest path accepted by the account. Read the full breakdown .
DEV CommunityThe Giantsread at source
Touch Grass, a website that Touch Grass, a website that runs an open-weight model on your phone to get you outside
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass What I Built Touch Grass is a website that answers one question: when and where should I go outside today? Then it checks that you actually went. Tap 📍 Use my location. You get the best 2-hour window before sunset (scored from the hourly forecast), real parks, gardens, trails and viewpoints nearby on a map, and a short plan with a mini mission ("spot a crow and three kinds of leaves"). Tap 🌿 I'm going outside. The page turns into a dark, calm card: Put the phone away. Just your mission and the sunset time. Back home, tap 📸 I'm back. Prove it. and take a photo. An AI checks it was really taken outdoors (not indoors, not a screenshot, not a photo of a screen), says what it spotted, and adds a day to your streak and grass journal. Tap 📤 Invite friends to send the plan and map link to your group. It's for anyone who opens their phone "for a minute" and looks up two hours later. The screen part takes about a minute. The rest happens outside. Demo Try it live: https://touchgrass-zxhn.onrender.com (hosted on Render) · mirror: https://aminul821.github.io/TOUCHGRASS/ Open it on your phone (Chrome or Edge on Android works best), tap 📍 Use my location, and you'll have a plan in a few seconds. The first time you tap ✨ Let the on-device AI write it, the model downloads once (0.5–1 GB, so use Wi-Fi). After that it runs on your phone, even offline. Code aminul821 / TOUCHGRASS 🌿 Touch Grass A website that tells you the best time and spot to go outside today, then checks that you actually went. The AI runs in your browser, so your location and photos never leave your phone. ▶ Live: https://touchgrass-zxhn.onrender.com (Render) · GitHub Pages mirror Open it, tap 📍 Use my location , and you get: ⏰ The best 2-hour window before sunset , scored from the hourly forecast (rain, storms, temperature, wind), and how much daylight is left. 📍 Real parks, gardens, woods, trails and viewpoints nearby from OpenStreetMap, on a map. 🧠 A short plan and a mini mission ("spot a crow and three kinds of leaves") written by an open-weight model running in your browser . Then tap 🌿 I'm going outside . The screen turns into a calm "put the phone away" card with your mission. When you're back, tap 📸 I'm back. Prove it. … View on GitHub No build step: plain HTML, CSS and JavaScript modules. js/outdoors.js handles weather, places and scoring, js/plan.js the language model, js/vision.js the photo check, and js/journal.js the streaks. How I Built It Everything AI runs in the visitor's browser. There's no backend at all, just a static site on Render. Plan writer: WebLLM runs Qwen 2.5 1.5B Instruct (open weights, 4-bit) on WebGPU. You can switch to Llama 3.2 1B or Gemma 3 1B, or point it at your own Ollama server. On phones with no WebGPU, it automatically uses Qwen 3 0.6B through transformers.js on the CPU, so every phone gets the AI plan. Optional Hermes server: for phones that can't download a model, the repo also has a small Docker server (server/) that runs Hermes 3 3B (Nous Research, open weights) on Ollama, CPU only. It gets only the facts, never coordinates or photos. It needs ~2.5 GB of RAM, so it isn't deployed on a free tier. The site only shows its button when the server answers. Front end on Render: the website is deployed on Render as a static site from a render.yaml Blueprint, and redeploys on every push. Photo checker: transformers.js runs CLIP ViT-B/32 (open weights) on WebAssembly, so it works even on phones without WebGPU. It's zero-shot: the photo is scored against labels like "a photo of a park with grass and trees" vs "a screenshot of a phone or computer" vs "a photo taken indoors in a room". It passes only if 60%+ of the probability goes to the outdoor labels. A second pass names what's in it ("trees", "bird", "clouds"). Open data: Open-Meteo for the hourly forecast and sunset, and OpenStreetMap via Overpass for green spots, drawn with Leaflet. Neither needs an API key. Facts first, model second. A 1.5B model will happily invent a park, so it never gets the chance: Code scores every daylight hour (rain chance, storm codes, temperature comfort, wind) and picks the best 2 in a row. Code gets real named places from OpenStreetMap, removes duplicates and sorts them by distance. The model gets only that JSON, with instructions to use only those places, and writes the human part: which spot, what to bring, a mission. If anything fails (no WebGPU, offline, model error), you still get a plain template plan. A photo that couldn't be checked is never counted. Respect the download. The plain plan shows instantly. The ~1 GB language model downloads only when you tap ✨ Let the on-device AI write it. After that, WebLLM's cache makes it load in seconds. A service worker caches the app, so once CLIP (~90 MB) is cached, the photo check and journal work on the trail with no signal. Why Does Open Innovation Matter? Your location and photos never leave your phone. This app sees exactly where you are and pictures of where you've been. With a closed API that data goes to someone else's server. Here the model weights come to you instead. It costs nothing to run, for anyone. No inference bill and no API keys means I can leave it online for free forever, and anyone can fork it and host their own copy on GitHub Pages in two minutes. Swap models freely. A dropdown switches between Qwen, Llama and Gemma. Got a gaming PC? Point it at Ollama and use a bigger model. No vendor lock-in and no deprecation emails. It works where closed APIs can't: on a hill with one bar of signal, after the models are cached. Open maps make it honest. The plan can only use places that exist in OpenStreetMap, the same map local hikers and gardeners edit. It runs on every phone, not just new ones. Because the models are open, I could pick a small one for phones without WebGPU (Qwen 3 0.6B on the CPU) and a bigger one for phones with a GPU. With a closed API I'd get one model at one price, and nothing at all offline. My Agent Session I built Touch Grass with Claude Code as my coding agent. I described the idea and made the calls (website instead of a bot, which models, where to host), and the agent wrote the code, tests and docs. Then it checked the site in a real Chromium browser, light and dark mode, and loaded the real WebLLM and transformers.js libraries to make sure they work. The open-weight models are what run inside the app; Claude Code was only the tool I used to build it. Prize Categories Render: Render hosts the app's front end at https://touchgrass-zxhn.onrender.com (static site from a render.yaml Blueprint, redeployed on every push).
DEV CommunityThe Giantsread at source
Touch Grass Planner: Local AI for Your Next Outdoor Reset
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass What I Built I built Touch Grass Planner, a local AI app that helps people choose a real-world activity when they want to step away from the screen. Instead of asking a closed API for recommendations, the app uses an open-weight sentence-transformer model running locally on the machine. The user enters a mood or goal such as “I want a calm walk with birds and fall colors,” and the app recommends a few outdoor options based on weather, time of day, energy level, and intent. This is designed for people who want a small reset without planning a whole hiking trip: bird walks, garden sessions, sunrise strolls, social trail walks, and easy nature resets. Demo A live local version runs with Streamlit: streamlit run app.py Then open the local app in the browser at http://localhost:8501 . Code GitHub repo: https://github.com/nirajnagrale7/hacktomberfest-second-challenge-2026.git How I Built It I built this with a simple local AI stack: Streamlit for the app UI Hugging Face sentence-transformers for the embedding model PyTorch for on-device inference A local JSON catalog of outdoor activities for matching user intent to real-world activities The app uses the open-weight model to embed the user prompt and compare it against outdoor activity descriptions. It then ranks the best matches based on semantic similarity plus a few custom heuristics for weather, energy, time of day, and goal. The important part is that the model runs on-device. There is no paid subscription, no remote API, and no external AI service required for the recommendation flow. Why Does Open Innovation Matter? Open innovation matters here because this project is built around privacy, affordability, and control. The core experience works locally: the model runs on the user’s machine, the recommendation logic stays transparent, and the app can be customized or fine-tuned without being locked into a closed platform. That makes it more practical for real-world use in places where internet access may be unreliable or where a person wants to avoid sending personal preferences to a third-party server. A closed model would have made this app harder to trust, harder to experiment with, and more expensive to operate. Using open-weight tools allowed me to build something that is lightweight, local, and adaptable — exactly the kind of setup that makes AI useful in everyday life instead of only in a cloud dashboard. The project is intentionally small, but it shows how open-source AI can make an app more personal and more grounded in the real world. My Agent Session I used a local, open-source workflow to prototype the idea directly on-device and iterate on the recommendation logic without using a closed AI service.
Hacker News: Show HNLibraries, Frameworks, etc.read at source
Show HN: Jotbus – a shared encrypted scratchpad for coding agents
Comments
Hacker News: Show HNLibraries, Frameworks, etc.read at source
Show HN: ChatGPT answers calls on a normal SIM. No Twilio, just a $6 ESP32
Comments
Hacker News: Show HNLibraries, Frameworks, etc.read at source
Show HN: Kahawai – An open source, modular media system
Comments
Hacker News: Show HNLibraries, Frameworks, etc.read at source
Show HN: Vev – Ask questions about a screenshot, get a probability per answer
Comments
Hacker News: Show HNLibraries, Frameworks, etc.read at source
Show HN: Parseable, an open observability datalake, handles 100M time-series/min
Comments
Hacker News Front PageThe Giantsread at source
Mistral Large 4: "Le Chonk"
Hacker News Front PageThe Giantsread at source
Mistral Large 4
Hacker News Front PageThe Giantsread at source
Mistral Large 4
Hacker News Front PageThe Giantsread at source
Two ARM64-specific compiler optimization bugs, in GCC 15/16 and Rust, hit curl
Hacker News Front PageThe Giantsread at source
Mathematics of Geothermal Energy
W3C NewsBrowsers, engines, etc.1 min read
Updated Candidate Recommendation: Scalable Vector Graphics (SVG) 2
The SVG Working Group published Scalable Vector Graphics (SVG) 2 as a Candidate Recommendation Snapshot and invites implementations.
Flavio CopesMore Front-end Bloggersread at source
Use npkill to find and delete old node_modules folders
npkill is a free terminal tool that finds every node_modules folder on your computer, shows its size and age, and deletes the ones you pick.
QuirksBlogTop Front-end Bloggersread at source
The cost of AI
At Fronteers Dark Mode last Friday I had AI conversations with three or four people. At the end of each of them I asked: “Yeah, but what would those tokens really cost?” They didn’t know either, but agreed that it was the right question to ask. Is AI truly cheaper than the workers it replaces? I encourage you to do the same. After each conversation about AI, ask what the true cost of the tokens would be. Nobody knows, but getting used to asking the question is a good idea. Costs and benefits AI is being very heavily subsidised right now. I still don’t know what the true cost of a token is. Nobody does. (This analysis says “hyperscalers have spent about $1.2 trillion on AI investments while only making $277 billion in revenues.” That’s $4.33 spent for every dollar earned.) On the consumer side, this is the first time the tech giants release a service that is not “free” — and that after years of training us to expect free goodies everywhere. They can fund their free social networks and such by productizing the consumer, but there’s no way they can port the ad model to AI. The money just isn’t there. (The total global ad market in 2025 was about $300 billion. This analysis estimates that the hyperscalers need at least $1.3 trillion per year over the next ten years. That’s four global ad markets and a bit.) Also, this is the first time the tech giants release a service that is cordially disliked by a large percentage of the world — maybe even to the extent that it influences sentiment about the tech giants themselves. But consumer opinions don’t matter, it’s the corporate market that counts. So the question becomes: can AI efficiency save the world about 25% of its total IT costs? (The 2020 global IT market — untouched by AI — was estimated to be $5.2 trillion, and as we saw we need at least $1.3 trillion per year to keep AI running. The savings would not only come from IT, but IT would be expected to deliver the lion’s share.) Factories and tradesmen Quick history lesson: the industrial revolution, which replaced tradesmen by huge factories, didn’t take place because people liked huge factories, but because they produced stuff cheaper . Right now I’m not seeing any evidence that AI is cheaper than the workers it replaces, especially not when taking into account the amount of checking that AI errors and bugs still require. I could be wrong, but it’s unprovable either way, and the numbers I quoted above seem to support my viewpoint. The tech giants are creating something with the appeal of a 19th-century factory, complete with oppressed and estranged workers, without delivering the sole benefit: cheaper IT and other services. Do they create their factories because they like them? Regardless of the costs? Did that make them bite off more than they can chew? Hey, I’m just asking questions. Recent articles For this article I read a few overview stories about the cost of AI — and not in my local anti-AI socialist rag website, but in the sort of unsuspect capitalist publications that Very Serious Investors read. I found that, while the authors still sprinkle sentences throughout their articles about “obvious benefits,” and company X saving $50K, and the general wonders tech brought to the world, they start to be pretty critical of the huge expenditures. To me, this sounds as if the writers are preparing the world for a shifting viewpoint; for the moment that money will run out, unlikely as that might appear to anyone within the bubble. Oh, yes, we could be wrong, mr AI True Believer who pays for a subscription to the magazine we write these words in ... except that we’re not. To me, it sounds as if at least part of the capitalist class is waking up to the fact that AI is just a bubble. And once enough people say “AI is just a bubble” it becomes reality. So help it come about. After each conversation about AI, ask what the true cost of those tokens would be. Sow doubt. Hint at bubbles. Let’s hope the bubble bursts soon. It’s only after the inevitable crash that we can assess the true cost — and benefits — of AI.
Smashing MagazineThe Giants6 min read
A Practical Guide To Naming Things
A practical guide to naming UI components, with useful resources, naming conventions, and structures.
AdactioTop Front-end Bloggersread at source
Reading The Mountain In The Sea by Ray Nayler.
Flavio CopesMore Front-end Bloggersread at source
I built GitHub Home, a Chrome extension that puts my repos on the GitHub home page
GitHub Home is my free, open source Chrome extension that replaces the GitHub home page with your repositories, so you can jump to the one you're working on.
Flavio CopesMore Front-end Bloggersread at source
I open sourced testvm, so your coding agents can test Mac apps in a VM
testvm is my free, open source tool that runs Mac app builds in a headless macOS VM, so coding agents test them without taking over your screen.
Flavio CopesMore Front-end Bloggersread at source
I built a Mac app to import Blackmagic Camera videos from my iPhone
Importer for Blackmagic Camera is my free, open source Mac app that copies Blackmagic Camera clips from an iPhone over USB, checks every copy byte for byte, and then offers to delete the originals.
Flavio CopesMore Front-end Bloggersread at source
How to use Jev with the Vercel AI SDK
How to use Jev with the Vercel AI SDK: install the TypeSafe provider, call experimental_evaluate, read confidence, use AI Gateway, and compare Jev with an LLM.
HTML All The ThingsPodcastsAudioListen
AI Basics for Small Businesses
AI can save small businesses time, reduce repetitive work, and unlock capabilities that previously required more people, but where should you actually start? In this episode, Matt and Mike break down how small businesses can introduce AI without getting overwhelmed, from…
HeyDesignerDeveloper/Designer Newsread at source
The fake double diamond is dead. The real double diamond is immortal
What the 500 in blue-500 means, Designing for voice first, Beautiful theme toggles for React, Svelte, and Vue, SSGOI: Native page transitions on the web, AI invasive design.
AbduzeedoMulti Author Blogsread at source
Stavanger Ysteri: OlssønBarbieri Packaging Design
OlssønBarbieri crafted tactile packaging design for Stavanger Ysteri, pairing debossed circular labels with mythological linework. Stavanger Ysteri makes raw milk cheese in the heart of Stavanger. The...
AbduzeedoMulti Author Blogsread at source
Design Week Mexico 2026 Opens with a Bold New Identity
Design Week Mexico 2026 opens today in Mexico City, and its new graphic identity leads with a giant grotesque DWM26 set in off-white on black. The whole campaign hangs on that one move: the wordmark I...
AbduzeedoMulti Author Blogsread at source
Juri Zaech Unveils Fraktion Mono Typography
Juri Zaech designs Fraktion Mono, an expressive semi-technical typography system pairing monospace discipline with grotesque curves. Monospaced typefaces often feel stiff. Strict grid boxes lock each ...
AbduzeedoMulti Author Blogsread at source
The Lucas Museum: MAD Architects Redefines Museum Architecture
Explore the Lucas Museum of Narrative Art in Los Angeles, where MAD Architects crafts an aerodynamic landmark in civic museum architecture. Rising above Exposition Park in South Los Angeles, the Lucas...
Flavio CopesMore Front-end Bloggersread at source
I built vimeo-cli, a command line tool for Vimeo
vimeo-cli is my free, open source command line tool for Vimeo. One command uploads a video, applies the player preset I use on every video, and prints the link to share.
Level AccessCompany/Startup Blogs13 min read
Focus Indicators: WCAG Requirements and Best Practices
A focus indicator is the outline or highlight, often called a focus ring, that marks which interactive element has keyboard focus as you The post Focus Indicators: WCAG Requirements and Best Practices appeared first on Level Access .
Go Make ThingsMulti Author Blogs1 min read
No human is illegal
I just ordered a bunch of leftist patches to put on my backpack, because virtue signaling is good, actually. One patch I kept seeing over and over again is… No human is illegal on stolen land. I get it. It’s supposed to point out the hypocrisy of complaining about illegal immigration in a country that was founded by stealing it from and genociding the people who already lived here.
Frontend Masters BlogMore Front-end Bloggers10 min read
Transferring sibling-count() to a Parent Element
You can tell a parent element how many children it has with... scroll-driven animations??
AbduzeedoMulti Author Blogsread at source
Brand Identity: Papier by Ragged Edge
Ragged Edge crafted a tactile brand identity for Papier, centering on the blank page with expressive serifs and bespoke stationery. Papier began as an online stationery brand. It soon grew into a life...
Flavio CopesMore Front-end Bloggersread at source
I built Blips, 6,000 8-bit sound effects for my apps
Blips is my free, open source Mac app and command line tool with about 6,000 8-bit sound effects made with jsfxr. Click a sound to hear it, drag it into your app.
Flavio CopesMore Front-end Bloggersread at source
I built Snake, the classic phone game for the Apple TV
Snake is my free, open source Apple TV game: the classic snake game from old mobile phones, full screen on a green LCD board, steered by swiping on the Siri Remote.
SitePointThe Giantsread at source
8 Ways to Turn a Marketing Brief into a Testable Website
null Continue reading 8 Ways to Turn a Marketing Brief into a Testable Website on SitePoint .
SyntaxPodcastsAudioListen
1044: Ruby on Rails is Dead
Scott, Wes, and CJ ask whether Ruby on Rails is really dead (and whether Rust is just Rails you don't have to read), then dig into Meta's new Muse agent, which is free, comes with its own VM, and is already reading messages nobody asked it to. Plus: upm, a tiny TypeScript npm…
Level AccessCompany/Startup Blogs9 min read
AI vs. Closed Captioning: Understanding Audio Accessibility Compliance
Captions are written text meant to account for audio content such as spoken dialogue, important sounds, and other audio information. They may also The post AI vs. Closed Captioning: Understanding Audio Accessibility Compliance appeared first on Level Access .
SitePointThe Giantsread at source
How to Build Smarter Marketplace Search with Vanilla JavaScript
null Continue reading How to Build Smarter Marketplace Search with Vanilla JavaScript on SitePoint .
SitePointThe Giantsread at source
7 Features Every Creator Marketplace Should Build Before Launch
null Continue reading 7 Features Every Creator Marketplace Should Build Before Launch on SitePoint .
HeyDesignerDeveloper/Designer Newsread at source
Timeless type family
Training AI to paint with code, Design is a nice-to-have, Google Fonts superfamilies, A flame needs three sine waves.
AbduzeedoMulti Author Blogsread at source
Mother Design Unveils the Realm Brand Identity
Mother Design turned Serial Box into Realm, and the new Realm brand identity pairs a mascot-eyed wordmark with glowing portals and deep purple. The first thing you meet is the wordmark, and it stares ...
Auth0 BlogCompany/Startup Blogsread at source
Auth0 Metadata Explained: user_metadata vs app_metadata
user_metadata and app_metadata aren't interchangeable. Users can edit one, not the other. Learn how this distinction becomes a security boundary in your post-login Actions.
Twilio BlogMulti Author Blogsread at source
Twilio Reaches Branded Calling Milestone Across AT&T, T-Mobile, and Verizon Networks
Build trust and drive engagement with Twilio Branded Calling, now on AT&T (Pilot), T-Mobile, and Verizon. Stand out to customers with verified branding.
SitePointThe Giantsread at source
Next.js Chunk Load Error: How to Fix Production Failures
Diagnose and resolve intermittent Next.js App Router ChunkLoadError issues in production, from deploy skew and proxy matchers to CDN caching and error boundaries. Continue reading Next.js Chunk Load Error: How to Fix Production Failures on SitePoint .
SitePointThe Giantsread at source
Node 26 Debounce and Throttle: Practical Guide and Lodash Comparison
Use Node.js 26.10's built-in util.debounce and util.throttle: options, promise behavior, tested examples, the cancel() gotcha and how they differ from Lodash. Continue reading Node 26 Debounce and Throttle: Practical Guide and Lodash Comparison on SitePoint .
Speckyboy Design MagazineDeveloper/Designer News4 min read
Should Your Agency Charge Less for AI-Assisted Solutions?
Should clients pay less when agencies use AI? Learn why faster WordPress development still depends on expertise, testing, planning, and clear communication about results. The post Should Your Agency Charge Less for AI-Assisted Solutions? appeared first on Speckyboy Design Magazine .
Jim Nielsen’s BlogMore Front-end Bloggersread at source
“I’m Embarrassed on Behalf of the Tech Industry”
That’s something Ben Thompson said a recent episode of Dithering . He was referring to how he felt while trying to help his mom get control of her digital life. Everything was just too hard and convoluted and he felt embarrassed as someone who works in tech. That very same evening, I randomly got this text from a family member. I hear this a lot from family and friends who sit outside tech. “Nothing works.” “Everything is hard to use.” “I can’t make sense of this.” And to them I am a representative, a connection, to this pain in their lives. And I, too, am embarrassed on behalf of the tech industry — by our collective failure. Reply via: Email · Mastodon · Bluesky
AdactioTop Front-end Bloggersread at source
Sunday session
AbduzeedoMulti Author Blogsread at source
Mix Interiors Brand Identity Is a Masterclass by Marçal Prats
Marçal Prats rebuilt the Mix Interiors brand identity on a square grid, then expanded the three-letter MIX logotype into a full display typeface. The MIX mark reads as flat planes that refuse to stay ...
Stéphanie WalterMore Front-end Bloggersread at source
Pixels of the Week – October 4, 2026
👉🏻 Curated weekly UX Research, Design & Tech resources: building a general-purpose accessibility agent, how to make your design system AI-ready, WCAG 3.3.4 error prevention explained, why you got faster but your company didn't, the AI delegation matrix for your UI, flame painting art on copper, curated branding inspiration, how mechanical watches work, maps of book characters' journeys, free no-login utility tools.
Go Make ThingsMulti Author Blogsread at source
Radical books that aren't a slog
I’m loving the resurgence of zines! Violet B. Fox just released on on radical books that aren’t a slog, a collection of books for leftists that aren’t super dense theory by old dead white guys. There’s so many good ones to choose from, but I started with The Parable of the Sower by Octavia Butler. For posterity, I’ve saved a local backup, but you should visit Violet’s site instead.
AbduzeedoMulti Author Blogsread at source
Best of the Week: Monograms, Serifs, and Tactile Systems
Our curated roundup of the best of the week highlights architectural monograms, editorial serif fonts, and tactile apothecary packaging from ISO week 2026-W40. This week’s editorial throughline explor...
Christian HeilmannTop Front-end Bloggers7 min read
AI needs fewer Iron Men and more Smart Hulks
When I got into machine learning it was all about making the world a better place. I worked for Microsoft and had access to projects and the smart people behind them that all were for the benefit of humans. Batch analysis of MRI scan data to allow doctors to detect cancer growths faster. Analysis of […]
phpiedTop Front-end Bloggers2 min read
Debugging download initiator
I was recently debugging why an image was being downloaded. In Chrome devtools, in the network panel, the column for "initiator" was pointing to the end of the HTML document. But that wasn't true and I suspect when Chrome gives up on trying to figure out the actual code location, the default is the HTML […]
Jens Oliver MeiertTop Front-end Bloggersread at source
We Need to Protect Muslims
The West has developed a self-fueling story about Muslims that is used to wage a non-scrutinized forever war on Islam. Both the story and the war need to stop.
DXDMore Front-end Bloggersread at source
Não é Só um Logótipo, literalmente
A identidade visual do podcast "Não é Só um Logótipo" é um convite à descoberta de um sem fim de curiosidades sobre a disciplina do design. O conteúdo Não é Só um Logótipo, literalmente aparece primeiro em DXD .
Adam ArgyleTop Front-end Bloggersread at source
Page View Count Regression Fixed
Page view counts regressed Oct 1 and were fixed just now. Hopefully those historical counts can be retrieved or fixed; working on it.