<?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: Mike</title>
    <description>The latest articles on DEV Community by Mike (@mikehassi96).</description>
    <link>https://dev.to/mikehassi96</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%2F4157228%2F7708713a-a0e3-48f8-918e-8a963e0f8cfa.png</url>
      <title>DEV Community: Mike</title>
      <link>https://dev.to/mikehassi96</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mikehassi96"/>
    <language>en</language>
    <item>
      <title>I Finally Paid for a House Clean. No Regrets.</title>
      <dc:creator>Mike</dc:creator>
      <pubDate>Thu, 08 Oct 2026 21:25:18 +0000</pubDate>
      <link>https://dev.to/mikehassi96/i-finally-paid-for-a-house-clean-no-regrets-20ob</link>
      <guid>https://dev.to/mikehassi96/i-finally-paid-for-a-house-clean-no-regrets-20ob</guid>
      <description>&lt;p&gt;My place had reached that stage where I knew where everything was, but I wouldn't want anyone else to see it. Dishes in the sink, dust everywhere, and me at my desk in the middle of it trying to work from home.&lt;/p&gt;

&lt;p&gt;I kept telling myself I'd do a big clean on the weekend. The weekend kept not happening.&lt;/p&gt;

&lt;p&gt;So I finally booked &lt;a href="https://homecleaningservicesinrochesterny.com/brighton-ny/" rel="noopener noreferrer"&gt;cleaning services&lt;/a&gt; here in Brighton, just outside Rochester, and let someone else do it properly.&lt;/p&gt;

&lt;p&gt;Walking back into a tidy kitchen and a bathroom that actually smelled fresh was such a reset. My head felt clearer the next morning at my desk.&lt;/p&gt;

&lt;p&gt;Not life-changing, just one less thing draining my energy. I'll be doing it again.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>I Built a Tiny Calorie Calculator (and What the Numbers Taught Me)</title>
      <dc:creator>Mike</dc:creator>
      <pubDate>Thu, 08 Oct 2026 20:43:17 +0000</pubDate>
      <link>https://dev.to/mikehassi96/i-built-a-tiny-calorie-calculator-and-what-the-numbers-taught-me-f4f</link>
      <guid>https://dev.to/mikehassi96/i-built-a-tiny-calorie-calculator-and-what-the-numbers-taught-me-f4f</guid>
      <description>&lt;p&gt;I did not set out to build a health app. I just wanted a small weekend project that was not another to-do list — something with real inputs, real maths, and an answer I could actually check against my own life.&lt;/p&gt;

&lt;p&gt;So I built a tiny calorie calculator in plain JavaScript. No framework, no build step, just a form, a few inputs, and one function.&lt;/p&gt;

&lt;h2&gt;
  
  
  The formula I used
&lt;/h2&gt;

&lt;p&gt;Most calculators start with the Mifflin-St Jeor equation, which estimates your basal metabolic rate — roughly how many calories your body burns at rest.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;bmr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;weightKg&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;heightCm&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;isMale&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;base&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;weightKg&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mf"&gt;6.25&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;heightCm&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;isMale&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="nx"&gt;base&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;base&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;161&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;maintenance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;bmrValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;activity&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;bmrValue&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;activity&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;From there you multiply by an activity factor — around 1.2 if you sit at a desk most of the day, higher if you train a lot — and you get an estimate for your maintenance calories: the amount that should keep your weight roughly stable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Testing it on the only user I had: me
&lt;/h2&gt;

&lt;p&gt;The first bug was mine, not the code's. I entered my height in the wrong unit, got a number that would suit a small horse, and briefly questioned everything. Once I fixed that, the result genuinely surprised me.&lt;/p&gt;

&lt;p&gt;My maintenance estimate came out higher than I expected. I had been assuming I needed to eat much less, mostly based on vibes and random numbers I had seen online. While testing my numbers against a &lt;a href="https://caloriecalculatorsa.com/%D9%83%D9%85-%D8%B9%D8%AF%D8%AF-%D8%A7%D9%84%D8%B3%D8%B9%D8%B1%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%B1%D8%A7%D8%B1%D9%8A%D8%A9-%D9%81%D9%8A-%D8%A7%D9%84%D9%8A%D9%88%D9%85%D8%B1/" rel="noopener noreferrer"&gt;calories guide&lt;/a&gt; I realised the activity multiplier matters far more than I thought — changing it moved my result by several hundred calories, which is basically a whole meal.&lt;/p&gt;

&lt;p&gt;That was the interesting lesson. The formula itself is about ten lines. The hard part is being honest about the inputs: how active am I really, on a normal week, not my best week?&lt;/p&gt;

&lt;h2&gt;
  
  
  What I would do differently
&lt;/h2&gt;

&lt;p&gt;If I rebuild this, I will add proper unit tests for edge cases, warn when someone enters a height that is clearly in metres instead of centimetres, and show a range instead of one confident-looking number. An estimate presented as a single exact figure feels more certain than it really is.&lt;/p&gt;

&lt;p&gt;Still, as a tiny project it did its job. I shipped something small, I learned how an equation people quote everywhere actually works, and I came away eating a bit more sensibly — not less, which is not what I expected when I started typing.&lt;/p&gt;

&lt;p&gt;Have you built a small tool that ended up teaching you more about yourself than about code?&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Trying a New Android App Every Day for a Week: What Stuck</title>
      <dc:creator>Mike</dc:creator>
      <pubDate>Thu, 08 Oct 2026 20:09:24 +0000</pubDate>
      <link>https://dev.to/mikehassi96/trying-a-new-android-app-every-day-for-a-week-what-stuck-pef</link>
      <guid>https://dev.to/mikehassi96/trying-a-new-android-app-every-day-for-a-week-what-stuck-pef</guid>
      <description>&lt;p&gt;I spend most of my working day in a browser and a code editor, so my phone had quietly become a very boring place: messages, maps, a notes app I never open, and the same three time-wasting games. Last week I set myself a small rule — install one new Android app every evening, actually use it the next day, and be honest about whether it earned its place on my home screen.&lt;/p&gt;

&lt;p&gt;Day one was a game, because that felt like the easiest win. It was fun for exactly two commutes. The art was charming and the puzzles were clever, but by day three the energy timers and constant nudges to buy gems had worn me out. Deleted, and honestly no regrets.&lt;/p&gt;

&lt;p&gt;Day two was a small text editor, and this one surprised me. I draft a lot of posts, replies and half-formed ideas on my phone, usually in an app that fights me on formatting. A plain editor that saves Markdown files and stays out of the way turned those dead minutes on the train into useful drafting time. That one is still installed.&lt;/p&gt;

&lt;p&gt;The middle of the week blurred together a bit: a habit tracker that was far too pleased with itself, a scanner app I will probably need twice a year, and a tiny unit-converter utility that does one job and does it instantly. Most of the apps I tried came from browsing &lt;a href="https://jzaas.com.co/" rel="noopener noreferrer"&gt;jzaas&lt;/a&gt; in the evening, making a shortlist, and then only actually installing the one that sounded most useful for the next day.&lt;/p&gt;

&lt;p&gt;By the weekend I had settled on a routine I liked. In the morning I would check whether yesterday's app had solved a real problem or just created a new one. If I could not remember opening it, out it went. That simple test killed a weather app with beautiful widgets and wildly optimistic forecasts, and a to-do app that wanted me to build a whole system before I could add a single task.&lt;/p&gt;

&lt;p&gt;What stuck, in the end, was less about the apps and more about the filter. The editor stayed because it made drafting easier. The converter stayed because it is fast and honest about what it is. Everything that begged for attention, streaks or subscriptions went in the bin. I am going to keep the one-a-week version of this experiment going — slower, pickier, and with a much emptier home screen.&lt;/p&gt;

</description>
      <category>android</category>
    </item>
    <item>
      <title>What I Learned Building My First Landing Card UI</title>
      <dc:creator>Mike</dc:creator>
      <pubDate>Thu, 08 Oct 2026 19:54:37 +0000</pubDate>
      <link>https://dev.to/mikehassi96/what-i-learned-building-my-first-landing-card-ui-df6</link>
      <guid>https://dev.to/mikehassi96/what-i-learned-building-my-first-landing-card-ui-df6</guid>
      <description>&lt;p&gt;This week I built my first landing card UI using only HTML and CSS, and it taught me more than I expected about the basics. I started with a simple card containing a heading, a short paragraph, and a button, and tried to make it look clean on both a laptop and a phone screen.&lt;/p&gt;

&lt;p&gt;The first lesson was structure. Using semantic HTML helped a lot: a main section for the page, a heading in the right order, and a real button element instead of a styled div. When the structure was clear, the CSS became much easier to write and to fix when something looked wrong.&lt;/p&gt;

&lt;p&gt;For the styling, I learned how much small details matter. Flexbox helped me center the card, padding gave the text room to breathe, and a little border radius and shadow made the card feel separate from the background. I compared my layout ideas with a simple &lt;a href="https://example.com" rel="noopener noreferrer"&gt;example&lt;/a&gt; to remind myself how a basic page is put together, then wrote my own version from scratch.&lt;/p&gt;

&lt;p&gt;My biggest struggle was spacing. At first everything felt either too cramped or too far apart, so I slowed down and changed one value at a time. That simple habit made debugging much calmer. Next I want to practice responsive design and make the card adapt better to very small screens.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>css</category>
      <category>html</category>
      <category>ui</category>
    </item>
  </channel>
</rss>
