> Markdown version of [/magazine/421-dev-digest-112-the-true-crime-of-ai-development](https://www.wearedevelopers.com/magazine/421-dev-digest-112-the-true-crime-of-ai-development). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Dev Digest 112 - The True Crime of AI Development **By:** [Chris Heilmann](https://www.wearedevelopers.com/@chris-heilmann) **Published:** April 22, 2024 In last Friday's Dev Digest, we had some great AI news, some worrying security threats and a swipe-aware game in CSS with explanations! ## News and Articles ![__wf_reserved_inherit](https://wearedevelopers.imgix.net/public/magazine/articles/421/images/662607c19683375e06b1a688_results.png?w=720&fit=max&dpr=2&auto=format) Let's kick off with some **AI news**. **Netflix** caused a stir with [AI-generated images in a true crime documentary](https://www.newsbytesapp.com/news/science/netflix-employs-ai-manipulated-images-in-its-crime-documentary/story?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e). Anthropic released a [cookbook for building with Claude](https://github.com/anthropics/anthropic-cookbook?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e). OpenAI [introduced up to 50% discount for asynchronous tasks](https://the-decoder.com/openai-introduces-batch-api-with-up-to-50-discount-for-asynchronous-tasks/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) with the new [Batch API](https://platform.openai.com/docs/api-reference/batch?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e), the **Washington Post** asked people and experts "[What is AI](https://toot.cafe/@simon@simonwillison.net/112245308881721614?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e)" and got lots of different answers and **Google** also did [research amongst developers](https://web.dev/blog/ai-chats-and-takeaways?hl=en&utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e). The first AI software engineer, **Devin** , has been [exposed as not being all that](https://www.youtube.com/watch?v=tNmgmwEtoWE&utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e), and here's [a roundup of popular Open Source AI tools](https://alexsandu.substack.com/p/20-popular-open-source-ai-developer?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) for developers. ![Top attacked industries by HTTP DDoS attacks, by region](https://wearedevelopers.imgix.net/public/magazine/articles/421/images/662607b29683375e06b19bc1_Top-Attacked-Industry-by-Region-Q1-2024.png?w=720&fit=max&dpr=2&auto=format) ‍ In **security** matters, the open source world is worried about more [xz-style attacks](https://www.theregister.com/2024/04/16/xz_style_attacks_continue/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) coming soon and the [OpenJS Foundation had a project takeover attempt](https://thehackernews.com/2024/04/openjs-foundation-targeted-in-potential.html?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) to deal with. The [DDoS threat report for 2024 Q1](https://blog.cloudflare.com/ddos-threat-report-for-2024-q1?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) shows a huge increase of attacks aimed at Sweden after joining NATO. Talking of odd things: [JavaScript execution in PDFs](https://textslashplain.com/2024/04/10/browser-security-bugs-that-arent-javascript-in-pdf/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e)is not a security bug and [cats can be DDoS Attack warning systems](https://www.dannyguo.com/blog/my-cat-alerted-me-to-a-ddos-attack?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e). And in a food for thought section, Jim Nielsen has an interesting piece explaining that [faster connectivity does not equal faster websites](https://blog.jim-nielsen.com/2024/faster-bandwidth-and-websites/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) or - in other words - it is not our user's job to make our products easier to consume. ## Weird code things… ![table](https://wearedevelopers.imgix.net/public/magazine/articles/421/images/6622859b90566bf9565aa4c1_table.gif) The **developer tools console** is the #1 debugging tool of web developers. And yet, most people only use a very [small part of its methods](https://learn.microsoft.com/en-us/microsoft-edge/devtools-guide-chromium/console/api?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e). You can measure, trace, monitor, group messages and many other things. One neat method is[console.table()](https://learn.microsoft.com/en-us/microsoft-edge/devtools-guide-chromium/console/utilities?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e#tabledata-columns) which allows you to display tabular data and filter it. If you want that in Node, you can use [voici.js](https://voici.larswaechter.dev/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) and if you want to see console messages without opening the Developer Tools (or undocking them) you can use [screenlog.js](https://github.com/chinchang/screenlog.js?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e). # Code and Tools ![martijn](https://wearedevelopers.imgix.net/public/magazine/articles/421/images/661cd9b28d99b78ec32cf369_martijn.jpeg?w=720&fit=max&dpr=2&auto=format) **CODE100** will be in Manchester on the **22nd of May** as part of [DTX Manchester](https://www.dtxevents.io/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e)! We are looking for [participants](https://www.wearedevelopers.com/events/code100?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e#ticket-1) and [challengers](https://www.wearedevelopers.com/events/code100-challenger?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e). Head on over to the official [CODE100 web site](https://code100.dev/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) to learn all about it. And if you [have an idea for a challenge](https://forms.gle/Lq7HTcbw8nHfgZyaA?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e), you can tell us about it and win tickets for the WeAreDevelopers World Congress! ![code100-unknown-1](https://wearedevelopers.imgix.net/public/magazine/articles/421/images/661cd9b23bd9ca2264e9cd0b_code100-unknown-1.png?w=720&fit=max&dpr=2&auto=format) ## CODE100 puzzle: Unknown pleasures To celebrate [CODE100](https://code100.dev/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) coming to Manchester, here is our take on the classic [Unknown Pleasures by Joy Division cover](https://puzzles.code100.dev/code100/puzzles/unknown-pleasures/unknown.png?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e). In [this challenge](https://puzzles.code100.dev/puzzles/unknown-pleasures?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) we asked you to return the amount of black or transparent pixels in the image and return it as an integer. The solution is pretty straightforward: The JSON object is a HTML5 canvas representation of the pixels. This [ImageData](https://developer.mozilla.org/en-US/docs/Web/API/ImageData) has its own format: You get the width, the height of the image and the pixels in RGBA. Knowing this, the solution to finding the transparent/black pixels is a simple loop and comparison. In JavaScript, this could be: See the Pen [Unknown Pleasures Solution](https://codepen.io/codepo8/pen/xxeQEQg) by Christian Heilmann ([@codepo8](https://codepen.io/codepo8)) on [CodePen](https://codepen.io). Canvas and pixel manipulation is so much fun. Tools and Code articles Here are the **tools and code bits** for this week. Let's start with tools: - [Madge](https://github.com/pahen/madge?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) generates a visual graph of your module dependencies so you know where you pull in is-number. - [MarkdownDown](https://markdowndown.vercel.app/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) converts any website to markdown, including images - [Reader](https://github.com/jina-ai/reader/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) converts any URL to an LLM-friendly input with a simple prefix - You can [OCR PDFs and images directly in your browser](https://tools.simonwillison.net/ocr?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) using TensorFlow - [Codemate search](https://codemate.bot/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) is a search engine for developers In **JavaScript** , we have: - It's not that straight forward to [access the last JavaScript array element](https://blog.ignacemaes.com/the-easy-way-to-access-the-last-javascript-array-element/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e). - [Set Methods for JavaScript](https://github.com/tc39/proposal-set-methods?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) are coming and sound very Venn-diagrammy… - [A proposal to add a method to sum multiple values to JavaScript](https://github.com/tc39/proposal-math-sum?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) How about some **CSS**? - [Every CSS Animation property](https://www.youtube.com/watch?v=_OEUbgLTWH0&utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) in one video - What if you had [control over Light Mode / Dark Mode](https://www.bram.us/2024/04/13/what-if-you-had-real-control-over-light-mode-dark-mode-on-a-per-site-basis/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) on a per-site basis? - [light-dark()](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/light-dark?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) makes changing styles depending on setting a one-liner. And to **Git** things done: - [The guide to Git I never had](https://medium.com/@jake.page91/the-guide-to-git-i-never-had-a89048d4703a?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) - [Notes on git's error messages](https://jvns.ca/blog/2024/04/10/notes-on-git-error-messages/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) ## Work and Jobs The work world wonders [who wins the AI talent wars](https://www.exponentialview.co/p/ev-467?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) whilst **Sam Altman** explains why [OpenAI might steamroll your AI startup](https://the-decoder.com/sam-altman-explains-why-openai-might-steamroll-your-ai-startup/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e). Enough faux(?) drama to makes us think about the importance of [mental Health in Software Engineering](https://vadimkravcenko.com/shorts/mental-health-in-software-engineering/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) and[](https://vadimkravcenko.com/shorts/mental-health-in-software-engineering/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e)the joy of [building something real in your spare time](https://www.blobstreaming.org/building-something-real-in-your-spare-time/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) that you control. There is an interesting infographic on[software developer salaries around the world](https://twitter.com/sergiorocks/status/1779876063230734839?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e)and let's end this time with a focus on code reviews: [what to say in code reviews](https://read.highgrowthengineer.com/p/exactly-what-to-say-in-code-reviews?r=2bjtip&utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e), how to [improve code reviews with storytelling](https://www.doppler.com/blog/improving-code-reviews-with-storytelling?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e), and the [right mindset if you're the author](https://tmsd.substack.com/p/code-review-the-author-mindset-matters?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e). ## Procrastination Corner / Wonderful Weird Web - [Commodore 64 outperforms IBM's quantum system](https://www.tomshardware.com/tech-industry/quantum-computing/commodore-64-outperforms-ibms-quantum-systems-1-mhz-computer-said-to-be-faster-more-efficient-and-decently-accurate?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) - I knew it! - [Desert Racer](https://dev.to/warkentien2/desert-racer-worlds-first-css-only-swipe-aware-game-4j0h?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) is the world's first swipe-aware CSS game and [Curious Geckos](https://dev.to/warkentien2/curious-geckos-the-most-precise-css-only-position-aware-mini-game-16i2?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e)is the most precise CSS-only Position-Aware one. Each come with detailed explanations how to build them! - [The Ballmer Peak](https://arxiv.org/abs/2404.10002?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) researches the right amount of blood alcohol needed to reach peak developer efficiency. Remember, the [Inebriati](https://www.youtube.com/watch?v=-Zj50DmBFp0&t=2s&utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-9oCmYIgMZfHJpCkJ7UVRyDriQAVX7Um4pLFbz1g_yR7qI9gRT_cXedrbQUYiVwl139oU4e) are watching. ## Related Articles - [Dev Digest 125 - Duck and Cover](https://www.wearedevelopers.com/magazine/462-dev-digest-125-duck-and-cover) - [Dev Digest 123 - Easy as A, B, C1](https://www.wearedevelopers.com/magazine/459-dev-digest-123-easy-as-a-b-c1) - [Dev Digest 130 - The Diablo is in the details](https://www.wearedevelopers.com/magazine/470-dev-digest-130-the-diablo-is-in-the-details) - [Dev Digest 105 - Security First](https://www.wearedevelopers.com/magazine/393-dev-digest-105-security-first) ## Related Videos - [WeAreDevelopers LIVE – Keeping Up with Styles, Data & More](https://www.wearedevelopers.com/videos/1803-wearedevelopers-live-keeping-up-with-styles-data-more) - [WeAreDevelopers LIVE - Dapr / Pixels and Generative Art / Open Source and Communities / and more](https://www.wearedevelopers.com/videos/1720-wearedevelopers-live-dapr-pixels-and-generative-art-open-source-and-communities-and-more) - [Dev Digest End of Year Recap](https://www.wearedevelopers.com/videos/1284-dev-digest-end-of-year-recap) - [WeAreDevelopers LIVE - the weekly developer show with Chris Heilmann and Daniel Cranney](https://www.wearedevelopers.com/videos/1309-wearedevelopers-live-the-weekly-developer-show-with-chris-heilmann-and-daniel-cranney) ## Related Jobs - [Remote Senior Full-Stack Engineer](https://www.wearedevelopers.com/jobs/ext/679408-remote-senior-full-stack-engineer) at **Edge Impulse** - [Remote Senior Full-Stack Engineer](https://www.wearedevelopers.com/jobs/ext/683045-remote-senior-full-stack-engineer) at **Edge Impulse** - [Remote Senior Full-Stack Engineer](https://www.wearedevelopers.com/jobs/ext/645320-remote-senior-full-stack-engineer) at **Edge Impulse** - [Remote Senior Full-Stack Engineer](https://www.wearedevelopers.com/jobs/ext/639235-remote-senior-full-stack-engineer) at **Edge Impulse** - [Remote Senior Full-Stack Engineer](https://www.wearedevelopers.com/jobs/ext/646086-remote-senior-full-stack-engineer) at **Edge Impulse** - [Remote Senior Full-Stack Engineer](https://www.wearedevelopers.com/jobs/ext/356601-remote-senior-full-stack-engineer) at **Edge Impulse**