4作者: raymondtana大约 1 个月前原帖
Raymond here from Butter.dev, an LLM response cache built as a chat-completions proxy. Today we&#x27;re launching a key feature for the platform: the ability to generalize on dynamic, templated inputs.<p>Caching at the HTTP request level has the obvious problem of generalizability. Nearly no request is identical, due to templated variables (like names) and metadata (like timestamps), so exact-match cache lookups rarely hit. We solve this at Butter by using LLMs to detect dynamic content in requests and derive their inter-relationships, allowing the cache entry to be stored as a template + variables + deterministic code. This allows future requests to contain different variable data, yet still serve from cache.<p>We&#x27;ve found this approach greatly improves cache hit rate, and believe it could be useful for agents performing repetitive back-office tasks, computer use, or data transformations where input data is frequently of the same shape.<p>- You can see a demo of learning patterns here: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=ORDfPnk9rCA" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=ORDfPnk9rCA</a><p>- We wrote more about the technical approach here: <a href="https:&#x2F;&#x2F;blog.butter.dev&#x2F;on-automatic-template-induction-for-response-caching">https:&#x2F;&#x2F;blog.butter.dev&#x2F;on-automatic-template-induction-for-...</a><p>- It&#x27;s free to try out here: <a href="https:&#x2F;&#x2F;butter.dev&#x2F;auth">https:&#x2F;&#x2F;butter.dev&#x2F;auth</a>
6作者: freemanjiang大约 1 个月前原帖
Each moving arrow represents a real bike ride. There are 291 million rides in total, covering 12 years of history from June 2013 to December 2025, based on public data published by Lyft.<p>If you&#x27;ve ever taken a Citi Bike ride before, you are included in this massive visualization! You can search for your ride using Cmd + K and your Citi Bike receipt, which should give you the time of your ride and start&#x2F;end station.<p>Some technical details:<p>- No backend! Processed data is stored in parquet files on a CDN, and queried directly by DuckDB WASM<p>- deck.gl w&#x2F; Mapbox for GPU-accelerated rendering of thousands of concurrent animated bikes<p>- Web Workers decode polyline routes and do as much precomputation as possible off the main thread<p>- Since only (start, end) station pairs are provided, routes are generated by querying OSRM for the shortest path between all 2,400+ station pairs<p>Legend:<p>- Blue = E-Bike<p>- Purple = Classic Bike<p>- Red = Bike docked<p>- Green = Bike unlocked
2作者: elmascato大约 1 个月前原帖
Hi HN,<p>I am a CTO&#x2F;Founder usually stuck in &quot;development hell&quot; on long-term projects. To fix my perfectionism, I started a challenge on Jan 1st: Ship 12 startups in 12 months.<p>This is Project #01: TierWise.<p>The Problem: Most SaaS founders price for the US&#x2F;EU market. Charging a flat $49&#x2F;mo excludes huge segments of users in LATAM, India, or Southeast Asia where purchasing power is lower. Building a custom GeoIP&#x2F;PPP logic for every side project is a distraction.<p>The Solution: I built a drop-in JS widget that detects the visitor&#x27;s country and calculates a discount based on their local Purchasing Power Parity (PPP).<p>The Stack (The &quot;Speed Run&quot; setup):<p>Backend: Laravel 11 (API).<p>Frontend: Nuxt 3 (SSR).<p>Logic: Custom Middleware + Redis (for request throttling) + MaxMind GeoIP.<p>Design: Soft Brutalism (trying to avoid the generic &quot;AI dark mode&quot; look).<p>Business Model: It’s an open SaaS.<p>Free: 500 adjustments&#x2F;month (no credit card).<p>Paid ($9&#x2F;mo): Unlimited + White-label.<p>I’d love your feedback on the implementation and the &quot;Soft Brutalism&quot; UI approach.<p>Link: <a href="https:&#x2F;&#x2F;tierwise.dev&#x2F;" rel="nofollow">https:&#x2F;&#x2F;tierwise.dev&#x2F;</a>