index.html 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. <!DOCTYPE html>
  2. <html lang="en-us">
  3. <head>
  4. <title>
  5. Building PublicPoolAndroid in One Day with Cursor | codeskraps
  6. </title>
  7. <meta http-equiv="content-type" content="text/html; charset=utf-8">
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  9. <meta name="description" content="Mobile development blog by Carles Sentis, sharing expertise in Android, iOS, and Kotlin Multiplatform development">
  10. <meta name="generator" content="Hugo 0.145.0">
  11. <link rel="canonical" href="https://codeskraps.com/posts/2025/public_pool_android/" >
  12. <link href="/css/style.min.ef8e99489b0b85e34523800e588426b1b4c05e27adcb9d7193952cef205afe6d.css" rel="stylesheet">
  13. <script defer src="https://umami.codeskraps.com/script.js" data-website-id="a80a52da-0b7d-4faf-9dfc-ee6ca5a8421f" data-do-not-track="true"></script>
  14. <link rel="stylesheet" href="/css/code-copy.css">
  15. <script defer src="/js/code-copy.js"></script>
  16. </head>
  17. <body>
  18. <div class="flexWrapper">
  19. <header class="headerWrapper">
  20. <div class="header">
  21. <div>
  22. <a class="terminal" href="https://codeskraps.com/">
  23. <span>me@codeskraps.com ~ $</span>
  24. </a>
  25. </div>
  26. <input class="side-menu" type="checkbox" id="side-menu">
  27. <label class="hamb" for="side-menu"><span class="hamb-line"></span></label>
  28. <nav class="headerLinks">
  29. <ul>
  30. <li>
  31. <a href="https://codeskraps.com/posts/" title="" >
  32. ~/posts</a>
  33. </li>
  34. <li>
  35. <a href="https://codeskraps.com/projects/" title="" >
  36. ~/projects</a>
  37. </li>
  38. <li>
  39. <a href="https://codeskraps.com/about/" title="" >
  40. ~/about</a>
  41. </li>
  42. </ul>
  43. </nav>
  44. </div>
  45. </header>
  46. <div class="content">
  47. <main class="main">
  48. <div class="postWrapper">
  49. <h1>Building PublicPoolAndroid in One Day with Cursor</h1>
  50. <section class="postMetadata">
  51. <dl>
  52. <dt>tags</dt>
  53. <dd><span></span>
  54. <a href="/tags/android/">#Android</a><span></span>
  55. <a href="/tags/cryptocurrency/">#Cryptocurrency</a><span></span>
  56. <a href="/tags/mining/">#Mining</a><span></span>
  57. <a href="/tags/cursor/">#Cursor</a><span></span>
  58. <a href="/tags/development/">#Development</a></dd>
  59. <dt>published</dt>
  60. <dd><time datetime="2025-04-05">April 5, 2025</time></dd>
  61. <dt>reading time</dt>
  62. <dd>2 minutes</dd>
  63. </dl>
  64. </section>
  65. <div>
  66. <p>Today I want to share how I built a complete cryptocurrency mining monitoring app in just one day, from initial concept to Google Play Store submission, using Cursor as my IDE.</p>
  67. <picture style="display: block; text-align: center; margin: 2rem auto;">
  68. <source media="(max-width: 480px)" srcset="/posts/2025/public_pool_android/feature_graphic_hu_b07fb17dbb2a4697.jpg">
  69. <source media="(max-width: 800px)" srcset="/posts/2025/public_pool_android/feature_graphic_hu_40801fc72754b39c.jpg">
  70. <source media="(min-width: 801px)" srcset="/posts/2025/public_pool_android/feature_graphic_hu_cc0a414e721049d1.jpg">
  71. <img
  72. src="/posts/2025/public_pool_android/feature_graphic_hu_cc0a414e721049d1.jpg"
  73. alt="Public Pool Android App"
  74. width="800"
  75. height="391"
  76. style="max-width: 100%; height: auto; margin: 0 auto; display: block;"
  77. class="responsive-image"
  78. loading="lazy"
  79. >
  80. </picture>
  81. <h2 id="the-app-public-pool-android">The App: Public Pool Android</h2>
  82. <p><a href="https://repo.codeskraps.com/codeskraps/PublicPoolAndroid">Public Pool Android</a> is a mobile application that lets cryptocurrency miners monitor their mining activities directly from their Android devices. The app provides real-time tracking of hash rates, worker status, and wallet details while on the go.</p>
  83. <h2 id="key-features">Key Features</h2>
  84. <ul>
  85. <li><strong>Dashboard:</strong> View comprehensive mining statistics including best difficulty, network difficulty, network hash rate, and block height</li>
  86. <li><strong>Workers Monitoring:</strong> Keep track of individual mining workers with details on hash rate, difficulty, and last seen time</li>
  87. <li><strong>Wallet Management:</strong> Access wallet balance and transaction history with current price information</li>
  88. <li><strong>Real-time Updates:</strong> Receive timely notifications about your mining operations</li>
  89. </ul>
  90. <h2 id="from-concept-to-store-in-one-day">From Concept to Store in One Day</h2>
  91. <p>The entire development process took just one workday (9 AM to 6 PM), during which I:</p>
  92. <ul>
  93. <li>Created the initial project structure and repository</li>
  94. <li>Built the network communication layer</li>
  95. <li>Implemented data models, repositories, and use cases</li>
  96. <li>Developed the UI components including dashboard, workers, and wallet screens</li>
  97. <li>Added theming, localization support, and settings</li>
  98. <li>Performed testing and submitted to Google Play Store for review</li>
  99. </ul>
  100. <h2 id="bitaxe-and-lottomining">Bitaxe and LottoMining</h2>
  101. <p>One of the most interesting features of the app is its support for Bitaxe miners using the LottoMining approach. LottoMining is essentially a solo mining strategy where:</p>
  102. <ul>
  103. <li>Miners work independently to find blocks rather than contributing to a pool</li>
  104. <li>Each miner receives the full block reward when they successfully mine a block</li>
  105. <li>The reward frequency is less consistent but potentially more profitable</li>
  106. <li>Perfect for Bitaxe devices which are optimized for efficient solo mining</li>
  107. </ul>
  108. <p>The app provides specialized monitoring for Bitaxe solo miners, displaying:</p>
  109. <ul>
  110. <li>Current network difficulty and your hashrate</li>
  111. <li>Estimated time to find a block</li>
  112. <li>Block discovery notifications</li>
  113. <li>Complete mining statistics to optimize your setup</li>
  114. </ul>
  115. <h2 id="the-power-of-cursor">The Power of Cursor</h2>
  116. <p>I couldn&rsquo;t have completed this project so quickly without <a href="https://cursor.sh/">Cursor</a>, an AI-powered IDE that supercharged my development workflow:</p>
  117. <ul>
  118. <li>AI-assisted code generation saved hours of boilerplate writing</li>
  119. <li>Intelligent refactoring suggestions helped maintain clean architecture</li>
  120. <li>Context-aware completion significantly reduced development time</li>
  121. <li>Built-in code review capabilities caught potential issues early</li>
  122. </ul>
  123. </div>
  124. </div>
  125. </main>
  126. </div>
  127. <footer class="footer">
  128. <span>CC 2025, Built with <a href="https://gohugo.io" class="footerLink">Hugo</a> | Analytics by <a href="https://umami.codeskraps.com/" class="footerLink">Self-hosted Umami</a></span>
  129. </footer>
  130. </div>
  131. </body>
  132. </html>