<?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: Raffy</title>
    <description>The latest articles on DEV Community by Raffy (@raffy_d).</description>
    <link>https://dev.to/raffy_d</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4000292%2Fb6b903e1-3906-4d6c-aeee-fdb67a036e78.PNG</url>
      <title>DEV Community: Raffy</title>
      <link>https://dev.to/raffy_d</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/raffy_d"/>
    <language>en</language>
    <item>
      <title>What If Your Android Phone Was Just Another n8n Node?</title>
      <dc:creator>Raffy</dc:creator>
      <pubDate>Tue, 14 Jul 2026 06:24:19 +0000</pubDate>
      <link>https://dev.to/raffy_d/what-if-your-android-phone-was-just-another-n8n-node-1iko</link>
      <guid>https://dev.to/raffy_d/what-if-your-android-phone-was-just-another-n8n-node-1iko</guid>
      <description>&lt;p&gt;We've been building automations with n8n for a while now, and one of the things we like about it is how APIs start to feel like building blocks.&lt;/p&gt;

&lt;p&gt;Need data from a CRM? Add a node.&lt;/p&gt;

&lt;p&gt;Need to update a spreadsheet? Add a node.&lt;/p&gt;

&lt;p&gt;Need an AI model somewhere in the workflow? Add a node.&lt;/p&gt;

&lt;p&gt;You connect a trigger, add a few steps, move some data around, and suddenly a process that used to require someone clicking through three different systems just happens on its own.&lt;/p&gt;

&lt;p&gt;Then we needed to send an SMS.&lt;/p&gt;

&lt;p&gt;And for some reason, that one step made the workflow feel more complicated than it should have been.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Workflow Wasn't Complicated
&lt;/h2&gt;

&lt;p&gt;Imagine a simple appointment workflow.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;New Appointment
      ↓
Check Customer Details
      ↓
Prepare Confirmation
      ↓
Send SMS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Nothing particularly exciting.&lt;/p&gt;

&lt;p&gt;The business already has an Android phone.&lt;/p&gt;

&lt;p&gt;The phone already has a SIM card.&lt;/p&gt;

&lt;p&gt;They already use that number to text customers.&lt;/p&gt;

&lt;p&gt;But the automation couldn't use it.&lt;/p&gt;

&lt;p&gt;The workflow could talk to cloud applications on the other side of the world, but it couldn't tell the Android phone sitting on the desk:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Send this message.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That bothered us more than it probably should have.&lt;/p&gt;

&lt;h2&gt;
  
  
  Not Every SMS Use Case Needs to Start With a Telecom Platform
&lt;/h2&gt;

&lt;p&gt;There are good SMS providers out there, and they solve a much larger problem.&lt;/p&gt;

&lt;p&gt;If you're sending at serious volume, operating across multiple countries, or building something where telecom infrastructure is a core part of the product, using a proper SMS provider makes complete sense.&lt;/p&gt;

&lt;p&gt;But that wasn't the problem we kept thinking about.&lt;/p&gt;

&lt;p&gt;We were thinking about smaller, more local workflows.&lt;/p&gt;

&lt;p&gt;A clinic sending appointment reminders.&lt;/p&gt;

&lt;p&gt;A school sending notifications.&lt;/p&gt;

&lt;p&gt;A small CRM following up with a customer.&lt;/p&gt;

&lt;p&gt;An internal operations tool alerting a staff member.&lt;/p&gt;

&lt;p&gt;An n8n workflow that reaches a step where it simply needs to send a text message.&lt;/p&gt;

&lt;p&gt;In many of these cases, the business already has a phone.&lt;/p&gt;

&lt;p&gt;It already has a SIM.&lt;/p&gt;

&lt;p&gt;It may even already have a mobile plan they use for exactly this kind of communication.&lt;/p&gt;

&lt;p&gt;The missing piece isn't the ability to send an SMS.&lt;/p&gt;

&lt;p&gt;The missing piece is giving the workflow access to that ability.&lt;/p&gt;

&lt;h2&gt;
  
  
  So We Started Thinking About the Phone Differently
&lt;/h2&gt;

&lt;p&gt;What if the Android phone wasn't something outside the automation?&lt;/p&gt;

&lt;p&gt;What if it was just another resource the workflow could use?&lt;/p&gt;

&lt;p&gt;Something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CRM
 ↓
n8n
 ↓
Send SMS
 ↓
Android Phone
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;From the workflow's point of view, we wanted the experience to be boring.&lt;/p&gt;

&lt;p&gt;Give it a destination.&lt;/p&gt;

&lt;p&gt;Give it a message.&lt;/p&gt;

&lt;p&gt;Choose a device or SIM if necessary.&lt;/p&gt;

&lt;p&gt;Send.&lt;/p&gt;

&lt;p&gt;The messy part of talking to the Android device shouldn't have to live inside every CRM, ERP, or automation we build.&lt;/p&gt;

&lt;p&gt;We wanted an API between the workflow and the phone.&lt;/p&gt;

&lt;p&gt;That idea eventually became &lt;strong&gt;Relayion&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who We Actually Built Relayion For
&lt;/h2&gt;

&lt;p&gt;Relayion isn't meant to replace every SMS provider.&lt;/p&gt;

&lt;p&gt;That's not the goal.&lt;/p&gt;

&lt;p&gt;We're building it for developers and automation builders working on the smaller, awkward use cases that don't always fit neatly into a large communications platform.&lt;/p&gt;

&lt;p&gt;The person building an internal tool.&lt;/p&gt;

&lt;p&gt;The developer automating a local business.&lt;/p&gt;

&lt;p&gt;The team connecting an existing CRM to n8n.&lt;/p&gt;

&lt;p&gt;The indie developer building a small SaaS.&lt;/p&gt;

&lt;p&gt;The self-hoster who already has the hardware and wants to make it useful.&lt;/p&gt;

&lt;p&gt;Sometimes the requirement really is this simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;When my workflow reaches this step, send an SMS using this Android device.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We think that should be easier.&lt;/p&gt;

&lt;h2&gt;
  
  
  The n8n Node Was an Obvious Next Step
&lt;/h2&gt;

&lt;p&gt;Once we looked at Relayion from that perspective, building an n8n community node started to feel obvious.&lt;/p&gt;

&lt;p&gt;We don't want someone building a workflow to think about Relayion's API every time they need to send a message.&lt;/p&gt;

&lt;p&gt;Ideally, they add a node.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[ New Appointment ]
          ↓
[ Prepare Message ]
          ↓
[ Relayion: Send SMS ]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Configure the device.&lt;/p&gt;

&lt;p&gt;Choose the SIM.&lt;/p&gt;

&lt;p&gt;Map the phone number and message from previous nodes.&lt;/p&gt;

&lt;p&gt;Run the workflow.&lt;/p&gt;

&lt;p&gt;That's the developer experience we're working toward.&lt;/p&gt;

&lt;p&gt;The API still matters, of course. Developers should be able to integrate Relayion directly into their own applications.&lt;/p&gt;

&lt;p&gt;But n8n is where the idea really clicked for us.&lt;/p&gt;

&lt;p&gt;Because Relayion itself is basically a bridge.&lt;/p&gt;

&lt;p&gt;On one side, you have APIs and automated workflows.&lt;/p&gt;

&lt;p&gt;On the other, you have an Android phone with a physical SIM card.&lt;/p&gt;

&lt;p&gt;Relayion just lets the two talk.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sometimes the Capability Already Exists
&lt;/h2&gt;

&lt;p&gt;We think we have a habit in software development of looking for another cloud service whenever we need a new capability.&lt;/p&gt;

&lt;p&gt;And often, that's exactly the right answer.&lt;/p&gt;

&lt;p&gt;But sometimes the thing you need is already sitting on a desk.&lt;/p&gt;

&lt;p&gt;It just doesn't have an API.&lt;/p&gt;

&lt;p&gt;That's the problem we're trying to solve with Relayion.&lt;/p&gt;

&lt;p&gt;We're still early, and we're currently working on making the n8n integration easier for automation builders.&lt;/p&gt;

&lt;p&gt;If you use n8n and have ever needed to send SMS from a local Android device, we'd genuinely be interested in hearing about your workflow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What were you trying to automate?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We're curious how many other people have reached the same annoying step in an otherwise perfectly good workflow.&lt;/p&gt;

</description>
      <category>android</category>
      <category>automation</category>
      <category>nocode</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Vibe Coders vs. Traditional Devs: Both Sides Are Right</title>
      <dc:creator>Raffy</dc:creator>
      <pubDate>Fri, 03 Jul 2026 12:33:04 +0000</pubDate>
      <link>https://dev.to/raffy_d/vibe-coders-vs-traditional-devs-both-sides-are-right-56p8</link>
      <guid>https://dev.to/raffy_d/vibe-coders-vs-traditional-devs-both-sides-are-right-56p8</guid>
      <description>&lt;p&gt;There is a fascinating, quiet tension happening in the software engineering community right now. If you listen closely to late-night developer chats, team syncs, or tech forums, you will notice that our industry has rapidly split into two distinct schools of thought regarding the rise of AI coding tools like Cursor, Claude Code, and Copilot.&lt;/p&gt;

&lt;p&gt;On one side, you have the Traditional Developers. They argue that software engineering is a disciplined art form that cannot be replaced by text prompts. To them, unchecked AI coding is a recipe for buggy, unreadable spaghetti code, creating a technical debt nightmare for the future.&lt;/p&gt;

&lt;p&gt;On the other side, you have the Vibe Coders. This is a fast-moving generation of builders, both technical and non-technical, who believe in shipping fast, prompting quickly, and adjusting on the fly. They do not see a need to obsess over syntax when the AI can translate their intent into a working application in minutes.&lt;/p&gt;

&lt;p&gt;The reality is that both sides are entirely right.&lt;/p&gt;

&lt;p&gt;If we stop arguing over who is ruling the current meta and actually look at the core truths each camp holds, we can see exactly where the future of software development is heading.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. The Traditional Developer is Right: Guardrails Matter
&lt;/h2&gt;

&lt;p&gt;The traditional development camp is fundamentally right about structure. Building a beautifully designed UI that works on a surface level is vastly different from building an enterprise-ready, scalable architecture.&lt;/p&gt;

&lt;p&gt;When you prompt an AI to build a feature, its primary objective is to satisfy the literal words in your core prompt. This is the "as long as it works" mentality. Unless you are practicing strict, spec-driven development and explicitly dictating your architectural doctrines, security protocols, and API patterns, the AI will make assumptions for you.&lt;/p&gt;

&lt;p&gt;Historically, those assumptions are optimized for speed and not long-term stability. Without deep technical oversight to catch anti-patterns, edge cases, and hidden security flaws, fast-shipped apps can rapidly break the moment they hit enterprise scale. The rigorous discipline, foundational knowledge, and deep intuition of seasoned developers remain irreplaceable safeguards.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. The Vibe Coder is Right: Velocity Has Changed Forever
&lt;/h2&gt;

&lt;p&gt;At the same time, the vibe coding camp is absolutely right about the shift in economic reality. The tools are here, they are incredibly powerful, and refusing to use them to ship faster is a losing strategy.&lt;/p&gt;

&lt;p&gt;There is no shame in letting an AI abstract away the syntax. For non-technical visionaries, AI tools have democratized software creation, turning long-held dreams into working realities without the immediate friction of massive development costs. Even for reading code, an AI can parse a complex legacy repository and explain it instantly.&lt;/p&gt;

&lt;p&gt;If this friction feels jarring to veteran engineers, it is worth taking a historical step back. Decades ago, legacy developers writing pure Assembly or COBOL likely looked at the emergence of modern frameworks, SDKs, and high-level languages and thought that our generation had it too easy and that we were not writing real code.&lt;/p&gt;

&lt;p&gt;But the industry adapted. We stopped managing manual memory allocation because modern stacks handled it for us, and the world moved forward just fine. Today, the majority of the world does not need to understand the underlying machine code for their applications to run flawlessly. AI coding tools are simply the next logical layer of abstraction.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Road Ahead: A Two-Stage Evolution
&lt;/h2&gt;

&lt;p&gt;Instead of viewing this as a battle between humans and machines, we need to view it as an opportunity to adapt. The future of software is not about writing code. It is about shifting our roles as the technology matures.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stage 1: The Shift to Solutions Architect&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the immediate future, within the next few years, raw coding will increasingly become automated. Traditional manual development will likely be reserved for highly specialized, mission-critical sectors like security, aerospace, and the creation of AI infrastructure itself.&lt;/p&gt;

&lt;p&gt;For the rest of the commercial world, both traditional developers and non-technical builders must evolve into Solutions Architects.&lt;/p&gt;

&lt;p&gt;The combination of a sharp human architect and an exceptional AI coding companion will inevitably produce safer, less buggy apps at a speed we have never seen before. Experienced developers naturally have a massive unfair advantage here because they understand software design patterns. However, anyone can step into this role if they dedicate themselves to learning foundational system design. Once an organization experiences this level of shipping velocity, there is no going back.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stage 2: The Shift to Visionary CEO&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Further down the line, probably ten years out and beyond, AI systems will become so advanced that they will no longer require humans in the loop for day-to-day execution or spec drafting. The AI will seamlessly manage every facet of product development, architecture, optimization, and scaling.&lt;/p&gt;

&lt;p&gt;When that happens, the role shifts from Architect to Visionary.&lt;/p&gt;

&lt;p&gt;The individuals who thrive will be those with the greatest ideas and a deep understanding of human needs. In this era, the AI will not just write the code. It will analyze your business idea, tell you what works, optimize the strategy, and execute the entire technical pipeline. If Stage 1 required you to be the Architect, Stage 2 requires you to be the CEO of your vision.&lt;/p&gt;

&lt;h2&gt;
  
  
  "Maybe So... But Not Today"
&lt;/h2&gt;

&lt;p&gt;The underlying theme of this evolution is survival through adaptation. The worst thing any builder can do right now is dig their heels in and pretend the landscape is not shifting.&lt;/p&gt;

&lt;p&gt;But as we look at the current state of play, we still drastically need the discipline, rigor, and protective eye of experienced software engineers. AI is a spectacular co-pilot, but humans are still flying the plane.&lt;/p&gt;

&lt;p&gt;It brings to mind that fantastic scene in Top Gun Maverick, where a high-ranking admiral looks at Maverick and tells him that his breed of pilots is heading for extinction. The admiral says that the end is inevitable and that his kind is headed for extinction.&lt;/p&gt;

&lt;p&gt;Maverick just looks back, smiles, and says: "Maybe so, sir. But not today."&lt;/p&gt;

&lt;p&gt;We might be moving toward a radically different future, but right now, the world still needs engineers who know how to build things that last. Let us embrace the tools, master the architecture, and build what is next.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>career</category>
      <category>productivity</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>How Losing Everything as an IT Professional Led to Building an Android SaaS With a Greater Sense of Purpose</title>
      <dc:creator>Raffy</dc:creator>
      <pubDate>Thu, 25 Jun 2026 01:35:54 +0000</pubDate>
      <link>https://dev.to/raffy_d/why-we-built-an-android-sms-gateway-api-and-the-pivot-that-forced-us-to-build-it-1l4k</link>
      <guid>https://dev.to/raffy_d/why-we-built-an-android-sms-gateway-api-and-the-pivot-that-forced-us-to-build-it-1l4k</guid>
      <description>&lt;p&gt;For a long time, I did what every ambitious engineer is told to do. I climbed the corporate ladder. I made it to the height of my career, managed engineering teams, and dealt with the heavy stress that comes with enterprise infrastructure.&lt;/p&gt;

&lt;p&gt;But eventually, corporate inertia and office politics catch up with you. After a complex, challenging corporate exit, I found myself at a major crossroads. It was a stressful time that tested my spirit, but it ultimately brought me down to a place of radical humility.&lt;/p&gt;

&lt;p&gt;In that space, I realized I wanted to build things with a greater purpose. When everything else felt uncertain, getting back to writing code became my sanctuary. It is where I find my peace. I teamed up with some incredible colleagues, and together, we started building a new suite of software under a shared vision. We wanted to help small businesses get access to enterprise-grade tools without the enterprise price tag.&lt;/p&gt;

&lt;p&gt;Our roadmap is to build full SaaS applications for small-and-medium enterprises, especially around autonomous AI customer service. But as we began mapping out the features, we hit a massive roadblock that forced us to build the foundation first.&lt;/p&gt;

&lt;p&gt;That foundational project is Relayion.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Core Problem with Modern Developer SMS
&lt;/h2&gt;

&lt;p&gt;We were looking into how local businesses handle customer communication. Everyone talks about connecting apps to Facebook Messenger or WhatsApp, but for local businesses like a neighborhood medical clinic or an automotive shop, traditional SMS is still the absolute lifeblood. They need it for automated appointment reminders, quick customer inquiries, and sending secure one-time passwords.&lt;/p&gt;

&lt;p&gt;The problem is that if a developer wants to build a system that handles autonomous, two-way customer service over SMS, using traditional cloud providers is a trap.&lt;/p&gt;

&lt;p&gt;The costs scale instantly because they charge heavy fees for every single outbound and inbound message. On top of that, you face a bureaucratic nightmare of carrier regulations and endless registration forms just to get approved to send a basic automated text.&lt;/p&gt;

&lt;p&gt;The ironic part is that businesses are already actively using their physical phones with local SIM cards and unlimited text plans to talk to their clients and run ads. They already own the hardware and pay for the service. We just needed a way to bridge that existing hardware to the web systems that can actually automate, streamline, and scale those processes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Our Approach to the Architecture
&lt;/h2&gt;

&lt;p&gt;We decided to build an infrastructure that lets any web server, app, or AI agent send and receive texts natively through a physical Android device. We did not want to build an overnight, fly-by-night tool. Our engineering team spent months refining this mechanism to make sure it handles messages with extreme care and reliability.&lt;/p&gt;

&lt;p&gt;Our system is engineered for instant responsiveness. The moment your server hits our endpoint, the message routes to the phone safely. We built a robust cloud buffer in front of the hardware. If your phone temporarily loses cellular signal or the network drops out for a minute, our cloud holds onto the messages securely and flushes them to the device the exact millisecond it is stable. You do not get dropped messages or lost data, which is exactly how a reliable engine should work.&lt;/p&gt;

&lt;p&gt;On the flip side, when a customer replies to that text, the phone captures the incoming SMS and instantly relays a webhook back to your system or AI model for a seamless, two-way loop.&lt;/p&gt;

&lt;p&gt;We wanted to make this incredibly lightweight for developers to deploy. Once our Android application is running on your device, sending a programmatic text from Node.js, Python, or a no-code workflow tool like n8n looks exactly like a standard three-line API curl request.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building in Public and Moving Forward
&lt;/h2&gt;

&lt;p&gt;Relayion isn't perfect, and as engineers, we know software is an evolving canvas. But our team strives every day to bring it closer to perfection.&lt;/p&gt;

&lt;p&gt;This journey has taught me radical humility. I have fully accepted that I am exactly where God wants me to be, and I have surrendered the steering wheel to Him. Continuing down this path, sharing our engineering milestones, and building software that genuinely helps people is where our focus is.&lt;/p&gt;

&lt;p&gt;We built Relayion to give indie hackers, small business owners, and developers the kind of affordable, robust infrastructure they usually get priced out of. Whether you are building an AI chatbot, automating a local clinic, or just messing around with a weekend project, we would love for you to try it out.&lt;/p&gt;

&lt;p&gt;You can check out our platform and setup guides at relayion.com. Drop a comment below if you have ever tried building an SMS gateway or ran into these carrier pricing walls. Our team would love to swap notes with you.&lt;/p&gt;

</description>
      <category>career</category>
      <category>learning</category>
      <category>showdev</category>
      <category>management</category>
    </item>
  </channel>
</rss>
