<?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: sunior</title>
    <description>The latest articles on DEV Community by sunior (@sunior).</description>
    <link>https://dev.to/sunior</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%2F3924901%2Ff524583d-3989-4ba1-ad70-324d2dc7673c.jpg</url>
      <title>DEV Community: sunior</title>
      <link>https://dev.to/sunior</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sunior"/>
    <language>en</language>
    <item>
      <title>Spent the last few months building a walking tracker app for Android</title>
      <dc:creator>sunior</dc:creator>
      <pubDate>Mon, 11 May 2026 12:04:37 +0000</pubDate>
      <link>https://dev.to/sunior/spent-the-last-few-months-building-a-walking-tracker-app-for-android-3okf</link>
      <guid>https://dev.to/sunior/spent-the-last-few-months-building-a-walking-tracker-app-for-android-3okf</guid>
      <description>&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.amazonaws.com%2Fuploads%2Farticles%2Foutu5a50a8t3vk3s8ssl.png" 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.amazonaws.com%2Fuploads%2Farticles%2Foutu5a50a8t3vk3s8ssl.png" alt="descr" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hey everyone,&lt;/p&gt;

&lt;p&gt;Over the last few months, I’ve been working on a side project called WalkLog — an open-source walking tracker app for Android.&lt;/p&gt;

&lt;p&gt;I originally started it as a small learning project, but it slowly turned into my attempt at building something closer to a real-world Android application instead of another simple demo app.&lt;/p&gt;

&lt;p&gt;One thing I especially wanted to focus on was architecture and maintainability as the project grew.&lt;/p&gt;

&lt;p&gt;Instead of putting everything into a single module, I experimented with a more modular structure using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kotlin&lt;/li&gt;
&lt;li&gt;Jetpack Compose&lt;/li&gt;
&lt;li&gt;Room&lt;/li&gt;
&lt;li&gt;Hilt&lt;/li&gt;
&lt;li&gt;WorkManager&lt;/li&gt;
&lt;li&gt;Health Connect&lt;/li&gt;
&lt;li&gt;Glance Widgets&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Some things I learned while building it
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Managing UI state in Compose gets harder as apps grow
&lt;/h3&gt;

&lt;p&gt;At first, state management felt simple, but once features started increasing, keeping UI state predictable became much more important.&lt;/p&gt;

&lt;h3&gt;
  
  
  Separation of concerns really matters
&lt;/h3&gt;

&lt;p&gt;Splitting responsibilities between data, domain, and presentation layers helped a lot once the project became larger and harder to manage.&lt;/p&gt;

&lt;h3&gt;
  
  
  Glance widgets were trickier than expected
&lt;/h3&gt;

&lt;p&gt;Building widgets with Glance was honestly more difficult than I expected, especially around state synchronization and update timing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Background work introduces a lot of edge cases
&lt;/h3&gt;

&lt;p&gt;Step tracking and periodic background updates introduced many cases I hadn’t considered before.&lt;/p&gt;

&lt;h2&gt;
  
  
  Still improving
&lt;/h2&gt;

&lt;p&gt;There’s still a lot I want to improve:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;testing&lt;/li&gt;
&lt;li&gt;performance&lt;/li&gt;
&lt;li&gt;architecture cleanup&lt;/li&gt;
&lt;li&gt;UI/UX polish&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But overall, this project helped me learn a lot about building larger Android apps.&lt;/p&gt;

&lt;h2&gt;
  
  
  GitHub
&lt;/h2&gt;

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

&lt;p&gt;The README also includes some additional information about the project structure and architecture.&lt;/p&gt;

&lt;p&gt;And if you find the project interesting, I’d really appreciate a GitHub star ⭐&lt;/p&gt;

&lt;p&gt;Feedback is always welcome — especially from more experienced Android developers.&lt;/p&gt;

&lt;p&gt;Thanks!&lt;/p&gt;

</description>
      <category>android</category>
      <category>architecture</category>
      <category>opensource</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
