Sign in

Pascal Welsch

@pascalwelsch.com
628 followers 247 following 217 posts

Flutter Expert 💙 Follow me for updates on #Flutter and #Dart Co-Founder wiredash.com 💬📈 CTO phntm.xyz 💼 he/him 👩‍❤️‍👨 husband 🇩🇪 Cologne

PostsRepliesMedia
Pascal Welsch @pascalwelsch.com · 19/05/2026
New favorite word: sloppository
120
Pascal Welsch @pascalwelsch.com · 12/05/2026
As early adopter of various Google hardware products let me tell you: Do not buy the Googlebook! If you do, you'll be beta testing an unfinished product which will be discontinued two years later
0100
Pascal Welsch @pascalwelsch.com · 11/02/2026
I just contributed to Wikipedia for the first time in my life 📜
040
Pascal Welsch @pascalwelsch.com · 27/11/2025
My vibe coding setup changes every week. Which tool have I missed this week?
110
Pascal Welsch @pascalwelsch.com · 03/11/2025
Which logging package do you use in your @flutter.dev app / @dart.dev backend/cli?
020
Pascal Welsch @pascalwelsch.com · 12/10/2025
Today I was 11x "absolutely right!"
280
Pascal Welsch @pascalwelsch.com · 08/10/2025
Software projects don't fail, they run out of budget
020
Pascal Welsch @pascalwelsch.com · 06/10/2025
Daily Standup "I worked on ticket 168264." Well, you could have just said nothing.... Just invest 5s of your time and tell what you actually worked on, so I don't have to look this ticket up, because I won't.
010
Pascal Welsch @pascalwelsch.com · 28/09/2025
That was quick, my talk from Fluttercon Berlin is online! www.youtube.com/watch?v=53NL...
youtube.com
Flipping the Testing Pyramid - Pascal Welsch | Fluttercon EU 2025
YouTube video by droidcon & fluttercon
462
Pascal Welsch @pascalwelsch.com · 25/09/2025
Here are my slides of "Flipping the Testing Pyramid" from Fluttercon Berlin about Widget Tests | Robot Tests | Spot docs.google.com/presentation...
docs.google.com
Flipping the testing pyramid
Pascal Welsch Wiredash / PHNTM
100
Pascal Welsch @pascalwelsch.com · 18/09/2025
I was wondering why the QR code tile was "active" all the time until I realized it is actually just the Audible app shining through 😑 #ios26
180
Pascal Welsch @pascalwelsch.com · 11/09/2025
You're absolutely right!
010
Pascal Welsch @pascalwelsch.com · 03/09/2025
I find it odd that we have file extensions. Who thought it is a good idea to squash name and type into a single property?
120
Pascal Welsch @pascalwelsch.com · 26/08/2025
Collegue returns from vacation C: "Which AI tool should I use now? Is cursor still relevant?" P: "No, we all use claude code now." C: "But is it better?" P: "It works in @intellijidea.com" C: "Ok, I'm sold"
110
Pascal Welsch @pascalwelsch.com · 25/08/2025
Years ago, I created a riddle for my wife about her present. Unfortunately, it was to hard. Today, I gave the riddle to ChatGPT, Claude and Gemini. ChatGPT and Gemini got it right. Claude did not. My personal conclusion is that Claude, while very smart, doesn't know about local traditions
010
Pascal Welsch @pascalwelsch.com · 18/08/2025
People don't seem to read articles anymore. Maybe I try substack pascalwelsch.substack.com/p/the-confer...
pascalwelsch.substack.com
Pascal Welsch | Substack
Flutter GDE | CTO at wiredash.com | CTO at phntm.xyz. Click to read Pascal Welsch, a Substack publication. Launched 4 minutes ago.
050
Pascal Welsch @pascalwelsch.com · 18/08/2025
Read why I'm so happy to talk about this topic this year passsy.medium.com/107e0e7fbf26
passsy.medium.com
The Conference Speaker’s Dilemma: Strategy vs. Passion
For 3 years, I’ve been carrying a talk in my laptop bag (about full-app widget testing and Robots) with my favorite topic to discuss, that…
030
Pascal Welsch @pascalwelsch.com · 18/08/2025
I'm talking at fluttercon.dev about "Flipping the Testing Pyramid - Smarter Widget Testing with Spot & Robots"
030
Pascal Welsch @pascalwelsch.com · 15/08/2025
Yup, LLMs are great for reverse-engineering. It reads obfuscated code like humans read non-obfuscated code.
171
Pascal Welsch @pascalwelsch.com · 11/08/2025
It would be so cool if I could add MCPs to Gemini on my Nest Home devices. I would finally be able to add items to my getbring.com shopping list again, all these years after Google kicked them out of Google Assistant
getbring.com
Bring! Die kostenlose Einkaufslisten App für Android und iOS
Die einfache Einkaufsliste ✓ immer dabei ✓ teilen mit Partner & Familie ✓ Über 20 Mio. Nutzer ▷ Vergiss’ den Papierzettel – Hol’ dir Bring! auf alle Geräte
010
Pascal Welsch @pascalwelsch.com · 30/06/2025
I had Matt Damon in my head while reading #ProjectHailMary but Ryan Gosling is kinda refreshing www.youtube.com/watch?v=m08T...
youtube.com
Project Hail Mary - Official Trailer
YouTube video by Amazon MGM Studios
030
Pascal Welsch @pascalwelsch.com · 27/06/2025
You can press D and W in Google Calendar to quickly switch between Day and Week view 😍
000
Pascal Welsch @pascalwelsch.com · 26/06/2025
I thought JSON is way older 🤯
230
Pascal Welsch @pascalwelsch.com · 16/06/2025
Mein talk vom Flutter Day 2024 über Widget Testing mit Spot und Testing Robots ist online 🎉 www.youtube.com/watch?v=AV21...
youtube.com
„Eigentlich reichen Widget-Tests, oder?“ mit Pascal Welsch (Flutter Day 2024)
YouTube video by programmier bar
110
Pascal Welsch @pascalwelsch.com · 12/06/2025
Go outside, touch some grass #outage
440
Pascal Welsch @pascalwelsch.com · 05/06/2025
Perfect start 🏁 #MarioKartWorld #Switch2
050
Pascal Welsch @pascalwelsch.com · 30/05/2025
Dart developers! Quick, what's the output?
210
Pascal Welsch @pascalwelsch.com · 28/05/2025
spot: 0.18 is a huge release 🚛 #Flutter widget testing becomes better with every update pub.dev/packages/spo...
161
Pascal Welsch @pascalwelsch.com · 14/05/2025
Since I spend more and more time in cursor, I ported my personal editor theme (Sweet Pascal) from IntelliJ to VScode. The pastel colors are inspired by Sweet Sweet Canyon from Mario Kart 8
120
Pascal Welsch @pascalwelsch.com · 06/05/2025
Liebes @zdfde.bsky.social, arbeitet ihr schon an Folge 6 oder Staffel 2 von Inside CDU? www.zdf.de/dokus/inside...
zdf.de
Inside CDU
INSIDE CDU ist eine Dokureihe über den Weg der Union zur Macht: Exklusive Einblicke indie innerste Schaltzentrale der Kanzlerpartei.
010
Pascal Welsch @pascalwelsch.com · 15/04/2025
Caution, if you used SpringSimulation in any of your Flutter apps. A breaking change landed today in the beta channel, changing the behaviour. docs.flutter.dev/release/brea...
docs.flutter.dev
Underdamped spring formula changed
The formula for `SpringDescription` changed to correct an earlier error, affecting underdamped springs (damping ratio less than 1).
121
Pascal Welsch @pascalwelsch.com · 24/03/2025
When the "forgot password" function sends you your password in plain text as email 🤦‍♂️ Danke Bezirksregierung Köln @stadt-koeln.de
040
Pascal Welsch @pascalwelsch.com · 22/03/2025
Maybe we should name our flutter source code files <name>.f.dart This way we can easily write cursor rules matching only flutter code
030
Pascal Welsch @pascalwelsch.com · 11/03/2025
Should a HTTP API return all missing fields of a POST request or only the first?
400
Pascal Welsch @pascalwelsch.com · 05/03/2025
Inbox zero 💪
260
Pascal Welsch @pascalwelsch.com · 03/03/2025
Hot take: We don't need swagger code annotations anymore. LLMs can generate API documentations directly from code
040
Pascal Welsch @pascalwelsch.com · 07/02/2025
Had a great Flutter Frankfurt event yesterday at the Miles & More office. Here are my slides about Testing Robots and spot docs.google.com/presentation...
docs.google.com
Spot: Next level widget testing
Pascal Welsch Wiredash / PHNTM
182
Pascal Welsch @pascalwelsch.com · 05/02/2025
Tomorrow, I'm speaking about spot in Frankfurt 🎉
meetup.com
Flutter Meetup @ Miles & More, Thu, Feb 6, 2025, 6:00 PM | Meetup
### Flutter Frankfurt Meetup - February 6th, 2025 🎉 📍 **Location:** Unterschweinstiege 8, 60549 Frankfurt am Main (details below at the end) 🕕 **Time:** 18:00 Join us f
0130
Pascal Welsch @pascalwelsch.com · 30/01/2025
I invested a full day testing cursor.com. I haven't written a single line of code. It was all generated and good 🤯 I was especially amazed by refactorings across the codebase. Faster than me ⚡️ The actual workflow is like reviewing PRs. Suggest a change, review the change. Iterate, land the change.
4231
Pascal Welsch @pascalwelsch.com · 30/01/2025
The @dart.dev package ecosystem should use the .pub TLD way more. Like prisma.pub
110
Pascal Welsch @pascalwelsch.com · 29/01/2025
Kotlin is a great language, loved by million developers. Without macros. Dart will be fine medium.com/dartlang/an-...
medium.com
An update on Dart macros & data serialization
We have invested significant time and resources to prototype macros over the past couple years. Unfortunately, each time we solved a major…
3281
Reposted by Pascal Welsch
flutterdach.bsky.social @flutterdach.bsky.social · 10/01/2025
Hallöchen, es gibt jetzt einen Starterpack für Flutter DACH :)! Bitte kurz Bescheid geben, dann füge ich euch und/oder eure Vorschläge hinzu! go.bsky.app/ND9T2Yz
493
Pascal Welsch @pascalwelsch.com · 07/01/2025
It's one of these days where I was able to resolve a problem with #ChatGPT without having any knowledge in the field. ✅ Fixed a network miss-configuration on macos of a open vpn config file
160
Pascal Welsch @pascalwelsch.com · 03/01/2025
spot 0.17.0 now ships with Jaspr to generate the HTML timeline. Thanks so much @schultek.dev for the migration. github.com/passsy/spot
1101
Pascal Welsch @pascalwelsch.com · 30/12/2024
Making progress. The spot timeline now supports hot-restart for spot developers. This makes it way easier to work with Jaspr It takes Dart ~1.5s to compile the app to JS.
040
Pascal Welsch @pascalwelsch.com · 25/12/2024
We reached the “printer” topic at the family gathering
340
Pascal Welsch @pascalwelsch.com · 25/12/2024
Christmas parallel universes clash 🎄 Apple, Whatsapp, ICE guys vs. Google, Telegram, EV folks
010
Pascal Welsch @pascalwelsch.com · 22/12/2024
I will never again create a website with Squarespace. Why? They prevent pinch-to-zoom in a lightbox on mobile devices. The workaround is to buy a $45 3rd party plugin. What a scam. The issue exists since 2019 forum.squarespace.com/topic/151310...
forum.squarespace.com
Allow pinch-to-zoom for Lightbox images on mobile?
Is it possible to use CSS or other coding to turn on the ability for users to pinch-to-zoom on images in Lightbox view on mobile devices? (It would have to be the usual zoom in/out gestures, in Lightb...
130
Pascal Welsch @pascalwelsch.com · 21/12/2024
#AdventOfCode Day 21. I'm out 🫡
140
Pascal Welsch @pascalwelsch.com · 19/12/2024
Which code style do you prefer? 🤔 Today's #AdventOfCode felt like a challenge in code formatting more than anything. I can't decide which style I like better!
int possibleDesignsCount(
  String design,
  Map<String, int> memo,
  List<String> patterns,
) {
  if (memo.containsKey(design)) {
    return memo[design]!;
  }
  final sum = patterns.filter((it) => design.startsWith(it)).map((it) {
    final remaining = design.substring(it.length);
    if (remaining.isEmpty) return 1;
    return possibleDesignsCount(remaining, memo, patterns);
  }).sum();
  memo[design] = sum;
  return sum;
}int possibleDesignsCount(
  String design,
  Map<String, int> memo,
  List<String> patterns,
) {
  if (memo.containsKey(design)) {
    return memo[design]!;
  }
  final sum = patterns
      .filter((it) => design.startsWith(it))
      .map((it) => switch (design.splitAt(it.length)) {
            [_, final r] when r.isNotEmpty =>
              possibleDesignsCount(r, memo, patterns),
            _ => 1,
          })
      .sum();
  memo[design] = sum;
  return sum;
}int possibleDesignsCount(
  String design,
  Map<String, int> memo,
  List<String> patterns,
) {
  if (memo.containsKey(design)) return memo[design]!;
  return memo[design] = patterns.filter(design.startsWith).map((it) {
    return switch (design.splitAt(it.length)) {
      [_, final r] when r.isNotEmpty => possibleDesignsCount(r, memo, patterns),
      _ => 1,
    };
  }).sum();
}int possibleDesignsCount(
    String design, Map<String, int> memo, List<String> patterns) {
  if (memo.containsKey(design)) return memo[design]!;
  return memo[design] = patterns.filter(design.startsWith).map((it) {
    if (design.splitAt(it.length) case [_, final r] when r.isNotEmpty)
      return possibleDesignsCount(r, memo, patterns);
    else
      return 1;
  }).sum();
}
230