Dev.to
How we went from no-code agents to no-prompt agents
When we started Reach , the plan was simple. We had a bunch of small businesses we were already in touch with - real SMBs, the kind that live on WhatsApp and don't have a "tech team." We'd give each of them an AI agent that talks to their customers, hand them a clean starter template for the instructions, and let them tweak it from there. That was the whole bet: give people a good starting prompt and a template, and they'll play along. We were so wrong it's almost funny now. The part nobody warns you about Here's the thing about prompt engineering that you only learn by watching non-technical people try to do it: writing the instructions is not the hard part. The hard part is thinking about the task in the abstract . We'd hand a business owner an agent that mostly worked, and say "just adjust the instructions when it gets something wrong." Sounds easy. It is not. Sitting down and imagining all the ways a conversation could go, then writing rules for a machine to follow - that's a skill. It's basically a job. And it's a completely different job from running a flower shop or a real estate office. So they got stuck. They'd open the instructions editor, stare at it, and close it. The agent stayed mediocre because the iteration loop we designed required them to be part-time prompt engineers. A few of them just quietly left. That stung, but it taught us the actual problem. What "iteration" actually looked like We started doing the iterations for them, manually. And once we did that a few dozen times, a pattern jumped out. The feedback never led to an abstract change. It was never something that made us "rethink the agent's persona" or "restructure the system prompt." It was tiny, concrete, and tied to a real conversation: "It suggests all of our services, but honestly most customers only care about these three - push those." "It pulled our opening hours from the website and they're just wrong. We changed them months ago." These were one-line corrections. The owner knew ex
Hanan Amar
2026-06-24 23:37
👁 5
查看原文 →
Dev.to
Legacy code não envelhece como vinho: quanto mais espera, pior fica
Semana passada eu passei três horas debugando um bug que deveria levar 20 minutos. O problema? Um módulo de validação escrito em 2019 que ninguém mexe "porque funciona". Spoiler: não funcionava mais, e quando finalmente abri o arquivo, encontrei um // TODO: refactor this datado de 2020. Por que legacy vira bola de neve A indústria trata código legado como se fosse dívida técnica opcional — algo que você paga "quando tiver tempo". Mas código legado se comporta mais como mofo: se espalha, contamina áreas adjacentes, e quanto mais você ignora, mais cara fica a limpeza. O ciclo é previsível: você herda um projeto ou feature antiga, vê que está "meio bagunçado mas roda", adiciona sua feature com um if a mais, e segue em frente. Seis meses depois, outra pessoa faz o mesmo. Um ano depois, aquele arquivo tem 800 linhas, cinco níveis de if aninhados, e zero testes. Ninguém mais entende o fluxo completo, então cada mudança vira uma sessão de especulação: "se eu mexer aqui, quebra ali?" O custo real de esperar Esse código "que funciona" tem um custo oculto que aparece em três formas: Velocidade de desenvolvimento despenca. Features que deveriam levar dois dias levam uma semana porque você passa mais tempo entendendo o contexto do que escrevendo código novo. Bugs aumentam exponencialmente. Código sem testes e com lógica embolada é um gerador de regressões. Você corrige um edge case e quebra outro que nem sabia que existava. Onboarding vira tortura. Novo dev no time? Boa sorte explicando por que aquele service tem três formas diferentes de fazer autenticação, ou por que a mesma validação está copiada em sete lugares. Sinais de que você está sentado em cima de uma bomba Nem todo código antigo é legacy tóxico. Aqui estão os red flags que indicam que você precisa agir agora: // Red flag #1: comentários mentirosos ou inúteis function processPayment ( order ) { // Process the payment const user = order . user ; // TODO: fix this later // HACK: don't touch this, breaks prod if ( user
Taina Costa
2026-06-24 23:35
👁 5
查看原文 →
Dev.to
NFL 4th Quarter Data: Why Teams That Go For It On 4th Down Win More Than You Think
The clock reads 6:47 in the third quarter. Your team is down three points, facing 4th and 2 at midfield. For decades, the conventional wisdom was automatic: punt the ball away and hope your defense makes a stop. But on Sunday across America's NFL stadiums, something remarkable is happening. Teams are challenging that wisdom with data, and the results are reshaping how football is played. In the 2023 NFL season, teams went for it on 4th down approximately 23% more often than they did a decade earlier. Some of this increase stems from rule changes and philosophical shifts, but the real driver is analytics. Teams now have access to comprehensive data showing that going for it on 4th down is dramatically undervalued by traditional football thinking. The margin between analytical expectation and actual performance reveals one of the most significant inefficiencies in professional sports. This article explores the data patterns behind 4th down decision-making, revealing why teams willing to challenge convention are winning more games than Vegas expects, and what the numbers tell us about the future of NFL strategy. The NFL Data Ecosystem: More Information Than Ever Understanding NFL analytics requires first appreciating the sheer volume of data available to modern front offices. We're not talking about simple box scores anymore. Teams now collect: Tracking data : Real-time positioning of all 22 players on every play, collected at 10 frames per second Biometric data : Player fatigue levels, GPS tracking during games, heart rate variability, and recovery metrics Situational data : Down and distance, field position, score differential, time remaining, and opponent tendencies Personnel data : Matchup analysis comparing specific offensive and defensive units Environmental data : Weather conditions, field surface characteristics, altitude, and crowd noise levels This data ecosystem emerged gradually. NFL teams began serious analytics initiatives in the early 2010s, largely insp
Edge Lab
2026-06-24 23:34
👁 9
查看原文 →
Dev.to
The Best Free Sports Data APIs in 2025: A Developer's Practical Review
Hook: Why Your Next Sports Analytics Project Shouldn't Cost a Fortune Last summer, a college student in Ohio built a machine learning model that predicted NBA player performance with 87% accuracy—without spending a single dollar on data. Meanwhile, a startup in London created a real-time football analytics dashboard that rivaled paid enterprise solutions. The secret? Free sports data APIs. The sports data landscape has transformed dramatically. Where teams once paid six figures for proprietary datasets, developers and data scientists now have access to institutional-quality information at zero cost. Whether you're building a fantasy sports optimizer, analyzing player statistics, or creating predictive models, the barrier to entry has never been lower. But not all free APIs are created equal. Some offer comprehensive historical datasets spanning decades. Others provide real-time updates but limited depth. This guide cuts through the noise and delivers a practical, hands-on review of the best free sports data tools available in 2025. Why Free Sports Data Matters Now More Than Ever The democratization of sports data represents a fundamental shift in the industry. Five years ago, accessing granular sports statistics required partnerships with ESPN, official league APIs, or expensive data brokers. Today's ecosystem has flipped that model. The practical advantages: Lower barriers to entry : Students, hobbyists, and early-stage startups can build sophisticated analytics projects without capital constraints Rapid prototyping : Test hypotheses and validate ideas before investing in premium data services Educational access : Learn data engineering, machine learning, and API integration with real-world sports datasets Competitive alternatives : Many free APIs now compete directly with paid solutions in specific domains The catch? Free doesn't mean unrestricted. Rate limits, update frequencies, and feature sets vary dramatically. Understanding what each tool offers—and its limi
Edge Lab
2026-06-24 23:33
👁 5
查看原文 →
Dev.to
How to Fetch Real-Time Options Chain Data in Python (Without Paying $99/mo)
If you've ever tried to pull live options data into a Python script, you've probably hit the same wall I did: the cheapest real-time providers start at $99/mo. Here's how to do it for $20/mo — or free if you stay within 1,000 credits/day. What You'll Need Python 3.8+ requests library ( pip install requests ) An API key from market-option.com (free tier available, no card required) Fetching a Full Options Chain import os import requests API_KEY = os . environ [ " MARKET_OPTIONS_KEY " ] BASE_URL = " https://market-option.com/api/v1 " def get_chain ( ticker : str ) -> list [ dict ]: res = requests . get ( f " { BASE_URL } /options/chain/ { ticker } " , params = { " apiKey " : API_KEY }, ) res . raise_for_status () return res . json ()[ " results " ] contracts = get_chain ( " SPY " ) print ( f " { len ( contracts ) } contracts returned " ) print ( contracts [ 0 ]) Each contract in results looks like this: { "details" : { "contract_type" : "call" , "strike_price" : 530 , "expiration_date" : "2026-01-17" , "ticker" : "O:SPY260117C00530000" }, "last_quote" : { "bid" : 3.45 , "ask" : 3.50 , "midpoint" : 3.475 }, "greeks" : { "delta" : 0.42 , "gamma" : 0.031 , "theta" : -0.18 , "vega" : 0.29 }, "implied_volatility" : 0.182 , "open_interest" : 12418 } Filtering by Expiration and Strike def get_near_the_money ( ticker : str , expiration : str , spot : float , width : float = 0.05 ): """ Return contracts within ±width% of spot price. """ contracts = get_chain ( ticker ) low = spot * ( 1 - width ) high = spot * ( 1 + width ) return [ c for c in contracts if c [ " details " ][ " expiration_date " ] == expiration and low <= c [ " details " ][ " strike_price " ] <= high ] atm = get_near_the_money ( " SPY " , " 2026-01-17 " , spot = 530 ) for c in atm : print ( c [ " details " ][ " strike_price " ], c [ " details " ][ " contract_type " ], c [ " last_quote " ][ " bid " ], c [ " greeks " ][ " delta " ], ) Scanning for High IV Contracts def high_iv_scan ( ticker : str , iv_threshold :
Salomon
2026-06-24 23:31
👁 5
查看原文 →
Dev.to
Stokado: A Zero-Dependency Proxy Wrapper That Makes Browser Storage Feel Like a Plain Object
If you've shipped anything to the browser, you've used localStorage . And if you've used it for more than five minutes, you've also written this exact line more times than you'd like to admit: const user = JSON . parse ( localStorage . getItem ( ' user ' ) || ' null ' ) The Web Storage API has aged remarkably well for something so small, but it carries three persistent pain points that every frontend codebase ends up papering over by hand. Pain point #1: everything is a string. localStorage.setItem('count', 0) doesn't store the number 0 — it stores the string "0" . Read it back and typeof is "string" . Booleans become "true" / "false" , Date objects collapse into ISO strings (if you're lucky) or "[object Object]" (if you're not), and undefined becomes the literal string "undefined" . So every project grows a thin serialization layer of JSON.parse / JSON.stringify wrappers, plus a pile of defensive try/catch blocks for the day a malformed value sneaks in. Pain point #2: the API is verbose and stringly-typed. getItem , setItem , removeItem — three method calls and a string key for what is conceptually just reading and writing a property. It reads nothing like the rest of your code. Pain point #3: reactivity is broken in the tab you actually care about. The native storage event only fires in other tabs of the same origin. The tab that performed the write never hears about it. So if you want to react to your own storage changes — the overwhelmingly common case — the platform gives you nothing. Stokado is a small, zero-dependency library that addresses all three by wrapping any storage object in a Proxy . It's framework-agnostic, TypeScript-friendly, and works equally well with localStorage , sessionStorage , cookies, async backends like localForage, and a handful of mini-program runtimes. This article walks through what it actually does, feature by feature, with runnable code. Quick start npm install stokado import { createProxyStorage } from ' stokado ' const storage =
KID-joker
2026-06-24 23:30
👁 5
查看原文 →
HackerNews
Journalism is rearranging the deckchairs. It needs to reinvent itself
benwerd
2026-06-24 23:28
👁 3
查看原文 →
MIT Technology Review
Europe’s extreme heat is shutting down power plants
Europe is in the middle of a record-breaking heat wave, and the grid is being pushed to its limits as people turn to fans and air-conditioning to try to stay cool. Some power plants won’t be online to help handle the load. On June 23, France saw its hottest day since record-keeping began in 1947.…
Casey Crownhart
2026-06-24 23:25
👁 9
查看原文 →
The Verge AI
Zoox’s purpose-built robotaxi is getting a refresh
Zoox, the autonomous vehicle company owned by Amazon, unveiled a new look for its boxy, bidirectional robotaxi, calling it the "next evolution" of the vehicle intended for mass production. The company is currently operating a free robotaxi service in San Francisco, Las Vegas, Austin, and Miami while it waits for the federal government to approve […]
Andrew J. Hawkins
2026-06-24 23:00
👁 10
查看原文 →
InfoQ
AI Is Moving up the Software Lifecycle: From Code Review to PRD Governance
Technology companies are extending AI beyond code generation into earlier stages of the software lifecycle, including PRD validation, design inputs, and code review. Initiatives from Uber, DoorDash, and Cloudflare highlight a shift toward AI-driven governance layers that evaluate engineering artifacts before implementation while preserving human oversight across the development pipeline. By Leela Kumili
Leela Kumili
2026-06-24 22:57
👁 9
查看原文 →
TechCrunch
OpenAI unveils its first custom chip, built by Broadcom
Named Jalapeño, the new processor was designed specifically for the unique needs of OpenAI's inference systems.
Russell Brandom
2026-06-24 22:54
👁 9
查看原文 →
HackerNews
For Most of the World, Open-Source AI Is the Only Way Forward
CrankyBear
2026-06-24 22:50
👁 3
查看原文 →
HackerNews
RubyLLM: A single, beautiful Ruby framework for all major AI providers
doener
2026-06-24 22:41
👁 3
查看原文 →
The Verge AI
OpenAI reveals its first AI processor: Jalapeño
OpenAI has just revealed a new "intelligence processor" chip for AI servers made in partnership with Broadcom. The chip, called Jalapeño, is designed to power current and future large language models, according to an announcement on Wednesday. Jalapeño is an ASIC (Application-Specific Integrated Circuit), meaning it's designed for a specific purpose: AI inference. With AI […]
Emma Roth
2026-06-24 22:36
👁 5
查看原文 →
Product Hunt
Papermark Agents
Let AI agents run your next deal, fundraise or data room Discussion | Link
Iuliia Shnai
2026-06-24 22:35
👁 2
查看原文 →
Product Hunt
Sidegent
Learn to build AI agents by actually building them Discussion | Link
Farhan Helmy
2026-06-24 22:34
👁 2
查看原文 →
HackerNews
PR spam today looks like email spam in the early 2000s
dakshgupta
2026-06-24 22:32
👁 3
查看原文 →
Product Hunt
Genspark Design
Generate UI prototypes, videos, and posters with AI Discussion | Link
Raghav Mehra
2026-06-24 22:18
👁 2
查看原文 →
Product Hunt
Outpaint.com - Ad Reframe
Convert UGC ads for TV Discussion | Link
2026-06-24 22:14
👁 4
查看原文 →
HackerNews
AI Is Designing Radio Chips That Humans Couldn't Even Imagine
Brajeshwar
2026-06-24 22:02
👁 3
查看原文 →