<?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: GG-HRN</title>
    <description>The latest articles on DEV Community by GG-HRN (@george-hernz).</description>
    <link>https://dev.to/george-hernz</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%2F3519517%2F8d568a52-a1e3-4c6a-8e9e-7e0575052d66.png</url>
      <title>DEV Community: GG-HRN</title>
      <link>https://dev.to/george-hernz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/george-hernz"/>
    <language>en</language>
    <item>
      <title>Building a Free, Lightweight PWA: Store Manager / Sales + Stock + Customers</title>
      <dc:creator>GG-HRN</dc:creator>
      <pubDate>Tue, 23 Sep 2025 13:01:31 +0000</pubDate>
      <link>https://dev.to/george-hernz/building-a-free-lightweight-pwa-store-manager-sales-stock-customers-49b4</link>
      <guid>https://dev.to/george-hernz/building-a-free-lightweight-pwa-store-manager-sales-stock-customers-49b4</guid>
      <description>&lt;p&gt;I just built a Progressive Web App called &lt;strong&gt;Store Manager&lt;/strong&gt; — an open-source, offline-first tool to help small businesses, freelancers, or anyone manage stores, products, sales, and customers directly from their phone or browser.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://gg-hrn.github.io/store-manager/index.html" rel="noopener noreferrer"&gt;https://gg-hrn.github.io/store-manager/index.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here’s what it does and how I built it 👇&lt;/p&gt;




&lt;h3&gt;
  
  
  🚀 What it can do
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Create stores with inventory → brands, categories, subcategories
&lt;/li&gt;
&lt;li&gt;Add products with features like warranty, expiration/lot tracking, serial numbers
&lt;/li&gt;
&lt;li&gt;Track stock levels automatically
&lt;/li&gt;
&lt;li&gt;Sales wizard: choose customer, add products to cart, receive payment, calculate change
&lt;/li&gt;
&lt;li&gt;Wallet balance per store, for tracking incoming money
&lt;/li&gt;
&lt;li&gt;Offline-friendly via IndexedDB
&lt;/li&gt;
&lt;li&gt;Add “Anonymous” customers for customers who don’t want to share info
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🛠 How it is built
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Pure HTML + JavaScript + CSS, no backend
&lt;/li&gt;
&lt;li&gt;Data stored in &lt;strong&gt;IndexedDB&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;PWA features: manifest file, service worker, install to home screen
&lt;/li&gt;
&lt;li&gt;Pluggable screens: dashboard, brands, products, sales, etc.
&lt;/li&gt;
&lt;li&gt;Native-look UX: styled for mobile first, responsive for desktop
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  📈 Why this matters
&lt;/h3&gt;

&lt;p&gt;Many small businesses don’t need heavy SaaS tools; they need something simple, free, portable, and without owning servers.&lt;br&gt;&lt;br&gt;
This app works offline, uses local storage, and gives control to the user. Perfect for sellers, market stalls, freelancers, or anyone who wants to manage stock + sales in a lightweight app.&lt;/p&gt;




&lt;h3&gt;
  
  
  📂 Wanna try it?
&lt;/h3&gt;

&lt;p&gt;You can test / use the app by cloning the repo (it’s open-source).&lt;br&gt;&lt;br&gt;
Just open in a browser (or on your phone), it works with no external server.  &lt;/p&gt;




&lt;h3&gt;
  
  
  SCREENSHOTS
&lt;/h3&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.amazonaws.com%2Fuploads%2Farticles%2Fzlhg5a8foefa5dlnkuu5.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%2Fzlhg5a8foefa5dlnkuu5.png" alt=" " width="800" height="1731"&gt;&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.amazonaws.com%2Fuploads%2Farticles%2Fea82edpefvs6hh1z67j9.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%2Fea82edpefvs6hh1z67j9.png" alt=" " width="800" height="1731"&gt;&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.amazonaws.com%2Fuploads%2Farticles%2Fqer2gjixvqqtc3roxalh.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%2Fqer2gjixvqqtc3roxalh.png" alt=" " width="800" height="1731"&gt;&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.amazonaws.com%2Fuploads%2Farticles%2F099eol7pn18w9603y0iu.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%2F099eol7pn18w9603y0iu.png" alt=" " width="800" height="1731"&gt;&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.amazonaws.com%2Fuploads%2Farticles%2Fypabdj59xl3fu22ohfob.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%2Fypabdj59xl3fu22ohfob.png" alt=" " width="800" height="1731"&gt;&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.amazonaws.com%2Fuploads%2Farticles%2Fjgjig5emce2c3a0o6y6h.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%2Fjgjig5emce2c3a0o6y6h.png" alt=" " width="800" height="1731"&gt;&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.amazonaws.com%2Fuploads%2Farticles%2Foxdobhbcy1w26xvrdfxm.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%2Foxdobhbcy1w26xvrdfxm.png" alt=" " width="800" height="1731"&gt;&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.amazonaws.com%2Fuploads%2Farticles%2Faqvh8x2ypf9ut36bgq4m.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%2Faqvh8x2ypf9ut36bgq4m.png" alt=" " width="800" height="1731"&gt;&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.amazonaws.com%2Fuploads%2Farticles%2Fs0evg3pzr438xdc2pmf3.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%2Fs0evg3pzr438xdc2pmf3.png" alt=" " width="800" height="1731"&gt;&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.amazonaws.com%2Fuploads%2Farticles%2Fedcm85sk7kpm428axurl.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%2Fedcm85sk7kpm428axurl.png" alt=" " width="800" height="1731"&gt;&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.amazonaws.com%2Fuploads%2Farticles%2Fqt1vwg2dgp4m9nya3bcm.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%2Fqt1vwg2dgp4m9nya3bcm.png" alt=" " width="800" height="1731"&gt;&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.amazonaws.com%2Fuploads%2Farticles%2Fko4qv6qb265810tqaz5q.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%2Fko4qv6qb265810tqaz5q.png" alt=" " width="800" height="1731"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  ✅ What’s next
&lt;/h3&gt;

&lt;p&gt;Here are features I plan to add:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reports: sales by customer, product trends
&lt;/li&gt;
&lt;li&gt;Notifications for low stock or warranty expiration
&lt;/li&gt;
&lt;li&gt;Export / backup data
&lt;/li&gt;
&lt;li&gt;Maybe sync / cloud for multi-device
&lt;/li&gt;
&lt;li&gt;More polished visuals, theming
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🙋 How you can help
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Try it out, give feedback
&lt;/li&gt;
&lt;li&gt;Share ideas for improvements
&lt;/li&gt;
&lt;li&gt;Contribute code if you code JS/HTML/CSS
&lt;/li&gt;
&lt;li&gt;Spread the word if you find it useful
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Let me know in the comments what features &lt;em&gt;you&lt;/em&gt; would want in a simple store manager app.  &lt;/p&gt;




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

</description>
      <category>pwa</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>First look to store manager</title>
      <dc:creator>GG-HRN</dc:creator>
      <pubDate>Sun, 21 Sep 2025 18:03:03 +0000</pubDate>
      <link>https://dev.to/george-hernz/first-look-to-store-manager-cep</link>
      <guid>https://dev.to/george-hernz/first-look-to-store-manager-cep</guid>
      <description>&lt;p&gt;🚀 Introducing Our Free Offline Stock &amp;amp; Inventory PWA!&lt;/p&gt;

&lt;p&gt;We just launched the first version of our open-source, fully offline stock manager and mini business apps — built to empower small stores, makers, and anyone needing inventory control without paying for expensive software.&lt;/p&gt;

&lt;p&gt;🌟 Features:&lt;br&gt;
• Create stores, categories, subcategories, brands&lt;br&gt;
• Manage products with price, cost, quantity, warranty, expiration dates, serials, lots&lt;br&gt;
• Smart duplication handling:&lt;br&gt;
• Serial numbers must be unique if using warranty&lt;br&gt;
• Lot numbers sum quantities automatically&lt;br&gt;
• Normal products sum quantities for easy management&lt;br&gt;
• Responsive design: works on mobile and desktop&lt;br&gt;
• Offline-first: uses IndexedDB so your data is always with you&lt;br&gt;
• PWA-ready: install as an app on your phone for native experience&lt;br&gt;
• Open-source and always free ❤️&lt;/p&gt;

&lt;p&gt;🔧 Why This Matters:&lt;br&gt;
• Perfect for small shops, makers, or remote stores with no internet or budget&lt;br&gt;
• Start tracking stock, warranties, and expiration easily&lt;br&gt;
• Ready to expand with sales, production, and reports modules&lt;/p&gt;

&lt;p&gt;💡 Get a first look:&lt;/p&gt;

&lt;p&gt;Install as a PWA on your mobile: &lt;br&gt;
&lt;a href="https://gg-hrn.github.io/store-manager/index.html" rel="noopener noreferrer"&gt;https://gg-hrn.github.io/store-manager/index.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Your feedback will help shape the next modules! Join the journey to make free, global, portable business apps.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>pwa</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Store Manager PWA for everyone</title>
      <dc:creator>GG-HRN</dc:creator>
      <pubDate>Sun, 21 Sep 2025 14:39:02 +0000</pubDate>
      <link>https://dev.to/george-hernz/store-manager-pwa-for-everyone-40np</link>
      <guid>https://dev.to/george-hernz/store-manager-pwa-for-everyone-40np</guid>
      <description>&lt;p&gt;I'm starting a new store manager that will help small bussines to manage his store, fully free and offline functions. I'll be updating states of the projects and hear what the community needs so you can tell if you wish something or can enhanced the project. My only goal is support who people that need help but he don't have money to spend in a more professional solution. In the future i'll migrate the project in jar that use a serverless bd to be more professional and show my best experience. If you want help me or support by donation just tell. Together we stand, divided we fall&lt;/p&gt;

</description>
      <category>pwa</category>
      <category>opensource</category>
      <category>freelance</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Hello Community! A Self-Taught Developer and Volunteer Here to Connect</title>
      <dc:creator>GG-HRN</dc:creator>
      <pubDate>Sun, 21 Sep 2025 12:44:18 +0000</pubDate>
      <link>https://dev.to/george-hernz/hello-community-a-self-taught-developer-and-volunteer-here-to-connect-31jk</link>
      <guid>https://dev.to/george-hernz/hello-community-a-self-taught-developer-and-volunteer-here-to-connect-31jk</guid>
      <description>&lt;p&gt;Hi everyone! 👋&lt;/p&gt;

&lt;p&gt;I’m a self-taught developer and volunteer, and I love creating tools that make life easier. Right now, I have a couple of free PWA projects you can try:&lt;/p&gt;

&lt;p&gt;• ToDo List – Organize your tasks efficiently&lt;br&gt;
 &lt;a href="https://gg-hrn.github.io/todo/index.html" rel="noopener noreferrer"&gt;https://gg-hrn.github.io/todo/index.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;• Workout Planner – Plan and track your workouts&lt;br&gt;
 &lt;a href="https://gg-hrn.github.io/workout-planner/index.html" rel="noopener noreferrer"&gt;https://gg-hrn.github.io/workout-planner/index.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A few notes:&lt;br&gt;
• These aren’t my strongest work yet, because I don’t have a PC right now. In the future, I plan to upload more complex projects that better reflect my skills and experience.&lt;br&gt;
• I can’t share my older work due to privacy agreements from previous contracts.&lt;/p&gt;

&lt;p&gt;You can check them out on their landing pages &lt;a href="https://gg-hrn.github.io/" rel="noopener noreferrer"&gt;https://gg-hrn.github.io/&lt;/a&gt; and explore the code on GitHub &lt;a href="https://github.com/GG-HRN/GG-HRN.github.io" rel="noopener noreferrer"&gt;https://github.com/GG-HRN/GG-HRN.github.io&lt;/a&gt;. I’d be happy to help anyone who wants guidance, advice, or collaboration on similar projects.&lt;/p&gt;

&lt;p&gt;I’m excited to connect, share my work, and support others in the community!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>pwa</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
