<?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: Abhi Busani</title>
    <description>The latest articles on DEV Community by Abhi Busani (@abhi13-coder).</description>
    <link>https://dev.to/abhi13-coder</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%2F2491039%2F085f8b40-61cf-404d-b053-2aeb6f4f5817.png</url>
      <title>DEV Community: Abhi Busani</title>
      <link>https://dev.to/abhi13-coder</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/abhi13-coder"/>
    <language>en</language>
    <item>
      <title>How i build an android app without pc/laptop</title>
      <dc:creator>Abhi Busani</dc:creator>
      <pubDate>Sun, 30 Aug 2026 08:22:46 +0000</pubDate>
      <link>https://dev.to/abhi13-coder/how-i-build-an-android-app-without-pclaptop-315l</link>
      <guid>https://dev.to/abhi13-coder/how-i-build-an-android-app-without-pclaptop-315l</guid>
      <description>&lt;p&gt;How I Build Android Software Without a PC&lt;/p&gt;

&lt;p&gt;I don't have a PC.&lt;/p&gt;

&lt;p&gt;For most Android development, that sounds like a pretty inconvenient starting point.&lt;/p&gt;

&lt;p&gt;I still wanted to build Android software, though. So instead of waiting until I had better hardware, I started figuring out how much of the workflow I could move onto a phone.&lt;/p&gt;

&lt;p&gt;Eventually, this became more than an experiment. I started building actual Android projects this way, including AppBlur, while keeping the source and project evidence public on GitHub.&lt;/p&gt;

&lt;p&gt;This is how that workflow came together, what I learned from it, and where the approach starts to hit its limits.&lt;/p&gt;

&lt;p&gt;The constraint&lt;/p&gt;

&lt;p&gt;My main development device is an Android phone with limited hardware.&lt;/p&gt;

&lt;p&gt;That means I can't just open Android Studio, start an emulator, run a large build and forget about the machine underneath it.&lt;/p&gt;

&lt;p&gt;I had to think about the workflow differently.&lt;/p&gt;

&lt;p&gt;The phone became the place where I:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;write and edit code&lt;/li&gt;
&lt;li&gt;manage project files&lt;/li&gt;
&lt;li&gt;run local tools where practical&lt;/li&gt;
&lt;li&gt;test applications&lt;/li&gt;
&lt;li&gt;inspect the results&lt;/li&gt;
&lt;li&gt;manage the development process&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GitHub became the place where I could keep the source public, maintain project history and use remote infrastructure when needed.&lt;/p&gt;

&lt;p&gt;The important part was not making the phone magically behave like a PC.&lt;/p&gt;

&lt;p&gt;I was figuring out which parts of development actually needed to happen on the phone and which parts could be handled elsewhere.&lt;/p&gt;

&lt;p&gt;What does the workflow actually look like?&lt;/p&gt;

&lt;p&gt;At a high level, it became:&lt;/p&gt;

&lt;p&gt;Phone → source code → GitHub → build/release → Android device&lt;/p&gt;

&lt;p&gt;The phone is still the main development environment.&lt;/p&gt;

&lt;p&gt;GitHub isn't replacing the development process. It gives me a reliable place to keep the source and handle parts of the workflow that are difficult to do locally.&lt;/p&gt;

&lt;p&gt;The result is what matters most: an actual application that I can install and run on the same kind of device I used to build it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fosree3mjiqq67kpx9wzz.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fosree3mjiqq67kpx9wzz.jpg" alt=" " width="720" height="1600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The first problem: editing a real project on a phone&lt;/p&gt;

&lt;p&gt;Writing code on a touchscreen is obviously not the same experience as sitting at a desktop keyboard.&lt;/p&gt;

&lt;p&gt;But typing wasn't the hardest part.&lt;/p&gt;

&lt;p&gt;The harder problem was managing a real project.&lt;/p&gt;

&lt;p&gt;Once an Android project grows beyond a few files, you have manifests, resources, Gradle configuration, dependencies, assets and other pieces that all need to work together.&lt;/p&gt;

&lt;p&gt;So I started treating my phone more like a small development workstation rather than simply a code editor.&lt;/p&gt;

&lt;p&gt;The workflow became:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;edit the project&lt;/li&gt;
&lt;li&gt;inspect the files&lt;/li&gt;
&lt;li&gt;run what I can locally&lt;/li&gt;
&lt;li&gt;test on the device&lt;/li&gt;
&lt;li&gt;commit the changes&lt;/li&gt;
&lt;li&gt;use GitHub as the public source of truth&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It isn't the most conventional setup.&lt;/p&gt;

&lt;p&gt;It works.&lt;/p&gt;

&lt;p&gt;AppBlur became a real test&lt;/p&gt;

&lt;p&gt;AppBlur was one of the projects where this approach had to become real instead of remaining an experiment.&lt;/p&gt;

&lt;p&gt;The idea is simple: an Android privacy utility that can obscure the display after inactivity.&lt;/p&gt;

&lt;p&gt;But implementing it meant dealing with actual Android behavior rather than just creating a UI.&lt;/p&gt;

&lt;p&gt;There are services, overlays, lifecycle behavior, timing and the usual Android-specific problems that appear once an application has to interact with the system.&lt;/p&gt;

&lt;p&gt;That made it a much better test of the workflow than a simple demo application.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0y7dcybcum79p9p5yivy.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0y7dcybcum79p9p5yivy.jpg" alt=" " width="720" height="1600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The point wasn't to prove that a phone is better than a PC.&lt;/p&gt;

&lt;p&gt;It isn't.&lt;/p&gt;

&lt;p&gt;The point was to see how far I could push the hardware I actually had.&lt;/p&gt;

&lt;p&gt;The second problem: producing something usable&lt;/p&gt;

&lt;p&gt;Development doesn't mean much if the result never becomes an application you can actually run.&lt;/p&gt;

&lt;p&gt;That's why I care about the complete path from source code to a working Android application.&lt;/p&gt;

&lt;p&gt;I keep the source and project evidence public in my repositories, and the repositories also contain screenshots showing the actual applications and interfaces.&lt;/p&gt;

&lt;p&gt;That gives someone two ways to look at the work:&lt;/p&gt;

&lt;p&gt;Visual: see what the application actually looks like.&lt;/p&gt;

&lt;p&gt;Technical: inspect the source and project structure.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd47vjh8ed9r6m93qs28p.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd47vjh8ed9r6m93qs28p.jpg" alt=" " width="720" height="1600"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqv6n4bx1se3qowmo8tlo.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqv6n4bx1se3qowmo8tlo.jpg" alt=" " width="720" height="1600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I prefer this over simply saying that something works.&lt;/p&gt;

&lt;p&gt;You can actually look at it.&lt;/p&gt;

&lt;p&gt;What I learned&lt;/p&gt;

&lt;p&gt;The biggest lesson wasn't:&lt;/p&gt;

&lt;p&gt;«"You don't need a PC."»&lt;/p&gt;

&lt;p&gt;I wouldn't make that claim.&lt;/p&gt;

&lt;p&gt;A better conclusion is:&lt;/p&gt;

&lt;p&gt;«Constraints change the architecture of your workflow.»&lt;/p&gt;

&lt;p&gt;Instead of expecting one machine to handle everything, I started dividing the work between the tools available to me.&lt;/p&gt;

&lt;p&gt;Phone&lt;/p&gt;

&lt;p&gt;Development, editing, testing and control.&lt;/p&gt;

&lt;p&gt;GitHub&lt;/p&gt;

&lt;p&gt;Source control, public evidence and remote project infrastructure.&lt;/p&gt;

&lt;p&gt;Android device&lt;/p&gt;

&lt;p&gt;Real-world testing.&lt;/p&gt;

&lt;p&gt;That separation made the workflow much more practical.&lt;/p&gt;

&lt;p&gt;It changed how I think about tooling&lt;/p&gt;

&lt;p&gt;When resources are limited, convenience becomes an engineering problem.&lt;/p&gt;

&lt;p&gt;You start asking questions that are easy to ignore when you have a powerful workstation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What actually needs to run locally?&lt;/li&gt;
&lt;li&gt;What can be automated?&lt;/li&gt;
&lt;li&gt;What can be moved to remote infrastructure?&lt;/li&gt;
&lt;li&gt;How do I verify the result?&lt;/li&gt;
&lt;li&gt;What happens when something fails?&lt;/li&gt;
&lt;li&gt;How do I keep the source of truth accessible?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those questions are useful even if I eventually work on a conventional development machine.&lt;/p&gt;

&lt;p&gt;The constraint forced me to think about the development process itself.&lt;/p&gt;

&lt;p&gt;AI is part of my workflow, but it isn't the workflow&lt;/p&gt;

&lt;p&gt;I also use AI tools while developing.&lt;/p&gt;

&lt;p&gt;That doesn't mean I treat generated code as finished code.&lt;/p&gt;

&lt;p&gt;My workflow is closer to:&lt;/p&gt;

&lt;p&gt;requirements → architecture → AI-assisted implementation → code review → integration → debugging → testing → build → release&lt;/p&gt;

&lt;p&gt;If the generated code doesn't compile, behaves incorrectly, breaks another part of the project or doesn't fit the architecture, it isn't useful just because an AI produced it.&lt;/p&gt;

&lt;p&gt;The code still has to work.&lt;/p&gt;

&lt;p&gt;That distinction has become increasingly important as I work on more complex projects.&lt;/p&gt;

&lt;p&gt;Where this approach works well&lt;/p&gt;

&lt;p&gt;For me, this workflow works particularly well for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Android utilities&lt;/li&gt;
&lt;li&gt;experimentation&lt;/li&gt;
&lt;li&gt;prototyping&lt;/li&gt;
&lt;li&gt;learning unfamiliar technologies&lt;/li&gt;
&lt;li&gt;small and medium-sized projects&lt;/li&gt;
&lt;li&gt;workflows where remote infrastructure can handle heavier tasks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It also makes experimentation cheaper.&lt;/p&gt;

&lt;p&gt;If I have an idea, I don't necessarily have to wait until I have the ideal development setup before trying it.&lt;/p&gt;

&lt;p&gt;Where it gets difficult&lt;/p&gt;

&lt;p&gt;There are obvious limits.&lt;/p&gt;

&lt;p&gt;A phone doesn't suddenly become a workstation with unlimited RAM and CPU.&lt;/p&gt;

&lt;p&gt;Large builds, heavy tooling, complicated debugging and software that depends heavily on desktop environments can become difficult.&lt;/p&gt;

&lt;p&gt;So I don't see this as a universal replacement for conventional development.&lt;/p&gt;

&lt;p&gt;It's simply the environment I had, and I wanted to find out what I could build inside it.&lt;/p&gt;

&lt;p&gt;More than one project&lt;/p&gt;

&lt;p&gt;AppBlur isn't the only thing I've explored this way.&lt;/p&gt;

&lt;p&gt;I've also worked on Android tooling, systems, graphics, AI and robotics-related experiments.&lt;/p&gt;

&lt;p&gt;Some are shipped.&lt;/p&gt;

&lt;p&gt;Some are active.&lt;/p&gt;

&lt;p&gt;Some are architectural concepts.&lt;/p&gt;

&lt;p&gt;Some are experiments.&lt;/p&gt;

&lt;p&gt;I deliberately keep those categories separate because I don't want an unfinished experiment to look like a finished product.&lt;/p&gt;

&lt;p&gt;The goal isn't to make every project look impressive.&lt;/p&gt;

&lt;p&gt;The goal is to make the actual state of the work clear.&lt;/p&gt;

&lt;p&gt;What I'm interested in next&lt;/p&gt;

&lt;p&gt;The interesting part of this experiment isn't really the phone itself.&lt;/p&gt;

&lt;p&gt;It's the idea that development constraints can lead to different engineering decisions.&lt;/p&gt;

&lt;p&gt;A limited environment forces you to question assumptions about tooling, automation, testing and infrastructure.&lt;/p&gt;

&lt;p&gt;That's something I want to keep exploring across Android, systems, graphics and AI.&lt;/p&gt;

&lt;p&gt;Inspect the work&lt;/p&gt;

&lt;p&gt;I keep the source and project evidence public.&lt;/p&gt;

&lt;p&gt;You don't have to take my word for what I built.&lt;/p&gt;

&lt;p&gt;You can inspect the repositories and the applications themselves.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://abhi13-coder.github.io/Portfolio-/" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Abhi13-coder" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Abhi13-coder/App-blur" rel="noopener noreferrer"&gt;App-blur&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://buymeacoffee.com/abhi13.coder" rel="noopener noreferrer"&gt;Buymecoffee&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsgq6rm884842uql90umc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsgq6rm884842uql90umc.jpg" alt=" " width="720" height="1600"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc7xbmgv4bp2h4wsbej8d.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc7xbmgv4bp2h4wsbej8d.jpg" alt=" " width="720" height="1600"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fv3u4du8d0zibqbasryrm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fv3u4du8d0zibqbasryrm.jpg" alt=" " width="720" height="1600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The interesting question for me isn't whether a phone is better than a PC.&lt;/p&gt;

&lt;p&gt;It isn't.&lt;/p&gt;

&lt;p&gt;The interesting question is:&lt;/p&gt;

&lt;p&gt;How much can you actually build when you stop waiting for ideal conditions?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>android</category>
    </item>
  </channel>
</rss>
