-
Building the Shipping Container for Developer Toolchains
-
Fluidity as DNA
-
A Tiny Nudge Can Move an Industry
-
What My Family's Cafe Taught Me About B2B Sales
-
Thin Environment Layers for an Agentic Future
-
Cache for any Xcode project
-
AI and the Craft of Building Products
-
Building Bridges, Not Barriers: A Constructive Perspective on International Hiring
-
Substance Over Spectacle: How We Share Tuist
-
Why iOS Teams Are Flying Blind (And How to Fix It)
-
The Case for Dynamic CI Pipelines
-
The Time Investment Paradox: Why Developers Won't Pay for What They Can Build
-
Tuist Is Not What You Think It Is
-
Standards Over Lock-in: Why We're Building Tuist Differently
-
The False Choice Between Enterprise Sales and Great Products
-
Listen to your pools
-
The Two Dimensions of Mobile Development Infrastructure
-
Namespace gets macOS environment DX right
-
Testing your iOS apps at a low cost using LLMs
-
Finding Balance: Hosted Services vs Self-Hosting
-
Selling Developer Tools to Developers is Challenging
-
My Terrible Experience with Germany's Health System
-
On Markets and ICPs
-
You can't build a Grafana
-
Gardens, commerce, and the art of growing something meaningful
-
Local-first AI development for mobile apps
-
The market
-
The coming disruption of Apple developer tooling
-
Agentic native app development
-
Setting up PeerTube with Cloudflare R2 Object Storage
-
Mobile CI will have to redefine itself
-
On mental health
-
On enthusiasm
-
Navigating anxiety
-
Compiler optimizations or speed of delivery
-
Remote macOS Containers as a Service
-
~AI~Vibe-first businesses
-
Full-time entertainers
-
Inviting ecosystems
-
Tuist's plans
-
The commoditization trap: why software needs community to thrive
-
Mobile CI is plateauing
-
Nightly builds are the wrong solution to the right problem
-
Setting up Docker DinD in Forgejo Actions
-
Dogfood if you can
-
Lynx is an invitation for UI frameworks to support mobile development
-
AI as a tool to reduce OSS maintenance costs
-
Own your community
-
China is succeeding at what everyone else is failing at: localization
-
From open source to open core business
-
A Mise formula for Swift Package development
-
If Swift app development teams had the data...
-
CI is commoditizing
-
Science macht besser
-
The missing commoditization
-
Where does the value lie in open-source businesses?
-
Tuist is evolving
-
Whom do you trust?
-
A convention for frictionless reproduction projects with Mise
-
Reverting some social recent behavioural and emotional patterns
-
From CLI to platform
-
Learnings from logging in a Swift CLI
-
Us or them
-
The paradox of OSS
-
If it can be open-source, it'll be open source
-
Programming languages are just tools
-
Growth, growth, growth
-
Setting up a Forgejo runner in Hetzner
-
Tuist is a product
-
Whom do I trust?
-
I am out of X
-
Set up a Woodpecker CI in Hetzner server for your Codeberg account
-
If system APIs where awaitable
-
Concurrent work in non-concurrent brains
-
Small but sexy
-
Brains are complex
-
Makers and takers
-
Monkey brain
-
Licenses, governance, and trademarks in the open-source world
-
A non-concurrent design in a conrurrent world
-
The iPad as a creativity device
-
On taking shortcuts to build communities
-
The missing narrow waist in CI
-
About mental health
-
An intrinsically motivated person in a extrinsically motivated environment
-
Open design
-
Fair Source: Sustainability with no customer risk
-
DX vendor locking
-
Where do I see myself in 10 years?
-
Continuous releases with automated changelog generation
-
Exploring commercial OSS
-
What is urgent?
-
Openness as a tool of trust
-
How synchronized groups work at the .pbxproj level
-
The specified item could not be found in the keychain
-
The best products tell stories
-
Does it need to be in JavaScript?
-
Falling behind
-
When you are open
-
It's a marathon
-
The technology does matter
-
A different company
-
BREAKME.md
-
Parallelism and programming languages
-
Lazy-learning
-
Website redesign
-
Emotional breakdowns
-
Why you need the -ObjC flag
-
Simplicity, standards, and the platform
-
Meeting developers where they are
-
The non-technological open source problem
-
When you become infrastructure
-
Connecting App Signal with Incident.io using Cloudflare Workers
-
Standards, standards, standards
-
Thoughts on Open-Source
-
Transitioning Tuist Cloud from Ruby to Elixir
-
Elixir scales better
-
Gain back attention
-
If I could just parallelize my tests execution
-
On protecting my creative energy
-
Global state is future debt
-
It takes a lot of determination
-
It's not about what, but how
-
JavaScript DX without JavaScript
-
Incremental Xcode workflows across environments
-
AirPods Max died after 2 years
-
Xcode is too magic
-
XCBundles
-
Gifting OSS
-
Global state, CLIs, and test scalability
-
Deterministic tool versions across environments with Mise
-
I'm allergic to complexities
-
Starting therapy next week
-
Open-source and the imposter syndrome
-
I'm sick
-
Type safety but at which cost?
-
JavaScript-owned state and accessibility
-
What if XCTest a concept akin to Elixir's processes?
-
Learning to love the problem and not the solution
-
Implicitness in Xcode and SPM. Why Apple?
-
What I expect from a knowledge management app
-
Swift Packages default to supporting all platforms
-
Swinging back to positivity
-
Open-sourcing the lightning_css Elixir package
-
On mental health
-
3 package managers + 2 build tools = One big mess
-
Peeling layers
-
Ensuring a smooth workshop experience
-
Balancing mastery and sustainability
-
Dear Bitrise
-
Integrating Swift Macros with Xcodeproj native blocks
-
Making Tuist easier to work with by saying goodbye to Ruby
-
From side project to sustainable tool
-
Empowering Development: The Journey and Vision of Tuist
-
Recalibrating Mental Models in Elixir Programming
-
We do it for the community
-
Between Simplicity and Limitations: A Developer's Take on Apple's Tooling Strategy
-
Reclaiming Mental Peace: My Personal Odyssey
-
Exploring Mocking Solutions in Elixir: Introducing Modulex
-
Passion vs. Profit: My Quest for Meaningful Craftsmanship in Tech
-
Tuist: From Passion to Craftsmanship, Charting New Horizons
-
Fixing request/2 is undefined or private with Ueberauth
-
The Power of Concurrency: My Journey Learning Elixir
-
Fixing psych compilation error trying to install Ruby on an Apple M2 laptop
-
An update on the entrepreneurship path
-
Integrating Tailwind into your Swift projects
-
Issues Dockerizing a Vapor project in M2
-
Hitting memory limits deploying Vapor apps to Fly
-
How to Configure VSCode to Use Alternative Shells
-
Generating client secret from Apple's P8 key in Elixir
-
Typescript not loading in Visual Studio Code
-
Iterating on my learning system
-
Static imports with ESM and startup time
-
An explicit build graph with Nx for a better DX
-
Hot-reloading and ESM
-
Growing as a Staff Developer
-
Typing file-system paths in Typescript
-
On learning Elixir
-
On finding passion in devising developer experiences
-
Modular projects, Typescript, and developer experience
-
On embracing my chaos
-
Mitigating 'delete node_modules'
-
But they are developers too
-
CLIs are products too
-
Javascript, ESM, and tools
-
Users don't care about your web app's portable binary
-
OSS and extrinsic motivators
-
Platform-dependent CLIs
-
On evolving opinions
-
Migrated to SvelteKit
-
Adapting to a platform
-
I want to be rich
-
The React chain
-
On cutting off some dopamine dependency
-
Great solutions for the wrong problems
-
Developer platforms and diversity
-
Spain, it's not time to be reunited (yet)
-
A future note to self about Omniauth
-
./dev
-
Seabolt support for M1
-
Some Rust thoughts
-
Planning open-source work
-
Contributors' first experience
-
What I learned as a manager
-
Propose, prototype, and build
-
Back to Jekyll
-
Swinging the pendulum back to engineering
-
Focused Xcode projects
-
On not having focus
-
Tuist 2.0 and next
-
Building mental models
-
ViteJS and Rails
-
Learning Rust
-
Migrating documentation to Docusaurus
-
TailwindCSS or Theme-UI
-
Community-driven and organization-driven open source
-
The role of flexibility in scaling up Xcode projects
-
Open source, people, and happiness
-
Data-driven open source
-
Building Tuist as a platform
-
Tuist and JS bundlers
-
Owning your workflows
-
Focusing on the problems
-
Tuist and the Swift Package Manager
-
Tackling technical debt in Tuist
-
Decision records
-
Scaling up an open-source project
-
The beauty of a standard command line interface
-
Reflecting on 3 years at Shopify
-
My first RFC in the React Native project
-
My tech stack in 2020
-
Sparking joy working with Xcode
-
Tree-shaking Xcode projects
-
Module caching in Xcode projects
-
Growing Tuist's community
-
The exciting adventure of building a web app
-
Generating Typescript code from a GraphQL schema
-
What I like from Ruby and Rails
-
Modularization in open source projects
-
Finding focus
-
Pairing sessions to introduce people to Tuist and open-source
-
Thinking in terms of problems
-
The beauty of not expecting something in return
-
A shift towards product development
-
Transitive React Native dependencies
-
Streamlining app development
-
WWDC's FOMO
-
First thoughts on Sorbet
-
Working on new features or tackling technical debt
-
Add and remove footer using NSBox
-
My first coding video on Youtube
-
To build, or not to build
-
Cognitive overhead
-
Graphed knowledge
-
Catching crashes at launch time on Android React Native apps
-
Control and innovation
-
Anxiety-free working
-
Keeping it simple
-
Diving into Nix
-
We need more crafters
-
A better signing experience in Xcode
-
From iOS engineer to a T-profiled techie
-
Generation of Swift interfaces to access resources
-
A standard CLI for Xcode projects
-
Evolving Tuist's architecture
-
Seeking inmutability
-
Social anxiety
-
Wrapping up 2019
-
Signing with Xcode on CI
-
Moving Pods to Packages
-
Adding bits of reactive programming to Tuist
-
Working on a new website for Tuist
-
Creating experiences
-
I am X
-
Static site generators
-
Better relative paths
-
Project description helpers
-
Abstractions
-
Keeping up with dependencies updates
-
What's coming to Tuist
-
A period of changes
-
Project generation
-
Adding error tracking to a CLI written in Swift
-
Derived Info.plist files
-
Running system tasks with Swift and Foundation
-
All you need is tools (talk)
-
How I feel working on Tuist
-
The tale of Xcode projects' complexity
-
The urge to be the first
-
Speaking at AltConf
-
Abstracting Info.plist files
-
Xcode updates are fun
-
Reliably installing Xcode
-
macOS development and being comfortable
-
Interacting with Xcode projects in Swift
-
Open source and trust
-
Automated tests for a Swift CLI tool with Cucumber
-
Software and people
-
Turning negativism into positivism
-
Deep linking into macOS apps
-
The motivations behind building Tuist
-
Wrapping up 2018 📦
-
All you need is tools 🛠
-
What a psychologist helped me realize
-
GitHub workspaces using email
-
Open source mindfulness
-
Open Source
-
On having focus
-
Hallo Ruby, wie geht's?
-
Thoughtful usage of technology
-
I gave up using Medium
-
The hermeticism and rigidity of Xcode and its projects
-
This app could not be installed at this time
-
Random thoughts a Friday night in Ottawa
-
Wrapping up 2017 📦
-
Linting your Xcode projects with xclint
-
Consistent vs convenient
-
Modular Xcode projects
-
Providing mocks and testing data from your frameworks.
-
Conditionally embed your dynamic frameworks
-
Little tweak to be more productive writing XCTest tests
-
Introducing xcodeproj
-
Moving back to Berlin
-
Composable UIs
-
Divide and conquer
-
📦 Wrapping up 2016
-
Extensions, dependency injection and frameworks
-
Developing tools for developers
-
Stepping off the social world
-
Be Reactive my friend
-
Micro Features Architecture for iOS
-
Network Testing - Say hello to Szimpla
-
A journey into Frameworks - Le Testing Framework
-
Being disconnected in a connected world
-
Boy Scouts rule with Danger
-
Automating iOS review tasks with Danger
-
Marcheta en la vida
-
Xcode scripts to rule them all
-
States - The source of truth
-
Install the last Carthage version on CI services (Travis, Circle, ...)
-
Rewriting SugarRecord, 2.0
-
Functional is about functions (Swift)
-
Implementing a Mutable Collection Property for ReactiveCocoa
-
Programación Reactiva en Swift: Parte 1, Introducción
-
Paginated API requests using Functional Reactive in Swift
-
Why Open Source helps you to become a better developer
-
My first Apple Watch impressions
-
Full control in your hybrid mobile apps with a local server, 8fit
-
Modularize your mobile projects
-
Boosting your mobile app with Javascript and some mobile knowledge
-
Swift and Objective-C playing together
-
Codemotion experience
-
VIPER, Looking for the perfect architecture
-
Github as your project management tool
-
Leaving Redbooth
-
Setup your iOS Projects for testing