<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Pedro Bustamante</title>
    <description>The latest articles on DEV Community by Pedro Bustamante (@pedro_kt).</description>
    <link>https://dev.to/pedro_kt</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3837597%2F8e6b5dbe-e011-4fc7-9912-eae01c2fa30c.png</url>
      <title>DEV Community: Pedro Bustamante</title>
      <link>https://dev.to/pedro_kt</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pedro_kt"/>
    <language>en</language>
    <item>
      <title>How I think about building mobile apps in 2026</title>
      <dc:creator>Pedro Bustamante</dc:creator>
      <pubDate>Sun, 29 Mar 2026 16:50:28 +0000</pubDate>
      <link>https://dev.to/pedro_kt/how-i-think-about-building-mobile-apps-in-2026-2388</link>
      <guid>https://dev.to/pedro_kt/how-i-think-about-building-mobile-apps-in-2026-2388</guid>
      <description>&lt;p&gt;There are a lot of opinions about how mobile apps should be built.&lt;/p&gt;

&lt;p&gt;Frameworks, architectures, best practices… everyone has a take.&lt;/p&gt;

&lt;p&gt;But over time, I realized something:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Building apps is less about following rules&lt;br&gt;
and more about making good decisions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So instead of talking about “the right way,”&lt;br&gt;
this is how I personally think about building mobile apps today.&lt;/p&gt;




&lt;h2&gt;
  
  
  Start simple (really simple)
&lt;/h2&gt;

&lt;p&gt;It’s very tempting to start with a full structure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clean architecture&lt;/li&gt;
&lt;li&gt;Multiple layers&lt;/li&gt;
&lt;li&gt;Abstractions everywhere&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But most apps don’t need that on day one.&lt;/p&gt;

&lt;p&gt;What they need is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To work&lt;/li&gt;
&lt;li&gt;To be understandable&lt;/li&gt;
&lt;li&gt;To be easy to change&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I start simple.&lt;/p&gt;

&lt;p&gt;And only add complexity when it’s justified.&lt;/p&gt;




&lt;h2&gt;
  
  
  Structure follows problems
&lt;/h2&gt;

&lt;p&gt;I don’t decide architecture upfront anymore.&lt;/p&gt;

&lt;p&gt;Instead, I let the app push me toward structure.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If logic starts repeating → I extract&lt;/li&gt;
&lt;li&gt;If data sources grow → I separate&lt;/li&gt;
&lt;li&gt;If things get hard to maintain → I refactor&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Architecture becomes a response.&lt;/p&gt;

&lt;p&gt;Not a starting point.&lt;/p&gt;




&lt;h2&gt;
  
  
  State is the real challenge
&lt;/h2&gt;

&lt;p&gt;Screens are easy.&lt;/p&gt;

&lt;p&gt;State is not.&lt;/p&gt;

&lt;p&gt;Most of the complexity in mobile apps comes from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Loading&lt;/li&gt;
&lt;li&gt;Errors&lt;/li&gt;
&lt;li&gt;Partial data&lt;/li&gt;
&lt;li&gt;User actions&lt;/li&gt;
&lt;li&gt;Sync&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I spend more time thinking about:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;how state flows through the app&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;than how folders are organized.&lt;/p&gt;




&lt;h2&gt;
  
  
  The network will fail (plan for it)
&lt;/h2&gt;

&lt;p&gt;Every feature I build has this question behind it:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;what happens if this fails?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Because it will.&lt;/p&gt;

&lt;p&gt;So instead of assuming success, I design for failure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;retries&lt;/li&gt;
&lt;li&gt;fallbacks&lt;/li&gt;
&lt;li&gt;clear error states&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That alone improves the app more than most patterns.&lt;/p&gt;




&lt;h2&gt;
  
  
  Don’t fight the platform
&lt;/h2&gt;

&lt;p&gt;This is something I value more and more.&lt;/p&gt;

&lt;p&gt;Native platforms exist for a reason.&lt;/p&gt;

&lt;p&gt;So instead of trying to abstract everything:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I embrace platform conventions&lt;/li&gt;
&lt;li&gt;I keep UI native&lt;/li&gt;
&lt;li&gt;I share only what makes sense&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s why approaches like multiplatform feel more natural.&lt;/p&gt;




&lt;h2&gt;
  
  
  Optimize for change, not perfection
&lt;/h2&gt;

&lt;p&gt;The goal is not to build the “perfect architecture.”&lt;/p&gt;

&lt;p&gt;It’s to build something that can evolve.&lt;/p&gt;

&lt;p&gt;Because requirements change.&lt;/p&gt;

&lt;p&gt;Ideas change.&lt;/p&gt;

&lt;p&gt;Products change.&lt;/p&gt;

&lt;p&gt;So the real question becomes:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;how easy is this to modify later?&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Final thought
&lt;/h2&gt;

&lt;p&gt;Good apps are not built by following patterns blindly.&lt;/p&gt;

&lt;p&gt;They’re built by making small, thoughtful decisions over time.&lt;/p&gt;

&lt;p&gt;And most of the time…&lt;/p&gt;

&lt;p&gt;keeping things simple is the hardest — and most valuable — thing you can do.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>productivity</category>
      <category>discuss</category>
      <category>mobile</category>
    </item>
    <item>
      <title>Mobile architecture: when it starts working against you</title>
      <dc:creator>Pedro Bustamante</dc:creator>
      <pubDate>Mon, 23 Mar 2026 21:57:26 +0000</pubDate>
      <link>https://dev.to/pedro_kt/mobile-architecture-when-it-starts-working-against-you-48ic</link>
      <guid>https://dev.to/pedro_kt/mobile-architecture-when-it-starts-working-against-you-48ic</guid>
      <description>&lt;p&gt;Lately I’ve been thinking a lot about architecture.&lt;/p&gt;

&lt;p&gt;Not from a theoretical point of view, but from something more practical:&lt;br&gt;&lt;br&gt;
why we often end up overcomplicating apps that don’t really need it.&lt;/p&gt;

&lt;p&gt;Because if there’s one thing that happens a lot in mobile, it’s this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;we use architectures designed for large systems… in apps that aren’t there yet.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The problem is not the architecture
&lt;/h2&gt;

&lt;p&gt;Architectures like Clean Architecture, MVVM, or similar approaches are not the problem.&lt;/p&gt;

&lt;p&gt;They exist for a reason.&lt;/p&gt;

&lt;p&gt;The real issue is &lt;strong&gt;when and how we use them&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Because many times, we don’t apply them out of necessity…&lt;/p&gt;

&lt;p&gt;We apply them because “it’s the right thing to do”.&lt;/p&gt;




&lt;h2&gt;
  
  
  When everything starts scaling (for no reason)
&lt;/h2&gt;

&lt;p&gt;You start with a simple app.&lt;/p&gt;

&lt;p&gt;A couple of screens, some logic, a few network requests.&lt;/p&gt;

&lt;p&gt;And suddenly you have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use cases
&lt;/li&gt;
&lt;li&gt;Repositories
&lt;/li&gt;
&lt;li&gt;Data sources
&lt;/li&gt;
&lt;li&gt;Mappers
&lt;/li&gt;
&lt;li&gt;DTOs
&lt;/li&gt;
&lt;li&gt;Domain models
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything nicely separated.&lt;/p&gt;

&lt;p&gt;Everything looks clean.&lt;/p&gt;

&lt;p&gt;But also…&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;much more complex than the app actually needs.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The invisible cost
&lt;/h2&gt;

&lt;p&gt;That extra complexity isn’t free.&lt;/p&gt;

&lt;p&gt;You pay for it with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More code to maintain
&lt;/li&gt;
&lt;li&gt;More time to make changes
&lt;/li&gt;
&lt;li&gt;More friction to understand the flow
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And worst of all:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;more distance between the idea and the implementation&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  So… should we avoid architecture?
&lt;/h2&gt;

&lt;p&gt;Not really.&lt;/p&gt;

&lt;p&gt;Architecture is necessary.&lt;/p&gt;

&lt;p&gt;But it should come as a response to a problem, not as a starting point.&lt;/p&gt;




&lt;h2&gt;
  
  
  A simpler way to think about it
&lt;/h2&gt;

&lt;p&gt;Instead of asking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Which architecture should I use?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A better question might be:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“What problem am I trying to avoid?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Frequent changes in logic → introduce abstraction
&lt;/li&gt;
&lt;li&gt;Multiple data sources → separate layers
&lt;/li&gt;
&lt;li&gt;Growing complexity → structure things better
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If there’s no real problem…&lt;/p&gt;

&lt;p&gt;you probably don’t need that much architecture yet.&lt;/p&gt;




&lt;h2&gt;
  
  
  What changes with experience
&lt;/h2&gt;

&lt;p&gt;Over time, you start to notice a pattern:&lt;/p&gt;

&lt;p&gt;The best architectures are not the most “correct” ones.&lt;/p&gt;

&lt;p&gt;They are the ones that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;are easy to understand
&lt;/li&gt;
&lt;li&gt;allow you to iterate quickly
&lt;/li&gt;
&lt;li&gt;don’t get in your way
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The balance
&lt;/h2&gt;

&lt;p&gt;No structure → chaos&lt;br&gt;&lt;br&gt;
Too much architecture → rigidity  &lt;/p&gt;

&lt;p&gt;The interesting part is in the middle.&lt;/p&gt;

&lt;p&gt;And there’s no exact formula.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final thought
&lt;/h2&gt;

&lt;p&gt;Good architecture is not about adding more layers.&lt;/p&gt;

&lt;p&gt;It’s about making things easier to change.&lt;/p&gt;

&lt;p&gt;And many times, the simplest solution is already the right one.&lt;/p&gt;

&lt;p&gt;The hard part is knowing when to stop.&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Overengineering is not about writing more code.&lt;br&gt;&lt;br&gt;
It’s about solving problems you don’t have.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>architecture</category>
      <category>discuss</category>
      <category>mobile</category>
    </item>
    <item>
      <title>Kotlin in 2026: what’s actually happening (and why it’s still a smart bet)</title>
      <dc:creator>Pedro Bustamante</dc:creator>
      <pubDate>Sat, 21 Mar 2026 22:14:16 +0000</pubDate>
      <link>https://dev.to/pedro_kt/kotlin-in-2026-whats-actually-happening-and-why-its-still-a-smart-bet-4k16</link>
      <guid>https://dev.to/pedro_kt/kotlin-in-2026-whats-actually-happening-and-why-its-still-a-smart-bet-4k16</guid>
      <description>&lt;p&gt;If you search for “Kotlin in 2026,” you’ll probably find rankings, stats, and comparisons.&lt;/p&gt;

&lt;p&gt;But the truth is, those numbers don’t tell the whole story.&lt;/p&gt;

&lt;p&gt;Because Kotlin is no longer “the language of the future.”&lt;br&gt;&lt;br&gt;
And honestly, that’s exactly what makes it interesting.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where Kotlin stands today
&lt;/h2&gt;

&lt;p&gt;A few years ago, Kotlin was everywhere. Lots of hype, lots of discussion, lots of expectations.&lt;/p&gt;

&lt;p&gt;Today, that noise has gone down.&lt;/p&gt;

&lt;p&gt;At first glance, it might seem like it lost momentum.&lt;/p&gt;

&lt;p&gt;But when you look at it from the inside — working in mobile or close to the ecosystem — something different is happening: Kotlin didn’t fade away, it &lt;strong&gt;settled&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It found its place.&lt;/p&gt;




&lt;h2&gt;
  
  
  Android doesn’t really exist without Kotlin anymore
&lt;/h2&gt;

&lt;p&gt;In the Android world, Kotlin stopped being optional a long time ago.&lt;/p&gt;

&lt;p&gt;It’s not something teams debate anymore. It’s not a technical decision you need to justify.&lt;/p&gt;

&lt;p&gt;It’s just… what people use.&lt;/p&gt;

&lt;p&gt;Everything modern revolves around it: architectures, tooling, libraries. Even when there’s legacy Java code, the natural path is often to gradually move toward Kotlin.&lt;/p&gt;

&lt;p&gt;And that creates something important: stability.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where things are really moving: Kotlin Multiplatform
&lt;/h2&gt;

&lt;p&gt;If there’s one area pushing Kotlin forward right now, it’s Multiplatform.&lt;/p&gt;

&lt;p&gt;And not because of promises, but because of how it solves a very real problem: sharing logic without giving up native.&lt;/p&gt;

&lt;p&gt;For years, cross-platform solutions tried to abstract everything.&lt;br&gt;&lt;br&gt;
Sometimes it worked… sometimes not so much.&lt;/p&gt;

&lt;p&gt;Kotlin takes a different approach.&lt;/p&gt;

&lt;p&gt;It lets you share what actually makes sense (business logic, data, rules), while keeping each platform truly native.&lt;/p&gt;

&lt;p&gt;And in real teams, that makes a big difference.&lt;/p&gt;

&lt;p&gt;Because you’re not fighting the tool.&lt;/p&gt;




&lt;h2&gt;
  
  
  So… why isn’t everyone talking about Kotlin?
&lt;/h2&gt;

&lt;p&gt;Because it’s not trying to be the most popular language.&lt;/p&gt;

&lt;p&gt;It’s not competing in the same space as JavaScript or Python.&lt;/p&gt;

&lt;p&gt;And if you only look at rankings, that can make it seem less relevant.&lt;/p&gt;

&lt;p&gt;But that’s also part of its advantage.&lt;/p&gt;

&lt;p&gt;Kotlin grows in very specific places:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Modern mobile development
&lt;/li&gt;
&lt;li&gt;Teams that care about architecture
&lt;/li&gt;
&lt;li&gt;Projects built with long-term quality in mind
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It doesn’t make a lot of noise… but it sticks.&lt;/p&gt;




&lt;h2&gt;
  
  
  The job market (a more honest take)
&lt;/h2&gt;

&lt;p&gt;There aren’t as many job listings as JavaScript or Python. That’s true.&lt;/p&gt;

&lt;p&gt;But there also isn’t the same level of competition.&lt;/p&gt;

&lt;p&gt;And teams using Kotlin are often not random. They tend to be more intentional, more structured, more focused on doing things right.&lt;/p&gt;

&lt;p&gt;That changes the kind of opportunities you find.&lt;/p&gt;




&lt;h2&gt;
  
  
  What really changed (and why it matters)
&lt;/h2&gt;

&lt;p&gt;Kotlin used to be the “new thing.”&lt;/p&gt;

&lt;p&gt;Now it’s infrastructure.&lt;/p&gt;

&lt;p&gt;And that’s a big shift.&lt;/p&gt;

&lt;p&gt;Because the languages that last aren’t the ones with the most hype — they’re the ones that quietly become part of the stack.&lt;/p&gt;




&lt;h2&gt;
  
  
  So… is Kotlin worth it in 2026?
&lt;/h2&gt;

&lt;p&gt;If you’re in mobile, yes.&lt;/p&gt;

&lt;p&gt;If you care about building things properly, also yes.&lt;/p&gt;

&lt;p&gt;And if you combine it with backend or multiplatform, even better.&lt;/p&gt;

&lt;p&gt;It’s not the language that’s going to dominate everything.&lt;/p&gt;

&lt;p&gt;But it doesn’t need to.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final thought
&lt;/h2&gt;

&lt;p&gt;Some languages grow fast and make a lot of noise.&lt;/p&gt;

&lt;p&gt;Others become essential without trying too hard.&lt;/p&gt;

&lt;p&gt;Kotlin is closer to the second group.&lt;/p&gt;

&lt;p&gt;And in a long-term career, that’s usually a very good place to be.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;- From my experience working in mobile, this shift feels very real.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>news</category>
      <category>android</category>
      <category>kotlin</category>
    </item>
  </channel>
</rss>
