[{"type_of":"article","id":3442049,"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 24","slug":"what-was-your-win-this-week-8ep","path":"/devteam/what-was-your-win-this-week-8ep","url":"https://dev.to/devteam/what-was-your-win-this-week-8ep","comments_count":56,"public_reactions_count":41,"collection_id":null,"published_timestamp":"2026-04-24T13:00:00Z","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%2Flbnhqb24wb6f47ai9hoy.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%2Flbnhqb24wb6f47ai9hoy.jpg","canonical_url":"https://dev.to/devteam/what-was-your-win-this-week-8ep","created_at":"2026-04-01T19:26:15Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-24T13:00:00Z","last_comment_at":"2026-04-26T06:42:55Z","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":3545694,"title":"I'm Running Gemini as an Autonomous Coding Agent. Here's What It Can't Do and Which NEXT '26 Announcements Would Fix It.","description":"This is a submission for the Google Cloud NEXT Writing Challenge  I'm running something called The...","readable_publish_date":"Apr 24","slug":"im-running-gemini-as-an-autonomous-coding-agent-heres-what-it-cant-do-and-which-next-26-6p2","path":"/ai_made_tools/im-running-gemini-as-an-autonomous-coding-agent-heres-what-it-cant-do-and-which-next-26-6p2","url":"https://dev.to/ai_made_tools/im-running-gemini-as-an-autonomous-coding-agent-heres-what-it-cant-do-and-which-next-26-6p2","comments_count":9,"public_reactions_count":14,"collection_id":null,"published_timestamp":"2026-04-24T10:39:57Z","language":"en","subforem_id":1,"positive_reactions_count":14,"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%2Fyabuv7ktq97b2p8eh5ny.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%2Fyabuv7ktq97b2p8eh5ny.png","canonical_url":"https://dev.to/ai_made_tools/im-running-gemini-as-an-autonomous-coding-agent-heres-what-it-cant-do-and-which-next-26-6p2","created_at":"2026-04-24T10:39:57Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-24T10:39:57Z","last_comment_at":"2026-04-25T10:46:49Z","reading_time_minutes":7,"tag_list":["devchallenge","cloudnextchallenge","googlecloud"],"tags":"devchallenge, cloudnextchallenge, googlecloud","user":{"name":"Joske Vermeulen","username":"ai_made_tools","twitter_username":null,"github_username":null,"user_id":3826720,"website_url":"https://www.aimadetools.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%2F3826720%2Fae1f6683-395f-4709-ba99-2212323b958e.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%2F3826720%2Fae1f6683-395f-4709-ba99-2212323b958e.png"}},{"type_of":"article","id":3547453,"title":"The Vonage Dev Discussion: Making mistakes","description":"Nobody is perfect! Even the most seasoned developers have made mistakes – it’s all just part of the...","readable_publish_date":"Apr 24","slug":"the-vonage-dev-discussion-making-mistakes-32mc","path":"/vonagedev/the-vonage-dev-discussion-making-mistakes-32mc","url":"https://dev.to/vonagedev/the-vonage-dev-discussion-making-mistakes-32mc","comments_count":9,"public_reactions_count":17,"collection_id":38315,"published_timestamp":"2026-04-24T20:01:26Z","language":"en","subforem_id":1,"positive_reactions_count":17,"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%2Fqlo2wdgcln6mdf1i6l0t.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%2Fqlo2wdgcln6mdf1i6l0t.png","canonical_url":"https://dev.to/vonagedev/the-vonage-dev-discussion-making-mistakes-32mc","created_at":"2026-04-24T20:01:26Z","edited_at":"2026-04-24T20:01:57Z","crossposted_at":null,"published_at":"2026-04-24T20:01:26Z","last_comment_at":"2026-04-25T20:44:20Z","reading_time_minutes":1,"tag_list":["security","discuss","python"],"tags":"security, discuss, python","user":{"name":"Liz Acosta","username":"lizzzzz","twitter_username":null,"github_username":"liz-acosta","user_id":520299,"website_url":"https://linktr.ee/liz.acosta","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%2F520299%2F38de40f4-43b2-4a0d-a7cc-2fa6494ac4b3.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%2F520299%2F38de40f4-43b2-4a0d-a7cc-2fa6494ac4b3.png"},"organization":{"name":"Vonage Developers","username":"vonagedev","slug":"vonagedev","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%2F378%2F555ac53a-0535-46ae-8d35-c875f44eb774.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%2F378%2F555ac53a-0535-46ae-8d35-c875f44eb774.jpg"},"flare_tag":{"name":"discuss","bg_color_hex":"#71EA8B","text_color_hex":"#FFFFFF"}},{"type_of":"article","id":3547488,"title":"The Hidden Challenge of Multi-LLM Context Management","description":"Why token counting isn't a solved problem when building across providers   Building AI...","readable_publish_date":"Apr 24","slug":"the-hidden-challenge-of-multi-llm-context-management-1pbh","path":"/backboardio/the-hidden-challenge-of-multi-llm-context-management-1pbh","url":"https://dev.to/backboardio/the-hidden-challenge-of-multi-llm-context-management-1pbh","comments_count":1,"public_reactions_count":8,"collection_id":null,"published_timestamp":"2026-04-24T20:19:51Z","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%2Fbx9bwjw9hhkphkf27tsp.png","canonical_url":"https://dev.to/backboardio/the-hidden-challenge-of-multi-llm-context-management-1pbh","created_at":"2026-04-24T20:19:51Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-24T20:19:51Z","last_comment_at":"2026-04-25T12:42:59Z","reading_time_minutes":2,"tag_list":["ai","webdev","programming","llm"],"tags":"ai, webdev, programming, llm","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"},"organization":{"name":"Backboard.io","username":"backboardio","slug":"backboardio","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%2F12706%2F4a562173-03b2-4c28-9be4-32f3e22f5474.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%2F12706%2F4a562173-03b2-4c28-9be4-32f3e22f5474.png"}},{"type_of":"article","id":3542971,"title":"Congrats to the April Fools Challenge Winners!!","description":"We asked you to build something completely useless and you delivered.   The DEV April Fools Challenge...","readable_publish_date":"Apr 23","slug":"congrats-to-the-april-fools-challenge-winners-l8f","path":"/devteam/congrats-to-the-april-fools-challenge-winners-l8f","url":"https://dev.to/devteam/congrats-to-the-april-fools-challenge-winners-l8f","comments_count":13,"public_reactions_count":45,"collection_id":null,"published_timestamp":"2026-04-23T20:47:21Z","language":"en","subforem_id":1,"positive_reactions_count":45,"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%2Ftjld3057pg3xd4cc89lh.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%2Ftjld3057pg3xd4cc89lh.png","canonical_url":"https://dev.to/devteam/congrats-to-the-april-fools-challenge-winners-l8f","created_at":"2026-04-23T20:41:19Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-23T20:47:21Z","last_comment_at":"2026-04-24T18:22:40Z","reading_time_minutes":2,"tag_list":["devchallenge","418challenge","jokes"],"tags":"devchallenge, 418challenge, jokes","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":"jokes","bg_color_hex":"#F6298C","text_color_hex":"#FFFFFF"}},{"type_of":"article","id":3550863,"title":"Instructions. Skills. Tools. How Google Embedded Skills Into Every Layer of Its Agent Stack","description":"Agent Skills Adoption    Prompt Bloat has a name and a fix. Skills are now load-bearing...","readable_publish_date":"Apr 25","slug":"instructions-skills-tools-how-google-embedded-skills-into-every-layer-of-its-agent-stack-5415","path":"/gde/instructions-skills-tools-how-google-embedded-skills-into-every-layer-of-its-agent-stack-5415","url":"https://dev.to/gde/instructions-skills-tools-how-google-embedded-skills-into-every-layer-of-its-agent-stack-5415","comments_count":0,"public_reactions_count":5,"collection_id":null,"published_timestamp":"2026-04-25T19:05:22Z","language":"en","subforem_id":1,"positive_reactions_count":5,"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%2Fno3f5hvk3uet7jq4xjkp.png","canonical_url":"https://medium.com/google-cloud/instructions-skills-tools-how-google-embedded-skills-into-every-layer-of-its-agent-stack-360f7ac473cd","created_at":"2026-04-25T18:42:08Z","edited_at":null,"crossposted_at":"2026-04-25T19:05:22Z","published_at":"2026-04-25T18:30:55Z","last_comment_at":"2026-04-25T18:30:55Z","reading_time_minutes":11,"tag_list":["googleadk","googleagentplatform","enterpriseaistrategy","geminienterprise"],"tags":"googleadk, googleagentplatform, enterpriseaistrategy, geminienterprise","user":{"name":"Sonika Janagill","username":"sonikaj","twitter_username":null,"github_username":null,"user_id":2971186,"website_url":"https://sonikajanagill.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%2F2971186%2F2b70c221-9ccf-44eb-8392-154fcbc25a74.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%2F2971186%2F2b70c221-9ccf-44eb-8392-154fcbc25a74.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":3530673,"title":"How to use AI to identify and fix security vulnerabilities in your codebase","description":"Meta: Understand the common code-based security vulnerabilities, from SQL injection to XSS, and how...","readable_publish_date":"Apr 22","slug":"how-to-use-ai-to-identify-and-fix-security-vulnerabilities-in-your-codebase-4na2","path":"/coderabbitai/how-to-use-ai-to-identify-and-fix-security-vulnerabilities-in-your-codebase-4na2","url":"https://dev.to/coderabbitai/how-to-use-ai-to-identify-and-fix-security-vulnerabilities-in-your-codebase-4na2","comments_count":0,"public_reactions_count":5,"collection_id":null,"published_timestamp":"2026-04-22T09:40:52Z","language":"en","subforem_id":1,"positive_reactions_count":5,"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%2Fh7ijw8unazlc8wzyrxjs.png","canonical_url":"https://dev.to/coderabbitai/how-to-use-ai-to-identify-and-fix-security-vulnerabilities-in-your-codebase-4na2","created_at":"2026-04-21T08:05:41Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-22T09:40:52Z","last_comment_at":"2026-04-22T09:40:52Z","reading_time_minutes":9,"tag_list":["ai","security","vulnerabilities","code"],"tags":"ai, security, vulnerabilities, code","user":{"name":"Damilola Oshungboye","username":"thatcoolguy","twitter_username":"thatc0olguyy","github_username":"ThatCoolGuyyy","user_id":173379,"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%2F173379%2Fdf729b12-338b-41e6-9b7d-e9e17bdb741b.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%2F173379%2Fdf729b12-338b-41e6-9b7d-e9e17bdb741b.JPEG"},"organization":{"name":"CodeRabbit","username":"coderabbitai","slug":"coderabbitai","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%2F7167%2F3c5e8773-7cea-46a9-ae16-841eb6b29b19.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%2F7167%2F3c5e8773-7cea-46a9-ae16-841eb6b29b19.png"}},{"type_of":"article","id":3548206,"title":"Building MCP Apps with Angular","description":"If you've been building MCP servers, you know the drill: your tool returns JSON, the host renders it...","readable_publish_date":"Apr 25","slug":"building-mcp-apps-with-angular-3849","path":"/dalenguyen/building-mcp-apps-with-angular-3849","url":"https://dev.to/dalenguyen/building-mcp-apps-with-angular-3849","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-25T03:43:44Z","language":"en","subforem_id":1,"positive_reactions_count":0,"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%2Fldrhhek1qdln5a5up989.png","canonical_url":"https://dev.to/dalenguyen/building-mcp-apps-with-angular-3849","created_at":"2026-04-25T03:42:15Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-25T03:43:44Z","last_comment_at":"2026-04-25T03:43:44Z","reading_time_minutes":8,"tag_list":["angular","mcp","typescript","vite"],"tags":"angular, mcp, typescript, vite","user":{"name":"Dale Nguyen","username":"dalenguyen","twitter_username":null,"github_username":"dalenguyen","user_id":182614,"website_url":"https://dalenguyen.me","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%2F182614%2Fc2a1f0d0-ca0f-4892-9dd5-9b701476ccf3.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%2F182614%2Fc2a1f0d0-ca0f-4892-9dd5-9b701476ccf3.jpeg"}},{"type_of":"article","id":3547887,"title":"How to make OpenClaw just work","description":"This is a submission for the OpenClaw Writing Challenge           Intro   In this article, I want to...","readable_publish_date":"Apr 25","slug":"how-to-make-openclaw-just-work-2lm1","path":"/angeluz07/how-to-make-openclaw-just-work-2lm1","url":"https://dev.to/angeluz07/how-to-make-openclaw-just-work-2lm1","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-25T04:35:01Z","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%2Fv6z02h4z8l6h4jodqyt4.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%2Fv6z02h4z8l6h4jodqyt4.png","canonical_url":"https://dev.to/angeluz07/how-to-make-openclaw-just-work-2lm1","created_at":"2026-04-25T00:24:18Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-25T04:35:01Z","last_comment_at":"2026-04-25T04:35:01Z","reading_time_minutes":4,"tag_list":["devchallenge","openclawchallenge","tutorial","howto"],"tags":"devchallenge, openclawchallenge, tutorial, howto","user":{"name":"Angeluz-07","username":"angeluz07","twitter_username":null,"github_username":"Angeluz-07","user_id":185114,"website_url":"https://www.linkedin.com/in/rmena7/","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%2F185114%2F1286e19b-5f70-485a-9204-870f32190c66.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%2F185114%2F1286e19b-5f70-485a-9204-870f32190c66.png"}},{"type_of":"article","id":3548562,"title":"Remade the 1991 Classic \"Gorillas\" in Python—and Survived the Snapcraft Journey","description":"The Nostalgia Hit 🍌    Remember the two gorillas standing on a skyline, tossing exploding bananas at...","readable_publish_date":"Apr 25","slug":"remade-the-1991-classic-gorillas-in-python-and-survived-the-snapcraft-journey-2nfp","path":"/davdomin/remade-the-1991-classic-gorillas-in-python-and-survived-the-snapcraft-journey-2nfp","url":"https://dev.to/davdomin/remade-the-1991-classic-gorillas-in-python-and-survived-the-snapcraft-journey-2nfp","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-25T06:06:15Z","language":"en","subforem_id":1,"positive_reactions_count":0,"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%2F87t29km5iirb342mrz6i.png","canonical_url":"https://dev.to/davdomin/remade-the-1991-classic-gorillas-in-python-and-survived-the-snapcraft-journey-2nfp","created_at":"2026-04-25T06:06:15Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-25T06:06:15Z","last_comment_at":"2026-04-25T06:06:15Z","reading_time_minutes":1,"tag_list":["python","pygame","linux","showdev"],"tags":"python, pygame, linux, showdev","user":{"name":"David Dominguez","username":"davdomin","twitter_username":"davdomin","github_username":"davdomin","user_id":171140,"website_url":"https://davdomin.blogspot.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%2F171140%2F1ff61e51-b150-4bad-afec-0daa1d9620ba.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%2F171140%2F1ff61e51-b150-4bad-afec-0daa1d9620ba.png"},"flare_tag":{"name":"showdev","bg_color_hex":"#091b47","text_color_hex":"#b2ffe1"}},{"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":21,"public_reactions_count":145,"collection_id":null,"published_timestamp":"2026-04-22T14:09:18Z","language":"en","subforem_id":1,"positive_reactions_count":145,"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-26T09:14:27Z","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":3548092,"title":"How to Filter and Sort Posts by Custom Field Value Using JetSmartFilters + Bricks Builder","description":"A step-by-step guide to wiring JetSmartFilters radio filter with Bricks Builder query loop to filter and sort posts by numeric custom field value — including all the non-obvious gotchas around hook priority, POST data structure, and JSF query variable naming.","readable_publish_date":"Apr 25","slug":"how-to-filter-and-sort-posts-by-custom-field-value-using-jetsmartfilters-bricks-builder-57an","path":"/muazzami/how-to-filter-and-sort-posts-by-custom-field-value-using-jetsmartfilters-bricks-builder-57an","url":"https://dev.to/muazzami/how-to-filter-and-sort-posts-by-custom-field-value-using-jetsmartfilters-bricks-builder-57an","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-25T02:45: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%2Fwp.muazzam.dev%2Fwp-content%2Fuploads%2F2026%2F04%2Fjet-smart-filters.jpeg","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fwp.muazzam.dev%2Fwp-content%2Fuploads%2F2026%2F04%2Fjet-smart-filters.jpeg","canonical_url":"https://dev.to/muazzami/how-to-filter-and-sort-posts-by-custom-field-value-using-jetsmartfilters-bricks-builder-57an","created_at":"2026-04-25T02:45:19Z","edited_at":"2026-04-25T02:48:31Z","crossposted_at":null,"published_at":"2026-04-25T02:45:19Z","last_comment_at":"2026-04-25T02:45:19Z","reading_time_minutes":5,"tag_list":["wordpress","jetsmartfilters","bricksbuilder","php"],"tags":"wordpress, jetsmartfilters, bricksbuilder, php","user":{"name":"Muazzam","username":"muazzami","twitter_username":null,"github_username":"muazzami","user_id":151435,"website_url":"https://muazzam.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%2F151435%2F44dc0c44-7eec-433e-b494-e84d8c7a0ffc.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%2F151435%2F44dc0c44-7eec-433e-b494-e84d8c7a0ffc.jpeg"}},{"type_of":"article","id":3548119,"title":"I built a shell script that sets up your entire AI coding agent workspace in 2 minutes","description":"Stop repeating yourself to Claude Code and Codex. One script generates CLAUDE.md, AGENTS.md, security rules, testing strategy, and module specs — customized for your stack.","readable_publish_date":"Apr 25","slug":"i-built-a-shell-script-that-sets-up-your-entire-ai-coding-agent-workspace-in-2-minutes-13ep","path":"/shad_tech/i-built-a-shell-script-that-sets-up-your-entire-ai-coding-agent-workspace-in-2-minutes-13ep","url":"https://dev.to/shad_tech/i-built-a-shell-script-that-sets-up-your-entire-ai-coding-agent-workspace-in-2-minutes-13ep","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-25T02:52:00Z","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%2Fraw.githubusercontent.com%2Fshadkhan%2FAI-agents-template-builder%2Fe859e0f6a104854c78f25a2c2f6705f336377329%2Fagent_template_system.svg","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fshadkhan%2FAI-agents-template-builder%2Fe859e0f6a104854c78f25a2c2f6705f336377329%2Fagent_template_system.svg","canonical_url":"https://github.com/shadkhan/AI-agents-template-builder","created_at":"2026-04-25T03:02:46Z","edited_at":"2026-04-25T03:15:10Z","crossposted_at":null,"published_at":"2026-04-25T02:52:00Z","last_comment_at":"2026-04-25T02:52:00Z","reading_time_minutes":6,"tag_list":["ai","productivity","devtools","opensource"],"tags":"ai, productivity, devtools, opensource","user":{"name":"Shadab Khan","username":"shad_tech","twitter_username":"shad_tech","github_username":"shadkhan","user_id":9291,"website_url":"https://shadkhan.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%2F9291%2F0WLvbAhG.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%2F9291%2F0WLvbAhG.jpeg"}},{"type_of":"article","id":3547485,"title":"Why LLM Reasoning Is Breaking AI Infrastructure (And How to Fix It)","description":"If you've tried building anything serious on top of large language models (LLMs) recently, you've...","readable_publish_date":"Apr 24","slug":"why-llm-reasoning-is-breaking-ai-infrastructure-and-how-to-fix-it-2aik","path":"/backboardio/why-llm-reasoning-is-breaking-ai-infrastructure-and-how-to-fix-it-2aik","url":"https://dev.to/backboardio/why-llm-reasoning-is-breaking-ai-infrastructure-and-how-to-fix-it-2aik","comments_count":1,"public_reactions_count":9,"collection_id":null,"published_timestamp":"2026-04-24T20:18:05Z","language":"en","subforem_id":1,"positive_reactions_count":9,"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%2F8idq4d87y2ft0pxohaw5.png","canonical_url":"https://dev.to/backboardio/why-llm-reasoning-is-breaking-ai-infrastructure-and-how-to-fix-it-2aik","created_at":"2026-04-24T20:18:05Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-24T20:18:05Z","last_comment_at":"2026-04-25T03:37:33Z","reading_time_minutes":3,"tag_list":["ai","webdev","programming","machinelearning"],"tags":"ai, webdev, programming, machinelearning","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"},"organization":{"name":"Backboard.io","username":"backboardio","slug":"backboardio","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%2F12706%2F4a562173-03b2-4c28-9be4-32f3e22f5474.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%2F12706%2F4a562173-03b2-4c28-9be4-32f3e22f5474.png"}},{"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":3539136,"title":"I built a minimal timing game for iOS without retention mechanics. Here’s why","description":"I shipped Gapshot a few weeks ago. It's a small iOS arcade game one tap, rotating rings, you try to...","readable_publish_date":"Apr 23","slug":"i-built-a-mobile-game-without-retention-mechanics-heres-why-4941","path":"/fjmorant/i-built-a-mobile-game-without-retention-mechanics-heres-why-4941","url":"https://dev.to/fjmorant/i-built-a-mobile-game-without-retention-mechanics-heres-why-4941","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-23T05:05:33Z","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%2Fg21pwomxbrd3pgrbevqh.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%2Fg21pwomxbrd3pgrbevqh.png","canonical_url":"https://dev.to/fjmorant/i-built-a-mobile-game-without-retention-mechanics-heres-why-4941","created_at":"2026-04-23T04:57:57Z","edited_at":"2026-04-23T22:14:11Z","crossposted_at":null,"published_at":"2026-04-23T05:05:33Z","last_comment_at":"2026-04-23T05:05:33Z","reading_time_minutes":3,"tag_list":["gamedev","ios","mobile","showdev"],"tags":"gamedev, ios, mobile, showdev","user":{"name":"Javier Morant","username":"fjmorant","twitter_username":"fjmorant","github_username":null,"user_id":173991,"website_url":"https://www.devpromptly.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%2F173991%2F9e096a96-c4a8-4b08-a9c8-f832e3fae362.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%2F173991%2F9e096a96-c4a8-4b08-a9c8-f832e3fae362.png"},"flare_tag":{"name":"showdev","bg_color_hex":"#091b47","text_color_hex":"#b2ffe1"}},{"type_of":"article","id":3534061,"title":"How I Built an AI Agent That Investigates Cloud Bill Spikes (Architecture Inside)","description":"I built Ghost-hunter, an AI agent that investigates cloud bill spikes the way a senior on-call...","readable_publish_date":"Apr 22","slug":"how-i-built-an-ai-agent-that-investigates-cloud-bill-spikes-architecture-inside-113p","path":"/nash_matrixgard/how-i-built-an-ai-agent-that-investigates-cloud-bill-spikes-architecture-inside-113p","url":"https://dev.to/nash_matrixgard/how-i-built-an-ai-agent-that-investigates-cloud-bill-spikes-architecture-inside-113p","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-22T02:48:26Z","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%2Ftjb9iuir7ghsamqw83do.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%2Ftjb9iuir7ghsamqw83do.jpg","canonical_url":"https://matrixgard.com/blog/ghost-hunter-ai-investigator-cloud-bill-spikes","created_at":"2026-04-22T02:42:45Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-22T02:48:26Z","last_comment_at":"2026-04-22T02:48:26Z","reading_time_minutes":8,"tag_list":["aws","devops","ai","cloud"],"tags":"aws, devops, ai, cloud","user":{"name":"avinash","username":"nash_matrixgard","twitter_username":"saavinash","github_username":null,"user_id":172992,"website_url":"https://matrixgard.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%2F172992%2F0b71be65-0614-4072-9235-58b9f5c10786.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%2F172992%2F0b71be65-0614-4072-9235-58b9f5c10786.png"}},{"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":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":3542818,"title":"How My Coworker Who Didn't Know 'cd' Shipped to Production","description":"The agent isn't the hard part. The scaffolding around it is. Here's how we built ours so a non-engineer could ship to production safely.","readable_publish_date":"Apr 23","slug":"how-my-coworker-who-didnt-know-cd-shipped-to-production-3j6j","path":"/mattstratton/how-my-coworker-who-didnt-know-cd-shipped-to-production-3j6j","url":"https://dev.to/mattstratton/how-my-coworker-who-didnt-know-cd-shipped-to-production-3j6j","comments_count":13,"public_reactions_count":16,"collection_id":null,"published_timestamp":"2026-04-23T20:30:39Z","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%2Fhuq5hzde2dcbh58cle1i.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%2Fhuq5hzde2dcbh58cle1i.png","canonical_url":"https://dev.to/mattstratton/how-my-coworker-who-didnt-know-cd-shipped-to-production-3j6j","created_at":"2026-04-23T19:39:32Z","edited_at":"2026-04-24T15:10:26Z","crossposted_at":null,"published_at":"2026-04-23T20:30:39Z","last_comment_at":"2026-04-25T12:30:12Z","reading_time_minutes":9,"tag_list":["webdev","ai","devops","productivity"],"tags":"webdev, ai, devops, productivity","user":{"name":"Matty Stratton","username":"mattstratton","twitter_username":"mattstratton","github_username":"mattstratton","user_id":38834,"website_url":"https://www.mattstratton.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%2F38834%2F68a98062-d7f1-4797-8a79-a34d8d217a27.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%2F38834%2F68a98062-d7f1-4797-8a79-a34d8d217a27.jpg"}},{"type_of":"article","id":3533192,"title":"Installing pygame for IDLE on Mac","description":"Step-by-step guide for installing the pygame module for Python to work with IDLE on a Mac.","readable_publish_date":"Apr 21","slug":"installing-pygame-for-idle-on-mac-28kb","path":"/paxfeline/installing-pygame-for-idle-on-mac-28kb","url":"https://dev.to/paxfeline/installing-pygame-for-idle-on-mac-28kb","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-21T19:13:08Z","language":"en","subforem_id":1,"positive_reactions_count":0,"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%2Frw6bote8svquwyqxcojx.png","canonical_url":"https://dev.to/paxfeline/installing-pygame-for-idle-on-mac-28kb","created_at":"2026-04-21T19:12:57Z","edited_at":"2026-04-22T01:21:08Z","crossposted_at":null,"published_at":"2026-04-21T19:13:08Z","last_comment_at":"2026-04-21T19:13:08Z","reading_time_minutes":2,"tag_list":["beginners","gamedev","python","tutorial"],"tags":"beginners, gamedev, python, tutorial","user":{"name":"David Newberry","username":"paxfeline","twitter_username":null,"github_username":"paxfeline","user_id":86500,"website_url":"http://grokprogramming.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%2F86500%2F37e61e50-8cc5-4eb1-86b5-dd7f1893fe0e.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%2F86500%2F37e61e50-8cc5-4eb1-86b5-dd7f1893fe0e.jpeg"}},{"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":3545851,"title":"A Practical Guide to Flutter Accessibility Part 2: Hiding Noise, Exposing Actions","description":"In Part 1 you learned the basics. Semantics for labels and hints. MergeSemantics to remove double...","readable_publish_date":"Apr 24","slug":"a-practical-guide-to-flutter-accessibility-part-2-hiding-noise-exposing-actions-2f7i","path":"/gdg/a-practical-guide-to-flutter-accessibility-part-2-hiding-noise-exposing-actions-2f7i","url":"https://dev.to/gdg/a-practical-guide-to-flutter-accessibility-part-2-hiding-noise-exposing-actions-2f7i","comments_count":2,"public_reactions_count":14,"collection_id":null,"published_timestamp":"2026-04-24T11:14:27Z","language":"en","subforem_id":1,"positive_reactions_count":14,"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%2Fizmvg7j6pek0e0jovaxk.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%2Fizmvg7j6pek0e0jovaxk.webp","canonical_url":"https://www.thedroidsonroids.com/blog/flutter-accessibility-guide-part-2","created_at":"2026-04-24T11:14:28Z","edited_at":"2026-04-24T11:14:57Z","crossposted_at":null,"published_at":"2026-04-24T11:14:27Z","last_comment_at":"2026-04-25T22:35:08Z","reading_time_minutes":7,"tag_list":["flutter","a11y","mobile","dart"],"tags":"flutter, a11y, mobile, dart","user":{"name":"Karol Wrótniak","username":"koral","twitter_username":"karol_wrotniak","github_username":"koral--","user_id":436368,"website_url":"https://koral.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%2F436368%2Fc7788f68-8ad1-4589-8dc5-a4abc12fca33.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%2F436368%2Fc7788f68-8ad1-4589-8dc5-a4abc12fca33.jpeg"},"organization":{"name":"Google Developer Group","username":"gdg","slug":"gdg","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%2F12748%2Fe3cbcad3-4749-4461-ad88-4b9b8cde89ec.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%2F12748%2Fe3cbcad3-4749-4461-ad88-4b9b8cde89ec.png"}},{"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":46,"collection_id":null,"published_timestamp":"2026-04-20T17:02:34Z","language":"en","subforem_id":1,"positive_reactions_count":46,"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-24T06:54:24Z","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":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":3539518,"title":"I let a kosher lobster run my Shabbat automations","description":"What I built   I run an Orthodox Jewish household. That means twenty-five hours a week,...","readable_publish_date":"Apr 23","slug":"i-let-a-kosher-lobster-run-my-shabbat-automations-5aln","path":"/bengreenberg/i-let-a-kosher-lobster-run-my-shabbat-automations-5aln","url":"https://dev.to/bengreenberg/i-let-a-kosher-lobster-run-my-shabbat-automations-5aln","comments_count":5,"public_reactions_count":11,"collection_id":null,"published_timestamp":"2026-04-23T06:22:18Z","language":"en","subforem_id":1,"positive_reactions_count":11,"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%2Fz7xrp47km3bovby8weiq.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%2Fz7xrp47km3bovby8weiq.png","canonical_url":"https://dev.to/bengreenberg/i-let-a-kosher-lobster-run-my-shabbat-automations-5aln","created_at":"2026-04-23T06:22:18Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-23T06:22:18Z","last_comment_at":"2026-04-24T14:19:48Z","reading_time_minutes":6,"tag_list":["devchallenge","openclawchallenge"],"tags":"devchallenge, openclawchallenge","user":{"name":"Ben Greenberg","username":"bengreenberg","twitter_username":"hummusonrails","github_username":"hummusonrails","user_id":29526,"website_url":"https://www.hummusonrails.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%2F29526%2Fab3873ff-b15d-48ee-90c2-0006c40df4a1.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%2F29526%2Fab3873ff-b15d-48ee-90c2-0006c40df4a1.jpg"}},{"type_of":"article","id":3541702,"title":"So, what am I doing after 22 years in tech?","description":"A follow-up to What to do in tech after 20 years?*   Two years ago, I was between a rock and a hard...","readable_publish_date":"Apr 23","slug":"so-what-am-i-doing-after-22-years-in-tech-7ic","path":"/phalkmin/so-what-am-i-doing-after-22-years-in-tech-7ic","url":"https://dev.to/phalkmin/so-what-am-i-doing-after-22-years-in-tech-7ic","comments_count":11,"public_reactions_count":36,"collection_id":null,"published_timestamp":"2026-04-23T13:28:40Z","language":"en","subforem_id":1,"positive_reactions_count":36,"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%2Fm3v993gqf46wv6jltobe.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%2Fm3v993gqf46wv6jltobe.webp","canonical_url":"https://dev.to/phalkmin/so-what-am-i-doing-after-22-years-in-tech-7ic","created_at":"2026-04-23T13:25:23Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-23T13:28:40Z","last_comment_at":"2026-04-25T00:39:24Z","reading_time_minutes":7,"tag_list":["discuss","career","watercooler","help"],"tags":"discuss, career, watercooler, help","user":{"name":"Paulo Henrique","username":"phalkmin","twitter_username":null,"github_username":"phalkmin","user_id":1335507,"website_url":"https://phalkmin.me","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%2F1335507%2F03ccda5f-d602-418f-bf40-c9e01a0cfa40.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%2F1335507%2F03ccda5f-d602-418f-bf40-c9e01a0cfa40.jpg"},"flare_tag":{"name":"discuss","bg_color_hex":"#71EA8B","text_color_hex":"#FFFFFF"}},{"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"}}]