[{"type_of":"article","id":3500889,"title":"Tune In and Join the Google Cloud NEXT '26 Writing Challenge: $1,000 in Prizes!","description":"Google Cloud NEXT '26 is kicking off today (April 22) and runs through April 24 – we're launching...","readable_publish_date":"Apr 22","slug":"tune-in-and-join-the-google-cloud-next-26-writing-challenge-1000-in-prizes-21bd","path":"/devteam/tune-in-and-join-the-google-cloud-next-26-writing-challenge-1000-in-prizes-21bd","url":"https://dev.to/devteam/tune-in-and-join-the-google-cloud-next-26-writing-challenge-1000-in-prizes-21bd","comments_count":1,"public_reactions_count":30,"collection_id":null,"published_timestamp":"2026-04-22T14:09:18Z","language":"en","subforem_id":1,"positive_reactions_count":30,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjg0mgsyv33p1phq7e54y.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjg0mgsyv33p1phq7e54y.png","canonical_url":"https://dev.to/devteam/tune-in-and-join-the-google-cloud-next-26-writing-challenge-1000-in-prizes-21bd","created_at":"2026-04-14T16:23:25Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-22T14:09:18Z","last_comment_at":"2026-04-22T14:51:33Z","reading_time_minutes":3,"tag_list":["devchallenge","googlecloud","cloudnextchallenge"],"tags":"devchallenge, googlecloud, cloudnextchallenge","user":{"name":"Jess Lee","username":"jess","twitter_username":"jessleenyc","github_username":"jessleenyc","user_id":264,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F264%2Fb75f6edf-df7b-406e-a56b-43facafb352c.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F264%2Fb75f6edf-df7b-406e-a56b-43facafb352c.jpg"},"organization":{"name":"The DEV Team","username":"devteam","slug":"devteam","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1%2Fd908a186-5651-4a5a-9f76-15200bc6801f.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1%2Fd908a186-5651-4a5a-9f76-15200bc6801f.jpg"}},{"type_of":"article","id":3528012,"title":"Top 7 Featured DEV Posts of the Week","description":"Welcome to this week's Top 7, where the DEV editorial team handpicks their favorite posts from the...","readable_publish_date":"Apr 20","slug":"top-7-featured-dev-posts-of-the-week-555a","path":"/devteam/top-7-featured-dev-posts-of-the-week-555a","url":"https://dev.to/devteam/top-7-featured-dev-posts-of-the-week-555a","comments_count":6,"public_reactions_count":41,"collection_id":null,"published_timestamp":"2026-04-20T17:02:34Z","language":"en","subforem_id":1,"positive_reactions_count":41,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2679bjqfh2v9ypiktio0.jpg","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2679bjqfh2v9ypiktio0.jpg","canonical_url":"https://dev.to/devteam/top-7-featured-dev-posts-of-the-week-555a","created_at":"2026-04-20T16:47:03Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-20T17:02:34Z","last_comment_at":"2026-04-22T03:03:54Z","reading_time_minutes":3,"tag_list":["top7","discuss"],"tags":"top7, discuss","user":{"name":"Jess Lee","username":"jess","twitter_username":"jessleenyc","github_username":"jessleenyc","user_id":264,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F264%2Fb75f6edf-df7b-406e-a56b-43facafb352c.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F264%2Fb75f6edf-df7b-406e-a56b-43facafb352c.jpg"},"organization":{"name":"The DEV Team","username":"devteam","slug":"devteam","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1%2Fd908a186-5651-4a5a-9f76-15200bc6801f.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1%2Fd908a186-5651-4a5a-9f76-15200bc6801f.jpg"},"flare_tag":{"name":"discuss","bg_color_hex":"#71EA8B","text_color_hex":"#FFFFFF"}},{"type_of":"article","id":3528949,"title":"Build your own blog post view counter on AWS Free Tier","description":"Your blog deserves to know it's being read. A Lambda function counts the views, DynamoDB remembers...","readable_publish_date":"Apr 21","slug":"build-your-own-blog-post-view-counter-on-aws-free-tier-306f","path":"/aws/build-your-own-blog-post-view-counter-on-aws-free-tier-306f","url":"https://dev.to/aws/build-your-own-blog-post-view-counter-on-aws-free-tier-306f","comments_count":4,"public_reactions_count":24,"collection_id":null,"published_timestamp":"2026-04-21T19:35:19Z","language":"en","subforem_id":1,"positive_reactions_count":24,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs4j8mc003nneo7qk7m2o.jpg","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs4j8mc003nneo7qk7m2o.jpg","canonical_url":"https://builder.aws.com/content/3Cbk654mcGCtAREF1jRP7cAE885/build-your-own-blog-post-view-counter-on-aws-free-tier","created_at":"2026-04-20T23:31:56Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-21T19:35:19Z","last_comment_at":"2026-04-22T14:23:51Z","reading_time_minutes":11,"tag_list":["beginners","lambda","dynamodb","tutorial"],"tags":"beginners, lambda, dynamodb, tutorial","user":{"name":"Esin Saribudak","username":"esin87","twitter_username":"esincodes","github_username":"esin87","user_id":221136,"website_url":"https://esinsaribudak.com","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F221136%2F41808abf-8496-4edc-8d6b-75c99e6d8e22.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F221136%2F41808abf-8496-4edc-8d6b-75c99e6d8e22.jpeg"},"organization":{"name":"AWS","username":"aws","slug":"aws","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1726%2F2a73f1e6-7995-4348-ae37-44b064274c59.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1726%2F2a73f1e6-7995-4348-ae37-44b064274c59.png"}},{"type_of":"article","id":3495185,"title":"Migrating vector embeddings in production without downtime","description":"In the fast-moving world of AI, models evolve rapidly. What was state-of-the-art six months ago is...","readable_publish_date":"Apr 21","slug":"migrating-vector-embeddings-in-production-without-downtime-5bli","path":"/googleai/migrating-vector-embeddings-in-production-without-downtime-5bli","url":"https://dev.to/googleai/migrating-vector-embeddings-in-production-without-downtime-5bli","comments_count":0,"public_reactions_count":12,"collection_id":null,"published_timestamp":"2026-04-21T15:41:50Z","language":"en","subforem_id":1,"positive_reactions_count":12,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ts1gkodt41r7uo4l6fz.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ts1gkodt41r7uo4l6fz.png","canonical_url":"https://medium.com/google-cloud/migrating-vector-embeddings-in-production-without-downtime-8a0464af6f55","created_at":"2026-04-13T14:38:23Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-21T15:41:50Z","last_comment_at":"2026-04-21T15:41:50Z","reading_time_minutes":6,"tag_list":["rag","ai","vectordatabase","programming"],"tags":"rag, ai, vectordatabase, programming","user":{"name":"Remigiusz Samborski","username":"rsamborski","twitter_username":null,"github_username":null,"user_id":2829111,"website_url":"https://linktr.ee/rsamborski","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2829111%2Fd4264501-e5df-440a-af46-f1549d9ecba1.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2829111%2Fd4264501-e5df-440a-af46-f1549d9ecba1.jpg"},"organization":{"name":"Google AI","username":"googleai","slug":"googleai","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11026%2F386b14d3-cc9a-4270-aba0-3e41cdfb9d85.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11026%2F386b14d3-cc9a-4270-aba0-3e41cdfb9d85.jpg"}},{"type_of":"article","id":3531808,"title":"What To Do If Your Project Was Affected By The Vercel Breach","description":"Vercel confirmed a security incident on April 19, 2026 affecting customer environment variables....","readable_publish_date":"Apr 21","slug":"vercel-got-breached-heres-exactly-what-to-do-if-you-use-it-2026-guide-2k76","path":"/dumebii/vercel-got-breached-heres-exactly-what-to-do-if-you-use-it-2026-guide-2k76","url":"https://dev.to/dumebii/vercel-got-breached-heres-exactly-what-to-do-if-you-use-it-2026-guide-2k76","comments_count":2,"public_reactions_count":10,"collection_id":36783,"published_timestamp":"2026-04-21T11:57:58Z","language":"en","subforem_id":1,"positive_reactions_count":10,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkgalbfgvw832ipqsyb1l.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkgalbfgvw832ipqsyb1l.png","canonical_url":"https://blog.ozigi.app/blog/vercel-got-breached-a-guide-to-safety-2026","created_at":"2026-04-21T11:57:58Z","edited_at":"2026-04-21T13:11:44Z","crossposted_at":null,"published_at":"2026-04-21T11:57:58Z","last_comment_at":"2026-04-22T09:25:49Z","reading_time_minutes":11,"tag_list":["webdev","security","tutorial","beginners"],"tags":"webdev, security, tutorial, beginners","user":{"name":"Dumebi Okolo","username":"dumebii","twitter_username":"DumebiTheWriter","github_username":"Dumebii","user_id":941720,"website_url":"https://www.linkedin.com/in/dumebi-okolo","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F941720%2Ff316bf93-ef0b-4bc5-aee2-5e062255d5f0.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F941720%2Ff316bf93-ef0b-4bc5-aee2-5e062255d5f0.jpg"}},{"type_of":"article","id":3511906,"title":"TPU Mythbusting: vendor lock-in","description":"Tensor Processing Units are a technology developed and owned by Google. While you can find GPUs in...","readable_publish_date":"Apr 20","slug":"tpu-mythbusting-vendor-lock-in-pbo","path":"/googleai/tpu-mythbusting-vendor-lock-in-pbo","url":"https://dev.to/googleai/tpu-mythbusting-vendor-lock-in-pbo","comments_count":2,"public_reactions_count":21,"collection_id":38163,"published_timestamp":"2026-04-20T16:11:30Z","language":"en","subforem_id":1,"positive_reactions_count":21,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm0o1i0c8tuycn16xywmr.webp","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm0o1i0c8tuycn16xywmr.webp","canonical_url":"https://medium.com/google-cloud/tpu-mythbusting-vendor-lock-in-67ac31049ed3","created_at":"2026-04-16T18:43:12Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-20T16:11:30Z","last_comment_at":"2026-04-20T20:19:32Z","reading_time_minutes":3,"tag_list":["tpu","googlecloud","ai","gcp"],"tags":"tpu, googlecloud, ai, gcp","user":{"name":"Maciej Strzelczyk","username":"mstrzelczyk","twitter_username":null,"github_username":"m-strzelczyk","user_id":1317874,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1317874%2Fcd862afe-98bb-4e6e-8419-6e5406c9535b.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1317874%2Fcd862afe-98bb-4e6e-8419-6e5406c9535b.png"},"organization":{"name":"Google AI","username":"googleai","slug":"googleai","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11026%2F386b14d3-cc9a-4270-aba0-3e41cdfb9d85.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11026%2F386b14d3-cc9a-4270-aba0-3e41cdfb9d85.jpg"}},{"type_of":"article","id":3525835,"title":"I built a self-hosted PostgreSQL Control Plane that runs on single Docker container","description":"I built NeonD — an open-source, self-hosted control plane for PostgreSQL inspired by Neon. It gives you branching, point-in-time recovery, and S3-backed durability, all running from a single Docker container on dedicated server.","readable_publish_date":"Apr 20","slug":"i-built-a-self-hosted-postgresql-control-plane-that-runs-on-single-docker-container-30gm","path":"/matisiekpl/i-built-a-self-hosted-postgresql-control-plane-that-runs-on-single-docker-container-30gm","url":"https://dev.to/matisiekpl/i-built-a-self-hosted-postgresql-control-plane-that-runs-on-single-docker-container-30gm","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-20T08:30:19Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe9m34bvs9lod7p9wk6mn.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe9m34bvs9lod7p9wk6mn.png","canonical_url":"https://dev.to/matisiekpl/i-built-a-self-hosted-postgresql-control-plane-that-runs-on-single-docker-container-30gm","created_at":"2026-04-20T08:28:01Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-20T08:30:19Z","last_comment_at":"2026-04-20T08:30:19Z","reading_time_minutes":3,"tag_list":["database","postgres","selfhosted"],"tags":"database, postgres, selfhosted","user":{"name":"Mateusz Woźniak","username":"matisiekpl","twitter_username":null,"github_username":"matisiekpl","user_id":162624,"website_url":"http://mateuszwozniak.com/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F162624%2F3fe3ef91-d099-46c5-8996-ff853b526e31.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F162624%2F3fe3ef91-d099-46c5-8996-ff853b526e31.jpeg"}},{"type_of":"article","id":3523473,"title":"Boring code is an organizational tell","description":"If boring code is good, why is it so rare? Clever code is not the result of clever engineers. It's...","readable_publish_date":"Apr 19","slug":"boring-code-is-an-organizational-tell-4gca","path":"/simme/boring-code-is-an-organizational-tell-4gca","url":"https://dev.to/simme/boring-code-is-an-organizational-tell-4gca","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-19T18:02:48Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgt0b1i91jq9nt3730zdk.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgt0b1i91jq9nt3730zdk.png","canonical_url":"https://simme.dev/posts/boring-code-is-an-organizational-tell/","created_at":"2026-04-19T18:02:48Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-19T18:02:48Z","last_comment_at":"2026-04-19T18:02:48Z","reading_time_minutes":5,"tag_list":["ai","leadership","culture","management"],"tags":"ai, leadership, culture, management","user":{"name":"Simme","username":"simme","twitter_username":"0x12b","github_username":"simskij","user_id":229201,"website_url":"https://simme.dev/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F229201%2F6780f4cf-8285-47dc-ad49-4765290d7dc8.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F229201%2F6780f4cf-8285-47dc-ad49-4765290d7dc8.jpeg"}},{"type_of":"article","id":3524864,"title":"What Happens Between @SqsListener and Your Method in Spring Cloud AWS SQS","description":"A walkthrough of the full SQS listener lifecycle in Spring Cloud AWS SQS, from annotation detection at startup to the composable async pipeline that polls, processes, and acknowledges every message.","readable_publish_date":"Apr 20","slug":"what-happens-between-sqslistener-and-your-method-in-spring-cloud-aws-sqs-36e7","path":"/tomazfernandes/what-happens-between-sqslistener-and-your-method-in-spring-cloud-aws-sqs-36e7","url":"https://dev.to/tomazfernandes/what-happens-between-sqslistener-and-your-method-in-spring-cloud-aws-sqs-36e7","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-20T05:13:54Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Ftomazfernandes.dev%2Fposts%2Ffrom-sqslistener-to-your-method%2Findex.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Ftomazfernandes.dev%2Fposts%2Ffrom-sqslistener-to-your-method%2Findex.png","canonical_url":"https://tomazfernandes.dev/posts/from-sqslistener-to-your-method/","created_at":"2026-04-20T05:11:19Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-20T05:13:54Z","last_comment_at":"2026-04-20T05:13:54Z","reading_time_minutes":11,"tag_list":["java","spring","aws","sqs"],"tags":"java, spring, aws, sqs","user":{"name":"Tomaz Lemos","username":"tomazfernandes","twitter_username":"TomazLemos","github_username":"tomazlemos","user_id":49331,"website_url":"https://tomazfernandes.dev","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F49331%2F98258257-d506-435b-972d-de482c111ebf.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F49331%2F98258257-d506-435b-972d-de482c111ebf.jpg"}},{"type_of":"article","id":3524928,"title":"I Built a BaaS Where AI Agents Can Onboard Themselves","description":"Vibebase gives AI agents identity, email, and service access without handing them raw API keys. Agents start autonomously and humans can claim them later.","readable_publish_date":"Apr 20","slug":"i-built-a-baas-where-ai-agents-can-onboard-themselves-11nn","path":"/steveemmerich/i-built-a-baas-where-ai-agents-can-onboard-themselves-11nn","url":"https://dev.to/steveemmerich/i-built-a-baas-where-ai-agents-can-onboard-themselves-11nn","comments_count":2,"public_reactions_count":3,"collection_id":null,"published_timestamp":"2026-04-20T12:59:00Z","language":"en","subforem_id":1,"positive_reactions_count":3,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1zyfz61htwz7wk1v0wrl.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1zyfz61htwz7wk1v0wrl.png","canonical_url":"https://vibebase.app","created_at":"2026-04-20T05:25:47Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-20T12:59:00Z","last_comment_at":"2026-04-21T13:04:25Z","reading_time_minutes":3,"tag_list":["ai","agents","cloudflare","startup"],"tags":"ai, agents, cloudflare, startup","user":{"name":"Steve Emmerich","username":"steveemmerich","twitter_username":null,"github_username":"SteveEmmerich","user_id":92797,"website_url":"https://Vibebase.app","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F92797%2F792f7168-6d40-432a-8795-66b1199f976d.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F92797%2F792f7168-6d40-432a-8795-66b1199f976d.jpeg"}},{"type_of":"article","id":3513479,"title":"Less Than Six Hours From Idea to Dev Release: Building a new Drupal Canvas SDC Module With AI, Deliberately","description":"Last night, during a Chattanooga Drupal User Group call, Mike Herchel invited Pameeela to share an...","readable_publish_date":"Apr 17","slug":"i-built-a-new-drupal-canvas-sdc-module-with-ai-in-under-6-hours-and-the-review-process-still-59b8","path":"/jcandan/i-built-a-new-drupal-canvas-sdc-module-with-ai-in-under-6-hours-and-the-review-process-still-59b8","url":"https://dev.to/jcandan/i-built-a-new-drupal-canvas-sdc-module-with-ai-in-under-6-hours-and-the-review-process-still-59b8","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-17T13:18:29Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs8yslikky3j4r2wjod37.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs8yslikky3j4r2wjod37.png","canonical_url":"https://dev.to/jcandan/i-built-a-new-drupal-canvas-sdc-module-with-ai-in-under-6-hours-and-the-review-process-still-59b8","created_at":"2026-04-17T04:25:30Z","edited_at":"2026-04-17T13:32:01Z","crossposted_at":null,"published_at":"2026-04-17T13:18:29Z","last_comment_at":"2026-04-17T13:18:29Z","reading_time_minutes":8,"tag_list":["drupal","ai","vibecoding"],"tags":"drupal, ai, vibecoding","user":{"name":"James Candan","username":"jcandan","twitter_username":null,"github_username":"jcandan","user_id":82224,"website_url":"https://stackelevate.dev","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F82224%2F2511c25a-0c2e-46e1-bec1-baddef2c9345.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F82224%2F2511c25a-0c2e-46e1-bec1-baddef2c9345.jpeg"}},{"type_of":"article","id":3528873,"title":"Add Telephony to a Gemini Live Agent with Twilio","description":"Ever wanted to call an AI on the phone? Not through an app, not through a browser — just pick up your...","readable_publish_date":"Apr 21","slug":"add-telephony-to-a-gemini-live-agent-with-twilio-1elc","path":"/googleai/add-telephony-to-a-gemini-live-agent-with-twilio-1elc","url":"https://dev.to/googleai/add-telephony-to-a-gemini-live-agent-with-twilio-1elc","comments_count":1,"public_reactions_count":35,"collection_id":35481,"published_timestamp":"2026-04-21T14:36:54Z","language":"en","subforem_id":1,"positive_reactions_count":35,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuf0s7ae986bo7umjtmyz.png","canonical_url":"https://dev.to/googleai/add-telephony-to-a-gemini-live-agent-with-twilio-1elc","created_at":"2026-04-20T22:32:14Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-21T14:36:54Z","last_comment_at":"2026-04-21T18:06:02Z","reading_time_minutes":7,"tag_list":["ai","voice","telephony","gemini"],"tags":"ai, voice, telephony, gemini","user":{"name":"Thor 雷神 Schaeff","username":"thorwebdev","twitter_username":"thorwebdev","github_username":"thorwebdev","user_id":83859,"website_url":"https://thorweb.dev","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F83859%2F94bfc188-6624-4f27-8417-9166897ea620.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F83859%2F94bfc188-6624-4f27-8417-9166897ea620.jpeg"},"organization":{"name":"Google AI","username":"googleai","slug":"googleai","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11026%2F386b14d3-cc9a-4270-aba0-3e41cdfb9d85.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11026%2F386b14d3-cc9a-4270-aba0-3e41cdfb9d85.jpg"}},{"type_of":"article","id":3521582,"title":"I Built OxyTrack: Turning Small Daily Habits Into Real Environmental Impact 🌱","description":"This is a submission for Weekend Challenge: Earth Day Edition  What I Built  Many people want to help...","readable_publish_date":"Apr 19","slug":"i-built-oxytrack-turning-small-daily-habits-into-real-environmental-impact-1nj9","path":"/ajitekom/i-built-oxytrack-turning-small-daily-habits-into-real-environmental-impact-1nj9","url":"https://dev.to/ajitekom/i-built-oxytrack-turning-small-daily-habits-into-real-environmental-impact-1nj9","comments_count":0,"public_reactions_count":3,"collection_id":null,"published_timestamp":"2026-04-19T06:21:26Z","language":"en","subforem_id":1,"positive_reactions_count":3,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fovd9cgquj26xjuxv93e4.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fovd9cgquj26xjuxv93e4.png","canonical_url":"https://dev.to/ajitekom/i-built-oxytrack-turning-small-daily-habits-into-real-environmental-impact-1nj9","created_at":"2026-04-19T06:16:12Z","edited_at":"2026-04-19T06:29:38Z","crossposted_at":null,"published_at":"2026-04-19T06:21:26Z","last_comment_at":"2026-04-19T06:21:26Z","reading_time_minutes":2,"tag_list":["devchallenge","weekendchallenge"],"tags":"devchallenge, weekendchallenge","user":{"name":"Setiaji","username":"ajitekom","twitter_username":null,"github_username":null,"user_id":3077053,"website_url":"https://ajitekom.my.id","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3077053%2Fb40a716b-7c9b-4537-9dd8-c37e9b720af1.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3077053%2Fb40a716b-7c9b-4537-9dd8-c37e9b720af1.png"}},{"type_of":"article","id":3529903,"title":"Orchestrating Agents via ADK for TypeScript and Gemini CLI","description":"Abstract   Explore how to build and orchestrate production-ready, type-safe AI agents...","readable_publish_date":"Apr 21","slug":"orchestrating-agents-via-adk-for-typescript-and-gemini-cli-jco","path":"/gde/orchestrating-agents-via-adk-for-typescript-and-gemini-cli-jco","url":"https://dev.to/gde/orchestrating-agents-via-adk-for-typescript-and-gemini-cli-jco","comments_count":0,"public_reactions_count":13,"collection_id":null,"published_timestamp":"2026-04-21T05:22:52Z","language":"en","subforem_id":1,"positive_reactions_count":13,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhufil9naogxgv2epue09.png","canonical_url":"https://dev.to/gde/orchestrating-agents-via-adk-for-typescript-and-gemini-cli-jco","created_at":"2026-04-21T05:22:53Z","edited_at":"2026-04-21T06:54:03Z","crossposted_at":null,"published_at":"2026-04-21T05:22:52Z","last_comment_at":"2026-04-21T05:22:52Z","reading_time_minutes":10,"tag_list":["gemini","ai","typescript","adk"],"tags":"gemini, ai, typescript, adk","user":{"name":"Tanaike","username":"tanaike","twitter_username":"tanaikech","github_username":"tanaikech","user_id":3701430,"website_url":"https://tanaikech.github.io/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3701430%2F3d517296-9b96-418b-ad29-24e735edd1df.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3701430%2F3d517296-9b96-418b-ad29-24e735edd1df.png"},"organization":{"name":"Google Developer Experts","username":"gde","slug":"gde","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11939%2Fe3080d5b-ecde-42a8-b089-bafecc31fa97.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11939%2Fe3080d5b-ecde-42a8-b089-bafecc31fa97.png"}},{"type_of":"article","id":3524487,"title":"Vercel Hack: Why You Need to Rotate Your \"Non-Sensitive\" Environment Variables Today","description":"If you deploy on Vercel, todays headlines about a security incident might have caused some stress....","readable_publish_date":"Apr 20","slug":"vercel-hack-why-you-need-to-rotate-your-non-sensitive-environment-variables-today-25mh","path":"/jon_at_backboardio/vercel-hack-why-you-need-to-rotate-your-non-sensitive-environment-variables-today-25mh","url":"https://dev.to/jon_at_backboardio/vercel-hack-why-you-need-to-rotate-your-non-sensitive-environment-variables-today-25mh","comments_count":1,"public_reactions_count":14,"collection_id":null,"published_timestamp":"2026-04-20T02:49:24Z","language":"en","subforem_id":1,"positive_reactions_count":14,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkaw7fvji956im2sod6xz.png","canonical_url":"https://dev.to/jon_at_backboardio/vercel-hack-why-you-need-to-rotate-your-non-sensitive-environment-variables-today-25mh","created_at":"2026-04-20T02:49:24Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-20T02:49:24Z","last_comment_at":"2026-04-20T14:46:49Z","reading_time_minutes":2,"tag_list":["ai","vercel","security","hack"],"tags":"ai, vercel, security, hack","user":{"name":"Jonathan Murray","username":"jon_at_backboardio","twitter_username":null,"github_username":null,"user_id":3824580,"website_url":"https://backboard.io/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3824580%2Fcbf3ef23-2d0b-4576-90ff-0d46b2119ea8.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3824580%2Fcbf3ef23-2d0b-4576-90ff-0d46b2119ea8.png"}},{"type_of":"article","id":3509435,"title":"Display and test openapi.yaml file","description":"From a partner company I got a openapi.yaml file to evaluate their api for our use cases. Mostly I...","readable_publish_date":"Apr 16","slug":"display-and-test-openapiyaml-file-53h9","path":"/gabrielweidmann/display-and-test-openapiyaml-file-53h9","url":"https://dev.to/gabrielweidmann/display-and-test-openapiyaml-file-53h9","comments_count":0,"public_reactions_count":27,"collection_id":null,"published_timestamp":"2026-04-16T09:19:27Z","language":"en","subforem_id":1,"positive_reactions_count":27,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcr3k0l4lxy1b02pitmxl.png","canonical_url":"https://dev.to/gabrielweidmann/display-and-test-openapiyaml-file-53h9","created_at":"2026-04-16T09:19:27Z","edited_at":"2026-04-16T09:27:43Z","crossposted_at":null,"published_at":"2026-04-16T09:19:27Z","last_comment_at":"2026-04-16T09:19:27Z","reading_time_minutes":2,"tag_list":["api","openapi","test"],"tags":"api, openapi, test","user":{"name":"Gabriel Weidmann","username":"gabrielweidmann","twitter_username":"KithorasCarzyl","github_username":"weidmanngabriel","user_id":2814,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2814%2Fb80fb4f7-07fe-4706-a8df-fe73f7a8542e.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2814%2Fb80fb4f7-07fe-4706-a8df-fe73f7a8542e.png"}},{"type_of":"article","id":3521223,"title":"EcoDo AI: Making Earth a Little Less Heavy 🌍✨","description":"What I Built I built EcoDo AI, a smart sustainability tracker designed to turn small daily habits...","readable_publish_date":"Apr 19","slug":"ecodo-ai-making-earth-a-little-less-heavy-3mic","path":"/vaidehi_warghat_362ccfda5/ecodo-ai-making-earth-a-little-less-heavy-3mic","url":"https://dev.to/vaidehi_warghat_362ccfda5/ecodo-ai-making-earth-a-little-less-heavy-3mic","comments_count":0,"public_reactions_count":2,"collection_id":null,"published_timestamp":"2026-04-19T03:11:23Z","language":"en","subforem_id":1,"positive_reactions_count":2,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftepbxbqqyubjubs6sj8l.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftepbxbqqyubjubs6sj8l.png","canonical_url":"https://dev.to/vaidehi_warghat_362ccfda5/ecodo-ai-making-earth-a-little-less-heavy-3mic","created_at":"2026-04-19T03:11:23Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-19T03:11:23Z","last_comment_at":"2026-04-19T03:11:23Z","reading_time_minutes":2,"tag_list":["devchallenge","weekendchallenge"],"tags":"devchallenge, weekendchallenge","user":{"name":"vaidehi Warghat","username":"vaidehi_warghat_362ccfda5","twitter_username":null,"github_username":null,"user_id":3883651,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3883651%2Fc4009779-042f-421a-88dc-8061f26a209a.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3883651%2Fc4009779-042f-421a-88dc-8061f26a209a.jpg"}},{"type_of":"article","id":3498258,"title":"Claude skills vs Commands","description":"If you are using Claude for “vibe coding”, you may have come across Skills and Commands. Both are...","readable_publish_date":"Apr 14","slug":"claude-skills-vs-commands-1dcm","path":"/hellonehha/claude-skills-vs-commands-1dcm","url":"https://dev.to/hellonehha/claude-skills-vs-commands-1dcm","comments_count":0,"public_reactions_count":7,"collection_id":null,"published_timestamp":"2026-04-14T10:13:02Z","language":"en","subforem_id":1,"positive_reactions_count":7,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbdqadnidh58y3kwnxcc8.png","canonical_url":"https://medium.com/@hellonehha/claude-skills-vs-commands-73af99857d33","created_at":"2026-04-14T07:47:15Z","edited_at":"2026-04-14T10:27:21Z","crossposted_at":null,"published_at":"2026-04-14T10:13:02Z","last_comment_at":"2026-04-14T10:13:02Z","reading_time_minutes":2,"tag_list":["claude","ai","webdev","programming"],"tags":"claude, ai, webdev, programming","user":{"name":"Neha Sharma ","username":"hellonehha","twitter_username":"hellonehha","github_username":"Neha","user_id":118962,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F118962%2F382c4db7-91d3-4e27-9cd5-a1e0331587b0.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F118962%2F382c4db7-91d3-4e27-9cd5-a1e0331587b0.jpg"}},{"type_of":"article","id":3516628,"title":"Designing Multi-Tenant Backends With Both Ownership and Team Access","description":"A practical architecture pattern for systems where one user can own, join, and operate multiple...","readable_publish_date":"Apr 17","slug":"designing-multi-tenant-backends-with-both-ownership-and-team-access-ao5","path":"/oladele-david/designing-multi-tenant-backends-with-both-ownership-and-team-access-ao5","url":"https://dev.to/oladele-david/designing-multi-tenant-backends-with-both-ownership-and-team-access-ao5","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-04-17T18:38:12Z","language":"en","subforem_id":1,"positive_reactions_count":1,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmkv7r9fcjuppnbheycsh.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmkv7r9fcjuppnbheycsh.png","canonical_url":"https://dev.to/oladele-david/designing-multi-tenant-backends-with-both-ownership-and-team-access-ao5","created_at":"2026-04-17T17:48:59Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-17T18:38:12Z","last_comment_at":"2026-04-17T18:38:12Z","reading_time_minutes":8,"tag_list":["nestjs","javascript","architecture","backend"],"tags":"nestjs, javascript, architecture, backend","user":{"name":"Oladele David ","username":"oladele-david","twitter_username":null,"github_username":"oladele-david","user_id":236515,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F236515%2F13a106ed-6389-4fdb-a7f8-c4dc12d1a012.JPG","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F236515%2F13a106ed-6389-4fdb-a7f8-c4dc12d1a012.JPG"}},{"type_of":"article","id":3514083,"title":"Processing long running events on AWS API Gateway","description":"Processing long running events on AWS API Gateway   AWS API Gateway is a managed HTTP/REST...","readable_publish_date":"Apr 17","slug":"processing-long-running-events-on-aws-api-gateway-bn4","path":"/aws-builders/processing-long-running-events-on-aws-api-gateway-bn4","url":"https://dev.to/aws-builders/processing-long-running-events-on-aws-api-gateway-bn4","comments_count":0,"public_reactions_count":2,"collection_id":null,"published_timestamp":"2026-04-17T08:19:51Z","language":"en","subforem_id":1,"positive_reactions_count":2,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqrpzqe4wlyh1ofbtost9.png","canonical_url":"https://dev.to/aws-builders/processing-long-running-events-on-aws-api-gateway-bn4","created_at":"2026-04-17T07:20:00Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-17T08:19:51Z","last_comment_at":"2026-04-17T08:19:51Z","reading_time_minutes":4,"tag_list":["aws","apigateway","architecture","eventdriven"],"tags":"aws, apigateway, architecture, eventdriven","user":{"name":"Evertson Croes","username":"evertsoncroes","twitter_username":"EvertsonCroes","github_username":null,"user_id":281946,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F281946%2F22d4cb25-1cd0-4c70-b7b3-868b948e6072.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F281946%2F22d4cb25-1cd0-4c70-b7b3-868b948e6072.jpg"},"organization":{"name":"AWS Community Builders ","username":"aws-builders","slug":"aws-builders","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F2794%2F88da75b6-aadd-4ea1-8083-ae2dfca8be94.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F2794%2F88da75b6-aadd-4ea1-8083-ae2dfca8be94.png"}},{"type_of":"article","id":3512465,"title":"Your dependencies are 48% unmaintained — and SCA tools can't see it","description":"I analyzed 16,000 production packages. Half have lifecycle risk your scanner can't see. Here's uzomuzo — the open-source tool I built to find and fix it.","readable_publish_date":"Apr 16","slug":"your-dependencies-are-48-unmaintained-and-sca-tools-cant-see-it-2h7h","path":"/kotakanbe/your-dependencies-are-48-unmaintained-and-sca-tools-cant-see-it-2h7h","url":"https://dev.to/kotakanbe/your-dependencies-are-48-unmaintained-and-sca-tools-cant-see-it-2h7h","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-16T22:16:44Z","language":"en","subforem_id":1,"positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F30j6dljugztycg0zn8ih.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F30j6dljugztycg0zn8ih.png","canonical_url":"https://dev.to/kotakanbe/your-dependencies-are-48-unmaintained-and-sca-tools-cant-see-it-2h7h","created_at":"2026-04-16T22:16:44Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-16T22:16:44Z","last_comment_at":"2026-04-16T22:16:44Z","reading_time_minutes":5,"tag_list":["security","opensource","supplychain","devops"],"tags":"security, opensource, supplychain, devops","user":{"name":"kotakanbe","username":"kotakanbe","twitter_username":"kotakanbe","github_username":"kotakanbe","user_id":44746,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F44746%2F423615e1-2660-4dfc-9278-1db8a449d5ec.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F44746%2F423615e1-2660-4dfc-9278-1db8a449d5ec.jpg"}},{"type_of":"article","id":3527568,"title":"What are your goals for the week? #175","description":"What are your goals for the week?    What are you building this week? What do you want to...","readable_publish_date":"Apr 20","slug":"what-are-your-goals-for-the-week-175-324a","path":"/jarvisscript/what-are-your-goals-for-the-week-175-324a","url":"https://dev.to/jarvisscript/what-are-your-goals-for-the-week-175-324a","comments_count":21,"public_reactions_count":16,"collection_id":null,"published_timestamp":"2026-04-20T14:46:02Z","language":"en","subforem_id":1,"positive_reactions_count":16,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxesdgj39010cufpd0oki.jpg","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxesdgj39010cufpd0oki.jpg","canonical_url":"https://dev.to/jarvisscript/what-are-your-goals-for-the-week-175-324a","created_at":"2026-04-20T14:28:59Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-20T14:46:02Z","last_comment_at":"2026-04-22T15:17:39Z","reading_time_minutes":2,"tag_list":["discuss","motivation"],"tags":"discuss, motivation","user":{"name":"Chris Jarvis","username":"jarvisscript","twitter_username":null,"github_username":"ClJarvis","user_id":8745,"website_url":"http://christopherleejarvis.com","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F8745%2Fb3ae281e-3062-4dd9-93f1-22e75a85484e.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F8745%2Fb3ae281e-3062-4dd9-93f1-22e75a85484e.jpg"},"flare_tag":{"name":"discuss","bg_color_hex":"#71EA8B","text_color_hex":"#FFFFFF"}},{"type_of":"article","id":3532207,"title":"Atomic Scaffolding: How scbake Prevents Configuration Mishaps","description":"Project scaffolders help speed up development. Until they fail halfway. Now you're left with a messy...","readable_publish_date":"Apr 21","slug":"atomic-scaffolding-how-scbake-prevents-configuration-mishaps-2gmo","path":"/emin-acikgoz/atomic-scaffolding-how-scbake-prevents-configuration-mishaps-2gmo","url":"https://dev.to/emin-acikgoz/atomic-scaffolding-how-scbake-prevents-configuration-mishaps-2gmo","comments_count":4,"public_reactions_count":8,"collection_id":null,"published_timestamp":"2026-04-21T13:51:38Z","language":"en","subforem_id":1,"positive_reactions_count":8,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1v7m9p8uh6v27a99m60x.png","canonical_url":"https://github.com/Emin-ACIKGOZ/scbake","created_at":"2026-04-21T13:28:21Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-21T13:51:38Z","last_comment_at":"2026-04-22T16:10:00Z","reading_time_minutes":4,"tag_list":["go","devops","opensource","tools"],"tags":"go, devops, opensource, tools","user":{"name":"Emin Salih Açıkgöz","username":"emin-acikgoz","twitter_username":null,"github_username":"Emin-ACIKGOZ","user_id":3890823,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3890823%2Fe782ad4c-391a-4d79-b5a9-34a5fbcd969c.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3890823%2Fe782ad4c-391a-4d79-b5a9-34a5fbcd969c.jpeg"}},{"type_of":"article","id":3472528,"title":"Building a Multimodal Cross Cloud Live Agent with ADK, Azure Fabric, and Gemini CLI","description":"Leveraging the Google Agent Development Kit (ADK) and the underlying Gemini LLM to build cross cloud...","readable_publish_date":"Apr 10","slug":"building-a-multimodal-cross-cloud-live-agent-with-adk-azure-fabric-and-gemini-cli-3k4a","path":"/gde/building-a-multimodal-cross-cloud-live-agent-with-adk-azure-fabric-and-gemini-cli-3k4a","url":"https://dev.to/gde/building-a-multimodal-cross-cloud-live-agent-with-adk-azure-fabric-and-gemini-cli-3k4a","comments_count":0,"public_reactions_count":4,"collection_id":null,"published_timestamp":"2026-04-10T12:53:08Z","language":"en","subforem_id":1,"positive_reactions_count":4,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz0sjen1vovwty7yzi8vu.png","canonical_url":"https://xbill999.medium.com/building-a-multimodal-cross-cloud-live-agent-with-adk-azure-fabric-and-gemini-cli-b06517356fa4","created_at":"2026-04-08T16:36:06Z","edited_at":null,"crossposted_at":"2026-04-10T12:53:08Z","published_at":"2026-04-08T13:15:23Z","last_comment_at":"2026-04-08T13:15:23Z","reading_time_minutes":7,"tag_list":["googlecloudplatform","adk","gemini","azure"],"tags":"googlecloudplatform, adk, gemini, azure","user":{"name":"xbill","username":"xbill","twitter_username":null,"github_username":"xbill9","user_id":3490099,"website_url":"https://g.dev/xbill","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3490099%2Fc6a975d0-cd94-485d-82b1-14ed5b344fcf.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3490099%2Fc6a975d0-cd94-485d-82b1-14ed5b344fcf.jpg"},"organization":{"name":"Google Developer Experts","username":"gde","slug":"gde","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11939%2Fe3080d5b-ecde-42a8-b089-bafecc31fa97.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11939%2Fe3080d5b-ecde-42a8-b089-bafecc31fa97.png"}},{"type_of":"article","id":3501992,"title":"Building Multimodal Real Time Agent with ADK, Azure AKS, Gemini CLI, and Gemini Flash Live 3.1","description":"Leveraging the Google Agent Development Kit (ADK) and the underlying Gemini LLM to build cross cloud...","readable_publish_date":"Apr 15","slug":"building-multimodal-real-time-agent-with-adk-azure-aks-gemini-cli-and-gemini-flash-live-31-np5","path":"/gde/building-multimodal-real-time-agent-with-adk-azure-aks-gemini-cli-and-gemini-flash-live-31-np5","url":"https://dev.to/gde/building-multimodal-real-time-agent-with-adk-azure-aks-gemini-cli-and-gemini-flash-live-31-np5","comments_count":0,"public_reactions_count":24,"collection_id":36885,"published_timestamp":"2026-04-15T13:04:26Z","language":"en","subforem_id":1,"positive_reactions_count":24,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffb97345aamohk3v6cxz8.png","canonical_url":"https://xbill999.medium.com/building-multimodal-real-time-agent-with-adk-azure-aks-gemini-cli-and-gemini-flash-live-3-1-68bd8d2253de","created_at":"2026-04-14T22:26:42Z","edited_at":"2026-04-15T13:04:34Z","crossposted_at":"2026-04-15T13:04:26Z","published_at":"2026-04-14T21:55:29Z","last_comment_at":"2026-04-14T21:55:29Z","reading_time_minutes":6,"tag_list":["googleadk","gemini","geminilive","azureaks"],"tags":"googleadk, gemini, geminilive, azureaks","user":{"name":"xbill","username":"xbill","twitter_username":null,"github_username":"xbill9","user_id":3490099,"website_url":"https://g.dev/xbill","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3490099%2Fc6a975d0-cd94-485d-82b1-14ed5b344fcf.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3490099%2Fc6a975d0-cd94-485d-82b1-14ed5b344fcf.jpg"},"organization":{"name":"Google Developer Experts","username":"gde","slug":"gde","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11939%2Fe3080d5b-ecde-42a8-b089-bafecc31fa97.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11939%2Fe3080d5b-ecde-42a8-b089-bafecc31fa97.png"}},{"type_of":"article","id":3522909,"title":"Every climate chatbot is amnesiac. So I built Aura — a stateful climate coach on Backboard + Gemini","description":"Every climate chatbot is amnesiac. So I built Aura — a stateful climate coach on Backboard +...","readable_publish_date":"Apr 19","slug":"every-climate-chatbot-is-amnesiac-so-i-built-aura-a-stateful-climate-coach-on-backboard-gemini-4kih","path":"/dev_rajput_2d46f92f8a3418/every-climate-chatbot-is-amnesiac-so-i-built-aura-a-stateful-climate-coach-on-backboard-gemini-4kih","url":"https://dev.to/dev_rajput_2d46f92f8a3418/every-climate-chatbot-is-amnesiac-so-i-built-aura-a-stateful-climate-coach-on-backboard-gemini-4kih","comments_count":4,"public_reactions_count":18,"collection_id":null,"published_timestamp":"2026-04-19T14:20:42Z","language":"en","subforem_id":1,"positive_reactions_count":18,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdh6x22grdadugg704pk0.jpg","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdh6x22grdadugg704pk0.jpg","canonical_url":"https://github.com/rajputdev77-art/aura-eternal-planet-guardian","created_at":"2026-04-19T14:20:42Z","edited_at":"2026-04-19T14:33:29Z","crossposted_at":null,"published_at":"2026-04-19T14:20:42Z","last_comment_at":"2026-04-20T20:17:48Z","reading_time_minutes":6,"tag_list":["weekendchallenge","webdev","ai","devchallenge"],"tags":"weekendchallenge, webdev, ai, devchallenge","user":{"name":"Dev Rajput","username":"dev_rajput_2d46f92f8a3418","twitter_username":null,"github_username":null,"user_id":3871240,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3871240%2Fe734eb98-46c3-4cea-b6da-29e0680a10f8.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3871240%2Fe734eb98-46c3-4cea-b6da-29e0680a10f8.jpg"}},{"type_of":"article","id":3506833,"title":"Join the OpenClaw Challenge: $1,200 Prize Pool!","description":"If you've spent any time on the internet, you know OpenClaw has been making waves lately. We recently...","readable_publish_date":"Apr 16","slug":"join-the-openclaw-challenge-1200-prize-pool-5682","path":"/devteam/join-the-openclaw-challenge-1200-prize-pool-5682","url":"https://dev.to/devteam/join-the-openclaw-challenge-1200-prize-pool-5682","comments_count":28,"public_reactions_count":158,"collection_id":null,"published_timestamp":"2026-04-16T15:38:54Z","language":"en","subforem_id":1,"positive_reactions_count":158,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgntmy99wlb4a2jo1zbk9.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgntmy99wlb4a2jo1zbk9.png","canonical_url":"https://dev.to/devteam/join-the-openclaw-challenge-1200-prize-pool-5682","created_at":"2026-04-15T19:41:34Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-16T15:38:54Z","last_comment_at":"2026-04-21T21:39:42Z","reading_time_minutes":4,"tag_list":["devchallenge","openclawchallenge","openclaw","ai"],"tags":"devchallenge, openclawchallenge, openclaw, ai","user":{"name":"Jess Lee","username":"jess","twitter_username":"jessleenyc","github_username":"jessleenyc","user_id":264,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F264%2Fb75f6edf-df7b-406e-a56b-43facafb352c.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F264%2Fb75f6edf-df7b-406e-a56b-43facafb352c.jpg"},"organization":{"name":"The DEV Team","username":"devteam","slug":"devteam","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1%2Fd908a186-5651-4a5a-9f76-15200bc6801f.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1%2Fd908a186-5651-4a5a-9f76-15200bc6801f.jpg"}},{"type_of":"article","id":3442047,"title":"What was your win this week?!","description":"👋👋👋👋  Looking back on your week -- what was something you're proud of?  All wins count -- big or...","readable_publish_date":"Apr 17","slug":"what-was-your-win-this-week-28fb","path":"/devteam/what-was-your-win-this-week-28fb","url":"https://dev.to/devteam/what-was-your-win-this-week-28fb","comments_count":70,"public_reactions_count":79,"collection_id":null,"published_timestamp":"2026-04-17T13:00:00Z","language":"en","subforem_id":1,"positive_reactions_count":79,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9g0ggokz5bnmths1ktot.jpg","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9g0ggokz5bnmths1ktot.jpg","canonical_url":"https://dev.to/devteam/what-was-your-win-this-week-28fb","created_at":"2026-04-01T19:25:08Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-17T13:00:00Z","last_comment_at":"2026-04-22T13:10:08Z","reading_time_minutes":1,"tag_list":["discuss","weeklyretro"],"tags":"discuss, weeklyretro","user":{"name":"Jess Lee","username":"jess","twitter_username":"jessleenyc","github_username":"jessleenyc","user_id":264,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F264%2Fb75f6edf-df7b-406e-a56b-43facafb352c.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F264%2Fb75f6edf-df7b-406e-a56b-43facafb352c.jpg"},"organization":{"name":"The DEV Team","username":"devteam","slug":"devteam","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1%2Fd908a186-5651-4a5a-9f76-15200bc6801f.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1%2Fd908a186-5651-4a5a-9f76-15200bc6801f.jpg"},"flare_tag":{"name":"discuss","bg_color_hex":"#71EA8B","text_color_hex":"#FFFFFF"}},{"type_of":"article","id":3510833,"title":"AI Doesn't Fix Weak Engineering. It Just Speeds It Up.","description":"\"Weak engineers with AI still produce weak output. Just faster.\" That was the whole point. AI changes...","readable_publish_date":"Apr 16","slug":"ai-doesnt-fix-weak-engineering-it-just-speeds-it-up-5bak","path":"/jonoherrington/ai-doesnt-fix-weak-engineering-it-just-speeds-it-up-5bak","url":"https://dev.to/jonoherrington/ai-doesnt-fix-weak-engineering-it-just-speeds-it-up-5bak","comments_count":81,"public_reactions_count":123,"collection_id":null,"published_timestamp":"2026-04-16T13:50:47Z","language":"en","subforem_id":1,"positive_reactions_count":123,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fwww.jonoherrington.com%2Fimages%2Flinkedin%2Fai-doesnt-fix-weak-engineering.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fwww.jonoherrington.com%2Fimages%2Flinkedin%2Fai-doesnt-fix-weak-engineering.png","canonical_url":"https://www.jonoherrington.com/blog/ai-doesnt-fix-weak-engineering","created_at":"2026-04-16T13:50:47Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-16T13:50:47Z","last_comment_at":"2026-04-22T15:17:33Z","reading_time_minutes":5,"tag_list":["ai","leadership","discuss"],"tags":"ai, leadership, discuss","user":{"name":"Jono Herrington","username":"jonoherrington","twitter_username":null,"github_username":null,"user_id":3831929,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3831929%2F84167118-5088-4f0c-a210-dc60041da874.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3831929%2F84167118-5088-4f0c-a210-dc60041da874.jpeg"},"flare_tag":{"name":"discuss","bg_color_hex":"#71EA8B","text_color_hex":"#FFFFFF"}},{"type_of":"article","id":3522270,"title":"Multi-Agent A2A with the Agent Development Kit(ADK), Azure ACI, and Gemini CLI","description":"Leveraging the Google Agent Development Kit (ADK) and the underlying Gemini LLM to build Multi-Agent...","readable_publish_date":"Apr 19","slug":"multi-agent-a2a-with-the-agent-development-kitadk-azure-aci-and-gemini-cli-1k84","path":"/gde/multi-agent-a2a-with-the-agent-development-kitadk-azure-aci-and-gemini-cli-1k84","url":"https://dev.to/gde/multi-agent-a2a-with-the-agent-development-kitadk-azure-aci-and-gemini-cli-1k84","comments_count":0,"public_reactions_count":6,"collection_id":36885,"published_timestamp":"2026-04-19T13:53:55Z","language":"en","subforem_id":1,"positive_reactions_count":6,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flat9f6iihvnchdnyiuah.png","canonical_url":"https://xbill999.medium.com/multi-agent-a2a-with-the-agent-development-kit-adk-azure-aci-and-gemini-cli-5fb746833a21","created_at":"2026-04-19T10:20:46Z","edited_at":null,"crossposted_at":"2026-04-19T13:53:55Z","published_at":"2026-04-19T01:17:31Z","last_comment_at":"2026-04-19T01:17:31Z","reading_time_minutes":13,"tag_list":["googleadk","multiagent","gemini","a2a"],"tags":"googleadk, multiagent, gemini, a2a","user":{"name":"xbill","username":"xbill","twitter_username":null,"github_username":"xbill9","user_id":3490099,"website_url":"https://g.dev/xbill","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3490099%2Fc6a975d0-cd94-485d-82b1-14ed5b344fcf.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3490099%2Fc6a975d0-cd94-485d-82b1-14ed5b344fcf.jpg"},"organization":{"name":"Google Developer Experts","username":"gde","slug":"gde","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11939%2Fe3080d5b-ecde-42a8-b089-bafecc31fa97.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11939%2Fe3080d5b-ecde-42a8-b089-bafecc31fa97.png"}}]