Sign in

German Velasco

@germsvel.com
1.2K followers 48 following 191 posts

💧Elixir and 🔥 Phoenix consultant - germanvelasco.com 🎥 Short tips - elixirstreams.com 🎙 Elixir Friends - elixirfriends.transistor.fm

PostsRepliesMedia
German Velasco @germsvel.com · 08/09/2026
Who's going to @elixirconf.bsky.social in a couple of days? I'd love to meet up! #ElixirLang
430
German Velasco @germsvel.com · 13/08/2026
This blog post by @whatyouhi.de is amazing. The best explanation of GenStage I've seen. andrealeopardi.com/posts/gensta... #ElixirLang
andrealeopardi.com
Elixir's GenStage Demand (a Visual Explainer)
Concurrency gives us more workers; demand tells us when to stop sending them work. This is what I want to point people to when we talk about "demand".
1126
German Velasco @germsvel.com · 05/08/2026
Just published Phoenix 0.12.0! 🎉 Excited for this one because it now supports `aria-label` and `aria-labelledby` Thanks to contributors for making it happen! 🥳 phoenix-test.hexdocs.pm/PhoenixTest....
phoenix-test.hexdocs.pm
PhoenixTest — PhoenixTest v0.12.0
3183
German Velasco @germsvel.com · 03/08/2026
I keep finding that the diverge-then-converge pattern is really helpful with LLMs. So, I wrote a post about it. Hope others find it helpful! ✍️ www.germanvelasco.com/blog/diverge...
germanvelasco.com
Diverge then converge with LLMs
One of the patterns I've found particularly helpful with LLMs is the diverge-then-converge pattern. LLMs excel at both of those things separately, and when we put them together, they are an excellent ...
011
German Velasco @germsvel.com · 31/07/2026
For the first time in a while, I have an opening for new clients (in September). Do you need help with your product, engineering team, or an Elixir/Phoenix project? How I help teams (3 Ps) 👇
germanvelasco.com
German Velasco
Software developer and consultant. Let's build great software together.
162
Reposted by German Velasco
David Bernheisel @david.bernheisel.com · 24/07/2026
Next time you're upgrading Phoenix and you're using AI assistance, try pointing it to elixirstream.dev/gendiff/api and tell me how it goes. cc @steffend.me #ElixirLang
elixirstream.dev
https://elixirstream.dev/gendiff/api
# gendiff — Markdown API for coding agents Generate a diff of a project generator's output between two versions, rendered as Markdown built for LLMs. Fetch one URL, get the diff — no UI needed. ## E...
0164
German Velasco @germsvel.com · 17/07/2026
What are companies in the #ElixirLang space struggling with right now? AI adoption? Finding product-market fit? Team dynamics? Hiring? Something else? (I know there's varied answers, but curious if there are commonalities)
320
German Velasco @germsvel.com · 07/07/2026
I'm not a big fan of the big-upfront-plan approach to work with LLMs. Am I the only one? I wrote a bit about it in www.germanvelasco.com/blog/are-pla...
germanvelasco.com
Are plan files the new 10k-line PRs?
Many people's new way of working with LLMs is to start with an idea, have the LLM create a spec (review and approve that), then have the LLM generate a very detailed plan. At that point, people have t...
121
German Velasco @germsvel.com · 25/06/2026
I finally finished writing the blog post that shares some things I tried (some good, some bad) when creating ExCrap without reading the code. Hope others find it helpful! ✍️ www.germanvelasco.com/blog/i-wrote... #ElixirLang
germanvelasco.com
Reflections on creating ExCrap without looking at the code
I recently published ExCrap, an Elixir library for calculating Change Risk Anti-Patterns scores -- or as they're commonly called CRAP scores. It made for a perfect experiment: creating the library wit...
091
German Velasco @germsvel.com · 23/06/2026
I wrote a post for whenever you have a co-worker who wants to keep dead code around. 

In particular, I love the loss aversion principle that I tried to capture in these two contrasting images in the post.
150
Reposted by German Velasco
Claudio Ortolina @claudio-ortolina.org · 19/06/2026
It was really fun! I tried to ramble as little as possible. My main point was that pi lets me build tools that are tightly integrated, and usable by me and the LLM. It helps me being more effective without relinquishing control.
121
German Velasco @germsvel.com · 19/06/2026
A few weeks ago, I paired with @claudio-ortolina.org where he shared a bit about his AI workflow and how he uses pi, as he walked me through his app to manage his huge (and ever growing) record collection. Thanks again Claudio for pairing! www.elixirstreams.com/ai_files/pai... #ElixirLang
elixirstreams.com
Elixir Streams |> Pairing with Claudio Ortolina on his AI workflow
Elixir and Phoenix tips, courses, and more.
050
German Velasco @germsvel.com · 16/06/2026
Just published a new library to calculate CRAP metrics (I know, that's what it’s called 🤷): change risk anti-patterns. It’s a metric composed of cyclomatic complexity and test coverage. 👇 ex-crap.hexdocs.pm/readme.html #ElixirLang
ex-crap.hexdocs.pm
ExCrap — ex_crap v0.1.0
3174
German Velasco @germsvel.com · 12/06/2026
If we want to build software factories (still an if for me), how can we build good ones? And I don’t know about you, but I think it all comes down to verification. 👇 www.germanvelasco.com/blog/draw-th...
germanvelasco.com
Draw the rest of the ___ owl (software factory edition)
My guess is that most software development teams in the world are at a point where we are drawing the two circles. Those are all the teams where developers use LLMs daily. But then you hear about team...
041
German Velasco @germsvel.com · 09/06/2026
Making the decision to stop writing code by hand a few months ago was the biggest small change I made that helped me see LLMs differently. It took a while, but I finally like programming with them. Wrote a post that shares some thoughts on that 👇 www.germanvelasco.com/blog/stop-wr...
germanvelasco.com
Stop writing code by hand (and feel the friction)
If you're using LLMs in your day-to-day workflow, and you're only using them as assistants that you ask questions of (like a glorified Google in your terminal or IDE), or if you call on them like a ge...
030
German Velasco @germsvel.com · 05/06/2026
A few weeks ago, @tomasztomczyk.bsky.social was kind enough to pair with me and show me his AI workflow. It was an awesome pairing session where he showed me everything, from his new tool (crit), custom skills, commands, workflows, etc. 👇 youtu.be/9c3J4J8U6a8 #ElixirLang #AIFiles
youtu.be
Pairing with Tomasz Tomczyk on his AI Workflow
YouTube video by German Velasco
2121
German Velasco @germsvel.com · 04/06/2026
I recently finished an experiment where I tried to write (and publish) daily, so I wrote a retrospective on it. For those interested 👇 www.germanvelasco.com/blog/daily-w...
germanvelasco.com
Daily writing retrospective
Back in April, I decided to write daily for my newsletter. Up to that point, my newsletter was mostly a delivery mechanism for my blog. But I wanted to change that. I wanted to write more.
280
German Velasco @germsvel.com · 01/05/2026
I've been writing daily in my newsletter for a couple of weeks now. Some days things just come out flowing like I've been meaning to write them for a while. This blog post was one of those (adapted from a daily post). Hope others enjoy it! ✍️ www.germanvelasco.com/blog/pair-pr...
germanvelasco.com
Pair-programming is a cheat code
I had that written on my office whiteboard for a while last year. I had just finished working with a client for over a year where the whole team pair-programmed full-time (we also did a lot of mobbing...
041
German Velasco @germsvel.com · 27/04/2026
PhoenixTest v0.11 is out! Huge thank you to all who contributed 🥳 Changelog: hexdocs.pm/phoenix_test... #ElixirLang
hexdocs.pm
Changelog — PhoenixTest v0.11.1
0121
German Velasco @germsvel.com · 23/04/2026
I decided to write daily (for 30 days) on my newsletter (www.germanvelasco.com#newsletter_f...) I really like writing as a tool to sharpen my thinking. So far, I've talked about sharpening our tools, stacking days, isoquants and isocots lines. If that sounds interesting, join me!
germanvelasco.com
German Velasco
Software developer and consultant. Let's build great software together.
040
German Velasco @germsvel.com · 22/04/2026
After some deliberation, I finally decided to make www.TestingLiveView.com free! I still think it's an amazing resource, but my focus is elsewhere now. So, I wanted to make it a free resource for the community. #ElixirLang
testingliveview.com
Testing LiveView
Test LiveView effectively. Trust your code. Ship confidently.
04715
German Velasco @germsvel.com · 16/04/2026
Anybody interested in pairing with me (and recording) to show how you're using AI in your day-to-day for ElixirStreams? I think there's a lot of siloed information (and hints online). So, I'd love to shed some light with real people showing real usage. #ElixirLang
340
German Velasco @germsvel.com · 26/03/2026
Recorded a couple of tutorials to help onboarding in Harkn, and figured, why not just put them in a docs page? For those interested in Harkn, these are glimpses into how it works too 👇 👀 harkn.app/docs
harkn.app
Harkn
010
German Velasco @germsvel.com · 13/03/2026
Some people ask, why not just email announcements? Email is a great way to distribute them. But you're faced with the blank-cc problem. Wrote a bit more that here 👇 harkn.app/blog/email-v...
harkn.app
Email vs Announcements
001
German Velasco @germsvel.com · 05/03/2026
PhoenixTest v0.10.0 is released! It's got a lot of things, and (I think) none from me! A huge thanks for all who contributed! 🥳 hexdocs.pm/phoenix_test... 📚 Changelog: hexdocs.pm/phoenix_test... #ElixirLang
hexdocs.pm
PhoenixTest — PhoenixTest v0.10.0
1143
German Velasco @germsvel.com · 26/02/2026
I've been thinking (writing is thinking, right?) about why Slack, Discord, etc. are a bad fit for your team's internal announcements. It's not the right medium! More thoughts 👇 harkn.app/blog/slack-v...
harkn.app
Slack vs Announcements
120
Reposted by German Velasco
Lars Wikman @lawik.bsky.social · 30/10/2025
The State of Elixir Survey for 2025 is live! elixir-survey.typeform.com/2025-edition Fill it out if you have any connection to the Elixir ecosystem. It really helps us understand what happens. Curiosum are awesome to run this for the community. #elixirlang
elixir-survey.typeform.com
Curiosum Elixir Survey 2025
Elixir Survey 2025 by Curiosum - a global community survey collecting insights about how developers and teams use Elixir, their favorite tools, challenges, and expectations for the future of the…
42322
German Velasco @germsvel.com · 14/10/2025
Sweet #Ecto datetime helpers? Yes, please! 😄 - ago, from_now, date_add, datetime_add 👨‍🍳🤌 #ElixirLang
3266
German Velasco @germsvel.com · 09/10/2025
Alright... it's all up now 🎉 I walked through the Phoenix 1.8 AGENTS md file, and it was both funny and informative! You can see the full 25 mins of glory or in parts (on the same page) 👇 www.elixirstreams.com/tips/what-ag... #ElixirLang
elixirstreams.com
Elixir Streams |> What agents get wrong!
Elixir and Phoenix tips, courses, and more.
0164
German Velasco @germsvel.com · 02/10/2025
Getting back into recording **short** #ElixirLang video tips by recording a walk-through of @elixirphoenix AGENTS file... It's ~25 mins long. I think I'm rusty 😅
2220
German Velasco @germsvel.com · 02/10/2025
Anybody using #ElixirLang in production and doesn't like their error tracking service/APM service? Would you be willing to jump on a 30 min call today and show me what you like/dislike about it? 🙏
342
Reposted by German Velasco
JEG2 @jeg2.me · 01/10/2025
Don’t let the age of this article from @germsvel.com scare you off, vertically slicing features is still a great idea: www.germanvelasco.com/blog/break-a... #AgileDevelopment
germanvelasco.com
Break apart your features into full-stack slices
Our communication practices can be very disrupting. Remote work has taught me to be more considerate of how I communicate with others. We should treat other people's time as we like ours to be treated...
275
German Velasco @germsvel.com · 18/09/2025
Hypothetically speaking... if I were to build an Elixir-focused error and performance tracking tool, what would you like to see in it? 🧐 #ElixirLang
6111
German Velasco @germsvel.com · 29/08/2025
Leaving @elixirconf.bsky.social , as I usually do, with my heart full. I know some people go for the tech, but I go for the people. Love meeting old and new friends. Thanks for all the hard work organizing the conference!
040
Reposted by German Velasco
Steffen Deusch @steffend.me · 18/08/2025
Phoenix #LiveView 1.1.5 is out now with a new `stream_async` function very similar to github.com/utopos/live_... and a small bugfix for hooks inside of teleported elements! #MyElixirStatus hexdocs.pm/phoenix_live...
hexdocs.pm
Changelog for v1.1 — Phoenix LiveView v1.1.5
1276
Reposted by German Velasco
JEG2 @jeg2.me · 14/08/2025
I'm closing out, for now, my series on questions at the heart of development with an analysis of when we need more abstraction. For example, taking @germsvel.com's advice about architecting more accurate models can reduce future bugs. programmersstone.blog/posts/why-is... #ElixirLang
programmersstone.blog
Why is this hard?
This article is part of the series JEG2's Questions. In a previous article of this series I talked about how we must remain ever vigilant against what is making it into our code. I talked about the ne...
0125
German Velasco @germsvel.com · 12/08/2025
For my @elixirconf.bsky.social talk, I'm comparing #ElixirLang's mocking libraries. It'll be a tournament-style bracket! 🎉 I want to start by introducing the participants! 👇 🧵 What do you think of their characters? 😬
2274
German Velasco @germsvel.com · 01/08/2025
Starting to write my talk for @elixirconf.bsky.social . It's all about mocking libraries in #ElixirLang (idea is for them to duel to see which one is best 😄) These are the libraries I know of: 👉 meck, mock, mox, hammox, mimic, patch, promox, protomock Am I missing any?
3120
German Velasco @germsvel.com · 27/06/2025
There are many benefits to testing, but they're also costly. So, why should they exist? It's a valid question (and something I haven't had to justify in a while, until recently), so I wrote a post that I think captures the core reason. ✍️ www.germanvelasco.com/blog/why-we-... Hope it's helpful!
germanvelasco.com
Why do we write tests?
It's a valid question. Tests, like all other code, are a liability – and therefore, they should earn their right to exist. What's their reason?
031
Reposted by German Velasco
Elixir Radar @elixir-radar.com · 18/06/2025
Elixir Radar issue 475 is out! 📣 You can read it here: buff.ly/oEuZxWu This issue comes with content from ‪@relistan.bsky.social‬ @thatarrowsmith.bsky.social @juanazam.bsky.social @germsvel.com , Marcin Praski, and Karlo Smid. Thank you! #ElixirLang
buff.ly
Elixir Radar 475
052
German Velasco @germsvel.com · 16/06/2025
I recently discovered (or rediscovered) several really cool `mix hex` tasks. Really handy when you need them. 👇 #ElixirLang
2110
German Velasco @germsvel.com · 13/06/2025
Took me a minute to figure out how to update the version of hex itself. 🤔 In case you're on the same boat 👇 mix local.hex 🎉 #ElixirLang
072
German Velasco @germsvel.com · 11/06/2025
Anybody using Neovim with #ElixirLang? Curious about your LSP setup. Do you use mason, mason-lsp, and nvim-lspconfig? Thinking of migrating from vim -> neovim, but this has me stumped.
991
German Velasco @germsvel.com · 14/05/2025
Finally got around to testing LiveDebugger, and I'm soo impressed! 🤯 👉 www.elixirstreams.com/tips/a-quick... #ElixirLang #PhoenixFramework
elixirstreams.com
Elixir Streams |> A quick look at LiveDebugger! 🤯
Elixir and Phoenix tips, courses, and more.
3255
Reposted by German Velasco
Peter Ullrich @peterullrich.com · 09/05/2025
I’m running for the EEF board and would be extremely grateful for your vote: erlef.org/blog/eef/ele...
erlef.org
Erlang Ecosystem Foundation - Supporting the BEAM community
1327
German Velasco @germsvel.com · 07/05/2025
I finally got around to looking at Phoenix 1.8.0-rc! 🥳 👀 A quick(ish) look at the highlights in the official announcement 👇 www.elixirstreams.com/tips/phoenix... #ElixirLang #PhoenixFramework
elixirstreams.com
Elixir Streams |> 🔥 Phoenix 1.8.0-rc is out!
Elixir and Phoenix tips, courses, and more.
0141
Reposted by German Velasco
German Velasco @germsvel.com · 05/05/2025
👋 Know of anybody who needs help with Elixir/Phoenix? Let me know! I have some availability coming up in a few weeks. 📆 #ElixirLang #Phoenix
166
German Velasco @germsvel.com · 05/05/2025
👋 Know of anybody who needs help with Elixir/Phoenix? Let me know! I have some availability coming up in a few weeks. 📆 #ElixirLang #Phoenix
166
German Velasco @germsvel.com · 24/04/2025
DDD is a very interesting topic, but it has a TON of new terminology (and overloaded words). And (I think) most people don't want to read 2 gigantic tomes 📚 to understand the fundamentals (led alone practice it for years for it to sink in). 🧵👇
232
Reposted by German Velasco
Peter Ullrich @peterullrich.com · 23/04/2025
Go get yourself some German Engineering 👍
1101