<?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: Boris</title>
    <description>The latest articles on DEV Community by Boris (@borisgelman).</description>
    <link>https://dev.to/borisgelman</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%2F3560520%2F617e3c49-caa1-4250-90ee-38d2eeac23e9.jpg</url>
      <title>DEV Community: Boris</title>
      <link>https://dev.to/borisgelman</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/borisgelman"/>
    <language>en</language>
    <item>
      <title>I built a Flutter paint calculator app — here's what I learned</title>
      <dc:creator>Boris</dc:creator>
      <pubDate>Wed, 25 Mar 2026 19:43:54 +0000</pubDate>
      <link>https://dev.to/borisgelman/i-built-a-flutter-paint-calculator-app-heres-what-i-learned-17ci</link>
      <guid>https://dev.to/borisgelman/i-built-a-flutter-paint-calculator-app-heres-what-i-learned-17ci</guid>
      <description>&lt;p&gt;After releasing a tile calculator app (500+ downloads), I applied the same formula to paint calculation.&lt;br&gt;
Tech stack:&lt;/p&gt;

&lt;p&gt;Flutter + Riverpod (state management)&lt;br&gt;
Hive (calculation history)&lt;br&gt;
SharedPreferences (settings persistence)&lt;br&gt;
Material 3, green #4CAF50&lt;br&gt;
flutter_localizations for i18n&lt;/p&gt;

&lt;p&gt;Key challenges:&lt;br&gt;
Units system — storing metric/imperial per saved calculation was tricky. Each history record saves its own unitSystem so when you load it back, units don't reset to current settings.&lt;br&gt;
Opening deductions — supporting both standard sizes (door 2.0×0.9m, window 1.2×1.0m) and custom sizes with separate counters for each type.&lt;br&gt;
Paint brand database — auto-filling coverage when a brand is selected while still allowing manual override.&lt;br&gt;
The app:&lt;br&gt;
Paint Calculator: Room &amp;amp; Wall&lt;br&gt;
&lt;a href="https://play.google.com/store/apps/details?id=com.paintcalculator.squarefeet.wallroom" rel="noopener noreferrer"&gt;https://play.google.com/store/apps/details?id=com.paintcalculator.squarefeet.wallroom&lt;/a&gt;&lt;br&gt;
Happy to answer questions about the Flutter implementation.&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>dart</category>
      <category>android</category>
      <category>mobiledev</category>
    </item>
    <item>
      <title>How I Built “Love Calculator by Name” – A Fun Offline Flutter App in One Weekend</title>
      <dc:creator>Boris</dc:creator>
      <pubDate>Thu, 26 Feb 2026 12:38:49 +0000</pubDate>
      <link>https://dev.to/borisgelman/how-i-built-love-calculator-by-name-a-fun-offline-flutter-app-in-one-weekend-2a6</link>
      <guid>https://dev.to/borisgelman/how-i-built-love-calculator-by-name-a-fun-offline-flutter-app-in-one-weekend-2a6</guid>
      <description>&lt;p&gt;How I Built “Love Calculator by Name” – A Fun Offline Flutter App in One Weekend&lt;br&gt;
As a Flutter developer with over 3 years of experience and 20+ apps already published on Google Play, I still love building small, joyful utility apps. They are perfect for practicing new techniques, testing animations, and shipping something fun in just a few days.&lt;br&gt;
This time I decided to revive a classic — the “Love Calculator by Name”. You know, the one where you enter two names and get a funny love percentage with hearts and confetti. In 2026 it still gets thousands of downloads because people love simple, shareable entertainment apps.&lt;br&gt;
In this article I’ll show you exactly how I built the complete app using only Flutter — fully offline, beautiful animations, share feature, and ready for Google Play.&lt;br&gt;
Tech Stack (kept it minimal and modern)&lt;/p&gt;

&lt;p&gt;Flutter 3.24+&lt;br&gt;
Dart&lt;br&gt;
Packages:&lt;br&gt;
confetti – for the exploding hearts&lt;br&gt;
flutter_animate – super easy animations&lt;br&gt;
share_plus – one-tap sharing&lt;br&gt;
google_fonts – nice romantic fonts&lt;/p&gt;

&lt;p&gt;No Firebase, no backend — 100% offline.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Love Calculation Logic&lt;/strong&gt;&lt;br&gt;
The heart of the app is a deterministic (but still fun) percentage calculator:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Dartint calculateLovePercentage(String name1, String name2) {
  final combined = (name1 + name2).toLowerCase();
  int sum = combined.codeUnits.fold(0, (a, b) =&amp;gt; a + b);
  return (sum % 101); // 0-100%
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I also added the classic FLAMES algorithm as an optional mode (Friends, Lovers, Affection, Marriage, Enemies, Siblings) because people still love it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Beautiful Animated UI&lt;/strong&gt;&lt;br&gt;
The main screen is simple: two TextFields and a big pulsing “Calculate Love!” button.&lt;br&gt;
When the user taps, I show a 3-second animation with a growing heart, then confetti explodes and the result appears with scale + fade animation.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DartAnimate(
  effects: [ScaleEffect(), FadeEffect()],
  child: Text(
    '$percentage%',
    style: GoogleFonts.dancingScript(fontSize: 120, color: Colors.pink),
  ),
)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The result screen also shows a funny message depending on the percentage (I wrote 8 different texts).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Share Feature&lt;/strong&gt;&lt;br&gt;
One of the most important parts — users love to share screenshots.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DartShare.share(
  'We got $percentage% on Love Calculator by Name! ❤️\n'
  'Try it yourself: https://play.google.com/store/apps/details?id=com.love.calculator.lovecalculator',
);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Publishing to Google Play&lt;/strong&gt;&lt;br&gt;
Since the app is very lightweight (&amp;lt;15 MB), the review process took only 2 hours. Tips I always use:&lt;/p&gt;

&lt;p&gt;Make 6–8 attractive screenshots with clear captions&lt;br&gt;
Write ASO-optimized title and description (I used “Love Calculator by Name”)&lt;br&gt;
Add a short 15-second promo video (recorded with the app itself)&lt;br&gt;
Privacy policy is just one sentence: “This app does not collect any user data.”&lt;/p&gt;

&lt;p&gt;Lessons I Learned (again)&lt;/p&gt;

&lt;p&gt;Even simple apps need great animations — they make the difference between “meh” and “wow”.&lt;br&gt;
Offline-first wins in 2026. People hate apps that require internet for basic things.&lt;br&gt;
Share button increases organic downloads dramatically.&lt;br&gt;
Testing on real devices with different languages (especially Cyrillic names) is a must.&lt;/p&gt;

&lt;p&gt;Final Result&lt;br&gt;
The app is live, clean, beautiful, and already getting positive reviews.&lt;br&gt;
You can try Love Calculator by Name right now&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.amazonaws.com%2Fuploads%2Farticles%2Fuavotop5r57udgwr0gtq.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%2Fuavotop5r57udgwr0gtq.png" alt=" " width="800" height="390"&gt;&lt;/a&gt;:&lt;br&gt;
→ &lt;a href="https://play.google.com/store/apps/details?id=com.love.calculator.lovecalculator" rel="noopener noreferrer"&gt;https://play.google.com/store/apps/details?id=com.love.calculator.lovecalculator&lt;/a&gt;&lt;br&gt;
If you want the full source code, I’ll happily share the GitHub repo in the comments (just ask).&lt;br&gt;
What do you think — would you build something similar as your next weekend project? Or do you have another fun utility idea? Let me know in the comments! ❤️&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>mobileapp</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
