AI 资讯
Running a 120-site uptime monitor for $0/month on Cloudflare's free tier
I built a tool that answers one question: when a website won't load, is it your connection or the site? It runs two checks in parallel — measures your own line in the browser (latency + a 1 MiB download), and probes the target from Cloudflare's edge — then returns one of four verdicts: it's not you, it's you, it's both, or all clear. Demo: https://itsnotyou.site The interesting part isn't the tool, it's that the whole thing — app, ~120 monitored sites with 24h history, SSR status pages, share cards, outage alerts — runs for $0/month plus domains. The one thing that wanted to cost money Everything fit the Workers free plan except a background monitor probing ~120 sites on a tight cadence. As a Worker cron that's ~120 subrequests/run and, done naively, thousands of KV writes/day — which pushes you onto Workers Paid. The real ceiling is KV: 1,000 writes/day. So I split it. The user-facing test stays on Cloudflare — the edge probe still measures from the colo nearest the user, which is the point of edge. But the background sweep moved to a cheap VPS I already had: it probes the roster on a systemd timer and pushes results back into KV over the REST API. Staying under 1,000 KV writes/day One KV key, not key-per-site. All ~120 statuses live in a single blob. Key-per-site at sweep cadence would be millions of writes/month; a single blob is one write per sweep. Widen the cadence. I started at 2 min = 720 writes/day. Cloudflare emailed that I'd hit 50% of the daily limit (the sweep wasn't the only writer). I went to 3 min = 480/day, leaving headroom for share cards and the notify list. Move the hot counter off KV. The anonymous "tests today" counter was the sneaky risk — a traffic spike could exhaust the write budget and stall the status sweep, the one thing you can't let happen. It went to Analytics Engine instead (free, uncapped, separate budget). Now no amount of user traffic can starve the monitor. Reader and writer share code so their rules never drift: the streak/histo
AI 资讯
Building an AI Sales Intelligence Platform in Just 12 Hours at Hack Aarambh 2026
# Building an AI Sales Intelligence Platform in Just 12 Hours at Hack Aarambh 2026 Turning sales conversations into actionable business insights using AI. Yesterday, my team and I participated in Hack Aarambh 2026 at Swarnim Startup & Innovation University (SSIU) . Like every hackathon, the challenge wasn't just writing code—it was identifying a real-world problem, designing a practical solution, and delivering a working prototype within 12 hours . Instead of building another chatbot or productivity tool, we wanted to solve a problem faced by almost every sales-driven organization. The Problem Every day, sales teams spend hours talking to potential customers. These conversations contain valuable information such as: Customer pain points Buying intent Competitor mentions Product feedback Common objections Feature requests Unfortunately, most of this information remains buried inside meeting recordings or handwritten notes. Managers rarely have time to review every conversation, which means valuable business insights are often lost. That became our motivation. Introducing AI Sales Intelligence Platform Our project is an AI-powered platform that automatically analyzes sales conversations and transforms them into actionable insights for both sales representatives and business leaders. Instead of manually reviewing calls, users receive: AI-generated summaries Customer intelligence Actionable recommendations Performance analytics Business insights ...all within seconds. What We Built AI Call Transcription & Summarization The platform automatically converts conversations into readable transcripts and concise summaries. Customer Intelligence The platform identifies: Customer sentiment Buying intent Objections Competitor mentions Important discussion topics This helps sales teams focus on what actually matters. AI Generated Follow-ups Writing follow-up emails after every meeting is repetitive. Our platform automatically generates personalized follow-up emails based on each c
AI 资讯
Why Developers Should Think Beyond Documentation
When learning a new technology, most of us follow a familiar path. We start with the official documentation. Then we search GitHub repositories. We read blog posts. We watch YouTube tutorials. Eventually, we ask an AI assistant when we get stuck. Each resource solves a different problem, and the best developers know when to use each one. Documentation Is the Foundation Official documentation should almost always be your first stop. It tells you how a framework or library is intended to work. The information is usually accurate, maintained, and version-specific. If you're learning React, Next.js, or Node.js, the official docs provide the most reliable starting point. But documentation has limits. It explains what something does, not always why developers use it in real projects. Community Content Fills the Gaps That's where blog posts, conference talks, and open-source repositories become valuable. Experienced developers share: Real-world architecture decisions Common mistakes Performance considerations Debugging strategies Project structure Deployment workflows These practical insights often don't belong in official documentation, but they're essential for becoming a better engineer. AI Has Changed the Workflow AI assistants have become another tool in the developer toolbox. Instead of searching through multiple pages, developers can ask targeted questions like: Why is this hook re-rendering? What's the difference between these two approaches? How can I improve this query? Can you explain this error message? AI doesn't replace documentation. It helps you understand it faster. The most effective workflow is using documentation as the source of truth while letting AI explain concepts, compare approaches, or clarify confusing examples. Build Your Own Reference Library One habit that's improved my productivity is creating a personal knowledge base. Whenever I solve a difficult problem, I write down: The issue Why it happened The solution What I learned Links to relevant
AI 资讯
Building the DSA Tracker I Wish I Had as a Student
Building the DSA Tracker I Wish I Had as a Student 🚀 #weekendchallenge This is a submission for Weekend Challenge: Passion Edition What I Built I built DSA Tracker , a platform designed to help students stay consistent with Data Structures and Algorithms practice while learning concepts in an organized way. Like many students preparing for placements and improving problem-solving skills, I often found myself asking: Which problems have I solved? Which topics am I weak at? How do I track consistency over months instead of days? Why do most trackers feel like spreadsheets rather than learning platforms? DSA Tracker was my attempt to solve these problems. The project started as a simple CRUD-based tracker but gradually evolved into a learning platform that combines: Problem tracking Progress monitoring Topic-based organization Interactive learning modules A foundation for future analytics and personalized recommendations The goal is simple: Help students focus less on managing their preparation and more on improving their problem-solving skills. As someone who is currently on the same journey, this project is deeply personal to me and perfectly matches the theme of Passion Edition . Demo Live Application https://dsatracker-51wk.vercel.app/ GitHub Repository https://github.com/ImGakash/dsatracker Code The entire source code is available on GitHub: https://github.com/ImGakash/dsatracker How I Built It Frontend React.js HTML CSS JavaScript Backend Node.js Express.js Database MongoDB Additional Technologies Google OAuth authentication Razorpay integration REST APIs The project evolved through multiple iterations. The earliest version was a simple tracker that allowed users to: Add problems Mark problems as solved Delete entries Track progress percentages Over time, it expanded into a more ambitious platform with authentication, user management, learning modules, and deployment infrastructure. Some interesting engineering challenges included: Designing scalable data models
开发者
What made you think, "Why hasn't anyone built a good solution for this yet?" Текст
**_Hi everyone! We're three 16-year-old friends learning to code. Instead of building "just another app," we want to solve a real problem that developers actually face. So we have one question: Think about a moment when you caught yourself saying, "Why hasn't anyone built a good solution for this yet?" What was the problem? It can be anything: something that wastes your time, something frustrating, a repetitive task, a confusing workflow, or anything that made you wish a better tool existed. We're not trying to sell anything. We're simply listening and looking for real problems worth solving. Every answer means a lot to us. Thank you!_**
AI 资讯
My First Experience with SigNoz
Modern applications, especially AI agents and distributed systems, need more than logs to understand what is happening. That's why I explored SigNoz, an open-source observability platform built on OpenTelemetry. Setting up SigNoz with Docker was simple. After connecting a sample application, I could view logs, metrics, and traces from a single dashboard within minutes. My favorite feature is distributed tracing. Instead of guessing where requests slow down or fail, SigNoz clearly shows the complete request journey across services, making debugging much easier. The built-in dashboards provide valuable insights into CPU usage, memory, request latency, throughput, and error rates. Having centralized logs alongside metrics and traces saves time by eliminating the need to switch between multiple tools. I also liked the alerting feature, which helps detect issues before they affect users. For AI applications, observability is essential. AI agents make multiple API calls, use tools, and perform complex workflows. SigNoz makes it easier to understand each step, identify failures, measure latency, and optimize performance. Overall, my experience with SigNoz was excellent. It combines logs, metrics, traces, dashboards, and alerts into one intuitive platform. Among all its features, distributed tracing impressed me the most because it provides deep visibility into application behavior and simplifies troubleshooting. I'm excited to use SigNoz in future AI and cloud-native projects.
AI 资讯
Zenith: the real sky above you, right now
This is a submission for Weekend Challenge: Passion Edition What I Built The theme was passion, and mine has always been the sky and everything beyond it. Day or night, there's a specific kind of awe in remembering that the sky isn't a backdrop. It's real, it's happening right now, and every point of light is an actual place. Night is simply when you can see the most of it. I wanted to put that feeling into a browser tab. Zenith takes your location, cinematically lowers you from orbit down onto your exact spot on Earth, and becomes a first-person view of your real sky, one you can drag to look around. Every star is where it actually is. The Sun, the Moon, and the visible planets are computed for your latitude, longitude, and this exact minute, and placed where they truly are. It isn't a fixed picture either: the whole sky rotates slowly in real time, so stars rise and set while you watch. Tap any object and you travel to it. The camera flies out through the real starfield, the object grows from a point into a detailed close-up, and a short, grounded briefing appears telling you what you're actually looking at, from where you're standing, right now. A warm voice reads it to you. Stay a while and Zenith reminds you that there are people over your head: it shows how many humans are in space this moment, by name, and draws the real International Space Station crossing your sky whenever it's above your horizon. Not information about space. The quiet, enormous wonder of looking up and knowing, for a moment, exactly what you're looking at. Demo Live: https://zenith-rgerjeki.vercel.app A short walkthrough: the descent to your location, dragging the real sky, and flying to a planet for an AI briefing read aloud in a warm voice. Code rgerjeki / Zenith Zenith The sky above you, right now. I've always been drawn to the sky, and everything beyond it. Zenith is a first-person view of yours : it takes your location, lowers you onto your exact spot on Earth, and gives you the real
AI 资讯
I Got Tired of Hunting for Free Online Tools. So I Built 1000+ of Them — All Client-Side, Zero Backend.
I Got Tired of Hunting for Free Online Tools. So I Built 1000+ of Them — All Client-Side, Zero Backend. Every time I needed a simple tool — format JSON, resize an image, generate a QR code — I'd open Google, search for a "free online tool," and land on some sketchy site with 47 pop-up ads, a 10MB file size limit, and a $9.99/month "premium" upgrade staring me in the face. Sound familiar? I knew there had to be a better way. So I built one. And then another. And... well, 1000+ tools later (1052 to be exact, across 2130+ bilingual pages), here we are. What started as a weekend project turned into an obsession: a completely free, ad-light, privacy-first toolbox that does everything in your browser. No uploads. No servers. No accounts. No BS. 🚀 The Self-Imposed Constraints The most interesting part? I gave myself some pretty extreme constraints: Constraint Why 100% static HTML/JS No server, no database, no build step $0 hosting GitHub Pages — literally free forever Works offline Everything runs client-side, so once loaded, it just works Bilingual Every tool has an English + Chinese version No frameworks Vanilla HTML, CSS, and JavaScript — no React, no Vue, no build tools SEO-first Every page has Schema.org structured data, OG tags, and sitemap integration Why these constraints? Because I wanted to prove that you can build something genuinely useful without any recurring costs, complex infrastructure, or venture capital. Just pure engineering. 🔧 The Architecture (If You Can Call It That) The whole thing is beautifully simple: webtools-cn.github.io/tools-site/ ├── index.html ← Homepage with category filtering ├── en/index.html ← English homepage ├── sitemap.xml ← Auto-generated, ~2130 URLs ├── llms.txt ← AI search optimization ├── [tool-name]/ ← Each tool is a standalone folder │ └── index.html ← Self-contained HTML + JS + CSS └── en/[tool-name]/ ← English version of each tool └── index.html Each tool is a completely standalone HTML file . No build process, no framework,
AI 资讯
DEV Passion Fuel Station: Keeping the Open Source Fire Burning
This is a submission for Weekend Challenge: Passion Edition ❤️ Dedication This project is dedicated to every passionate developer out there grinding on late-night code, and to the incredible DEV Community team for creating a space that fuels our growth every single day. 🚀 What I Built I built DEV Passion Fuel Station —a minimalist, single-page HTML5 web app engineered to protect the fire driving our late-night side projects and hackathon builds. Developers can vent, drop logs, or copy-paste messy code frustrations directly into the interface. The system leverages the Gemini 1.5 Flash API to dynamically gauge developer sentiment, analyze burnout metrics, and return actionable, bite-sized tasks to keep project momentum going without overwhelming the builder. 🔗 Demo You can try the live web app directly in your browser here: 👉 https://projects-of-passion.netlify.app 💡 Journey & Inspiration As a beginner coder, diving into an AI hackathon was intimidating but incredibly exciting! Passion is the primary catalyst behind the DEV Community—we see it every day in the deep dives and side projects shared here. However, relentless passion often dances right on the edge of burnout. I wanted to build something exclusively tailored to our community: a safe space to dump developer blockages and get practical, AI-supported next steps to keep our engines running smoothly. 🛠️ Technical Execution The application targets the Best use of Google AI prize category. Frontend: A single-file HTML5 interface styled with an energetic, modern dark-mode DEV aesthetic. Backend Intelligence: Powered by the Gemini 1.5 Flash API using native JavaScript fetch . Hassle-Free Architecture: Since I wanted to keep it light, the entire app runs out of a single file hosted on Netlify . Anyone can paste their own Google AI Studio key directly into the UI to test it safely, keeping personal keys private while allowing judges to grade the app seamlessly.
AI 资讯
Two weekends into a Chrome side panel: the four state bugs that took longer than the UI
I shipped the first public build of a Chrome extension two weekends ago. The marketing-ready UI took me about six hours. The four state bugs below took me the rest of those two weekends, plus parts of the following week. I am writing this down because every reviewer of "I built an X in Y hours" posts seems to skip the state-model half, and the state-model half is where the actual time goes. The extension A sidebar that lives in Chrome's side panel API. You highlight text or screenshot a region on any page, the sidebar lets you pick a destination AI tab (ChatGPT / Claude / Gemini / a custom one) and forwards the content with a small wrapper prompt. That is the whole product description. The interesting part is what happens when a user does it twice. Bug 1: the destination you "logged into" is not the destination the message lands in First failure I caught: user has two ChatGPT tabs open, one workspace, one personal. The extension forwards to whichever tab was last focused. The user sees the message arrive in the workspace, replies there, then realizes the context they wanted to capture is on the personal tab. Fix: every AI destination registers a stable tab id at extension boot, not at click time. The forwarding logic walks the registry, not the focused window. Took a morning to redesign, an afternoon to migrate existing flows. Lesson: tab identity is not the same as window focus. Chrome's chrome.tabs.query({active: true}) returns the active tab. The active tab is not necessarily the destination the user has in their head. Bug 2: the screenshot is from before the user edited it User takes a screenshot of a code block, opens the sidebar, hits "annotate", drags a red box around lines 12-15, hits send. The annotation worked. But the underlying screenshot bytes were captured at the moment the toolbar first appeared, before the user could draw the box. Fix: the sidebar cannot trust that the screenshot in memory is the screenshot the user is looking at. Either re-capture o
AI 资讯
My Abandoned Cricket Kit Confronted Me. So I Built It a Voice
This is a submission for the DEV Weekend Challenge: Passion Edition . What I Built Everyone will tell you about the passions they have. Nobody talks about the ones they quit. I played cricket every evening from age 11 to 17. I told everyone I'd play Ranji Trophy one day. Then the entrance exam years came, the bat went behind the cupboard, and I never went back. Eight years now. EMBER gives that abandoned passion a voice. You confess what you quit. AI forges its persona: the dusty object, the game itself, or the younger you. Then it talks back , out loud, in a voice matched to its temperament. It asks the question only it can ask: why did you really stop? Then it offers two doors: 🔥 Rekindle it. It negotiates the smallest possible first step ("Pick up your old bat and feel its weight. Sunday evening.") and you seal the pledge on-chain , where you can't quietly delete it. 🕯️ Lay it to rest. It says goodbye properly: a personal eulogy, spoken aloud, and a permanent on-chain stone. Closure is a feature, not a failure state. Every anonymized session joins the Atlas of Abandoned Passions , a live map of what humanity gives up, at what age, and what killed it. When I ran my own confession through it, the app decided my passion should speak as " Your old cricket kit bag ." Its first words: "It's been a while since you hoisted me up here, hasn't it? I still remember the thrill of a good cover drive, too." I built a thing and it emotionally wrecked me on the first test run. Working as intended. Demo 🔗 Live app: https://ember-himanshus-projects-acd54afd.vercel.app Try it in two clicks: tap an example confession (cricket at 17, the closet guitar, the novel at chapter three), headphones on. The voice is the point. A real pledge, sealed on Solana devnet: view the transaction . Code 🔗 Repo: https://github.com/himanshu748/ember How I Built It The loop is confess, converse, decide, commit, belong. Each stage is one sponsor technology doing what it is uniquely good at. Google AI (Gem
AI 资讯
How I Turned Slack Into an AI Teammate That Opens Pull Requests
This is a submission for Weekend Challenge: Passion Edition While talking about AI workflow...
AI 资讯
I couldn't find how much heat my PC puts in the room, so I built a widget
I game in a room that warms up fast. I could see CPU usage in Task Manager and watts in HWiNFO if I went looking. What I actually wanted was simpler: How much heat is this machine putting into the air right now? Not in a spreadsheet. In plain language I could glance at while the PC was running. The gap Lots of tools show watts and temperatures . Almost none answer room heat : BTU per hour Heat accumulated over a session Plain context like "about a quarter of a space heater" With ambient temp: still-air rise or rough exhaust CFM The conversion is straightforward ( BTU/hr ≈ watts × 3.412 ), but I didn't want to do it in my head every time. So I built HeatLens — a small desktop widget built around room heat, not raw sensor dumps. What HeatLens shows Total wattage — what the PC is drawing now Heat dissipation — BTU/hr or kW Session heat — BTU or kWh since launch Max temperature — hottest live sensor Trend graphs — watts, heat, and temp over time CFM estimate — with ambient temp: rough exhaust airflow for a +10 °F rise Still-air rise — how fast a reference room would warm with no ventilation Estimated power is labeled separately from measured sensors. Where the data comes from LibreHardwareMonitor / Open Hardware Monitor (HTTP + WMI on Windows) nvidia-smi for NVIDIA GPUs Linux RAPL / hwmon when exposed by the kernel Labeled fallbacks when direct power sensors aren't available On Windows, best results: LibreHardwareMonitor with Remote Web Server on port 8085 . What it is not HeatLens is not a replacement for a Kill-A-Watt at the wall. Software usually can't see monitor power, full PSU loss, or every platform rail. A plug-in meter is still the most accurate whole-system reading. HeatLens is for context : "~400 W gaming → ~1,400 BTU/hr into the room" Session heat over an hour or two Rough CFM / still-air numbers as sanity checks — not duct design Things I learned building it Sensor coverage is messy. Different backends, missing rails, and estimates that need clear labeling.
AI 资讯
Bringing Back the Older Internet: A Website for Juma
This is a submission for Weekend Challenge: Passion Edition What I Built I built a personal tribute website for my cat Juma. The goal of this project was to create a simple webpage to bring back the feeling of the old internet. I have always loved the creativity of old-school websites and things like Neocities pages, Tumblr blogs, pixel art, animated backgrounds... Websites made with personality instead of just functionality. So, I wanted to recreate that feeling by making a small corner of the internet dedicated to someone very special to me: my cat Juma Maruá Ganache. Demo Code You can check out my GitHub repository: thaisavieira / juma How I Built It I built this project using simple and classic web technologies: HTML for the structure of the page; CSS for animations, gradients, responsive design, and the retro visual style; JavaScript for interactive elements such as falling stars and dynamic effects. Prize Categories Not submitting to any prize categories.
AI 资讯
How I Kept a Live Chat Feed Smooth at 3,700+ Messages
I built LiveShop , a mini live-shopping stream UI, to answer a question I kept running into as a frontend-curious grad: tutorials teach you how to render a list, but they never teach you what happens when that list gets hit with the kind of traffic a real live stream produces. So I built something that would force the problem to show up, then fixed it, then measured whether the fix actually worked. The setup LiveShop simulates a live-shopping broadcast - the kind of interface a small merchant might use to sell products while streaming. A mock event engine fires chat messages, reactions, and purchase notifications on an interval, standing in for what a real WebSocket connection to a streaming backend would deliver. On top of that sits a chat feed, a scrollable product carousel, and a floating reaction animation layer. None of that is unusual. The interesting part started once I asked: what happens when message volume spikes? Where it breaks A naive chat feed is just messages.map(m => <ChatRow key={m.id} {...m} />) . It's the first thing anyone reaches for, and it's fine — right up until it isn't. At 50 messages, nothing looks wrong. At a few hundred, every new message triggers a full re-render pass across every row in the DOM, including the hundreds that have already scrolled out of view and that nobody can see. The browser is doing layout and paint work for pixels that aren't on screen. In a real live stream, this is exactly the wrong failure mode, because message volume doesn't arrive evenly. It spikes — right after a product drop, right when something funny happens on stream, right when a popular creator says something quotable. That's precisely the moment a chat feed can't afford to stutter, and precisely the moment a naive implementation is most likely to. What I measured Rather than guess whether this mattered, I built a way to test it directly. LiveShop has a "Simulate spike" button that fires 500 messages instantly, plus a live FPS readout using requestAnimat
AI 资讯
n8n review: I automated 12 saas.pet workflows with it in 6 months
n8n is the open-source workflow automation tool that competes with Zapier and Make. I have been running it for saas.pet's content pipeline for 6 months. Here is my honest take on self-hosting n8n versus paying Zapier, and whether it is worth the hassle. What n8n does that Zapier cannot n8n is an open-source workflow automation platform with 400+ built-in integrations. You connect nodes on a visual canvas: when X happens in one app, do Y in another. The killer difference from Zapier: you control where it runs. Self-host on a $5/month VPS or run on n8n Cloud at $20/month. No per-task pricing, no 'you hit your zap limit' emails. For high-volume workflows, the cost difference is dramatic. I run n8n on the same $6/month HK server that hosts my proxy. 12 workflows handle saas.pet's entire content pipeline: daily data fetch from GitHub Trending API, transform JSON, write to data files, trigger build, push to git, notify me on Telegram. The same workflows on Zapier would cost $73.50/month (Professional plan with 2,000 tasks). On n8n, $6/month for the server plus $0 for the software. The self-hosting overhead is real—updates, SSL certs, monitoring—but for 12+ active workflows, the savings are $800+/year. If you only have 2-3 simple zaps, stay on Zapier's free tier. If you have 5+ workflows with volume, n8n pays for the hosting in month 1. My 6-month setup for saas.pet I run n8n in Docker on the HK server. The initial setup: install Docker, pull n8n image, configure nginx reverse proxy, set up SSL via Certbot. That took about 2 hours the first time. Now I can deploy n8n in 15 minutes on a fresh server. The 12 workflows: (1) Daily GitHub trending fetch via saas.pet/api/trending, (2) data transform to unified JSON, (3) write to data/YYYY-MM-DD.json, (4) trigger build-ci.mjs, (5) git add + commit + push, (6) Telegram notification with commit SHA, (7) weekly sitemap health check, (8) monthly backup of reviews/ JSONs to S3, (9) uptime ping every 15 minutes, (10) DNS health check,
AI 资讯
How to add a changelog to any web app with one script tag
You ship all the time. A fix here, a new setting there, a feature you spent a whole weekend on. And your users mostly don't notice. That gap is expensive. When people can't see a product moving, it feels abandoned, even when you're shipping every week. They churn a little faster, they email asking for things you built a month ago, and all the momentum you're actually creating stays invisible. The fix is boring and old: a changelog. But not a changelog rotting in a Notion doc nobody opens. One that shows up inside your app , where users already are. Here's the approach I settled on. The idea: a widget, not just a page A "what's new" widget is a small button or badge in your UI. Click it, and a panel slides out with your latest updates. Users see it in the flow of using your product, not on some /changelog page they'd never visit. You really want three things: An in-app widget users actually see. A public page and RSS feed you can link from emails and docs. A way to write updates in plain language and publish in a click. The one-tag version I ended up building a tool for this (honest disclosure below), but the integration is the part worth showing, because it's the pattern any changelog widget should follow: <!-- Paste before </body> --> <script src= "https://cdn.patchlog.io/widget.js" data-project= "your-project-id" data-position= "bottom-right" async ></script> One script tag. No SDK, no npm install, no framework coupling. It behaves the same in React, Vue, Rails, or a plain HTML page. Two implementation details matter, whether you build one of these yourself or evaluate an existing one: Render it in a Shadow DOM. A changelog widget should not inherit or leak styles. If it uses the host page's global CSS, it will look broken on half the sites it lands on. Shadow DOM isolates it completely. Fail silently. A marketing widget must never break the host app. If the network call fails, it should quietly do nothing. What to actually write in it The tool is the easy part. T
AI 资讯
I made an AI yell my workouts at me (Sonic Kinetic)
What I built I wanted a workout timer that doesn't just beep at me. So this weekend I built one that writes the workout AND talks me through it, out loud, in a voice that actually sounds like it's yelling at you when things get hard. You give it a callsign, how long you've got, what you want to work, and how brutal you want it. It hands that to Gemini, which breaks the whole thing into 30-90 second intervals with a coaching line for each one. Then every one of those lines gets turned into real audio by ElevenLabs before it ever hits your browser. Nothing is pre-recorded, nothing is a fixed track. Ask for a different workout, get a completely different script and a completely different set of audio clips, generated on the spot. Demo Unedited screen recording, straight off my machine hitting the real APIs, sound included. Compose a routine, it comes back in a couple seconds, pacing curve draws itself as an SVG line, then hitting Start walks through each interval with the active one highlighted in red as it counts down and you actually hear it. The Maximum-intensity segments sound noticeably more unhinged because I turn the ElevenLabs stability knob way down for those specifically. Code https://github.com/marwankous/sonic-kinetic How I built it Go backend, one endpoint. It takes your workout params, sends a prompt to gemini-3.1-flash-lite with a JSON schema locked down tight enough that I don't have to think about parsing garbage back out of it, and gets back a full timeline plus a heart-rate pacing curve. The part I actually enjoyed was the audio pipeline. Every coaching line in the timeline gets fired off to ElevenLabs at the same time, one goroutine each behind a sync.WaitGroup , so a routine with a dozen segments doesn't take a dozen times longer than one with a single segment. Whatever comes back gets base64'd straight onto its segment. I also tie the eleven_flash_v2_5 stability setting to the segment's energy level, dropping it to 0.30 for anything marked Maximum
AI 资讯
Building a Fully Automated Facebook Post Scheduler using Node.js and GitHub Actions
How I Built a Zero-Cost Facebook Auto-Poster Using Node.js and GitHub Actions Automating social media management can save hours of manual work. In this guide, I will show you how to build a fully automated, production-ready system that posts daily motivational quotes with images to a Facebook Page— completely for free , running on autopilot via GitHub Actions. We will also tackle a major pain point: resolving Meta's strict token expiration and permission structures by dynamically fetching a Page Access Token using a Meta Business System User, the officially recommended way for secure automation. 🛠️ Prerequisites Before diving into the code, make sure you have: A Facebook Page A Meta Developer Account A Meta Business Suite (Business Portfolio) A GitHub Account Basic knowledge of Node.js 🎯 Step 1: Configuring Meta Architecture for Secure Automation Meta has deprecated direct publish_actions for user tokens, making automated image uploads tricky. The professional way to solve this is by using a System User bound to a Business Portfolio . 1. Create a Meta App Go to the Meta for Developers dashboard. Create a new app, choose Business and pages as the category, and give it a clean name. 2. Link your Facebook Page Inside your App Dashboard, navigate to App Settings -> Advanced . Scroll down to the App Page section and select your target Facebook Page to link it. 3. Setup a System User Go to your Meta Business Settings ( business.facebook.com/settings ). Under Users , click on System Users and create an Admin System User (e.g., Ttp-penguin ). Click Assign Assets , select your Facebook Page, and turn on the Full Control (Everything) toggle. 4. Generate the Permanent Token Click Generate Token for that System User and select your app. Explicitly check these 3 essential scopes : pages_manage_posts pages_read_engagement pages_show_list Copy the generated token ( EAak2B... ). Save this safely —this token acts as our master key! 💻 Step 2: Writing the Automation Script We will wri
AI 资讯
Hello Dev's
I’m VikingRob—Full-Stack Dev, SaaS Builder, and Solo Survivor. Hello I Just wanted to introduce myself. I’m Robert, but most people know me as VikingRob (thanks to a long red beard and a habit of grinding through hard Jobs with a foul mouth. Down to earth guy I'm a No B.S Person. I’ve been surviving in the trenches of solo entrepreneurship and freelancing for a while now. Lately, the market feels incredibly flooded, and landing solid, consistent work has become a massive mountain to climb. I’ve managed to keep things moving with some passive income from selling front-end and back-end sites I've built, but as anyone with a family knows, "passive" rarely means "enough" when consistency drops. I’m supporting a family of five—including a wife dealing with severe mental health challenges—so the pressure to secure steady, reliable income is incredibly real right now. To adapt, I am shifting my core focus toward offering full-scale services: Custom Website Architecture (End-to-end development) Front-End & Advanced Back-End Integration SaaS Product Development A lot of my heaviest back-end work is locked away under strict NDAs, which makes traditional portfolio-sharing tough, and I don't maintain standard social media accounts. But I know how to build clean, functional, scalable software that drives results. If you're looking to collaborate, need an engineering heavy-lifter for a SaaS project, or just want to swap freelance survival stories, let’s connect! What is everyone else doing to beat the market noise right now?