<?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: Hena Suvarnan</title>
    <description>The latest articles on DEV Community by Hena Suvarnan (@hena_suvarnan_4dc1f42a825).</description>
    <link>https://dev.to/hena_suvarnan_4dc1f42a825</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%2F3338100%2F4462baca-795a-477d-a146-fd051b445162.jpg</url>
      <title>DEV Community: Hena Suvarnan</title>
      <link>https://dev.to/hena_suvarnan_4dc1f42a825</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hena_suvarnan_4dc1f42a825"/>
    <language>en</language>
    <item>
      <title>Getting Started with GoFr: A Developer's Review &amp; Tutorial</title>
      <dc:creator>Hena Suvarnan</dc:creator>
      <pubDate>Sun, 31 Aug 2025 04:34:38 +0000</pubDate>
      <link>https://dev.to/hena_suvarnan_4dc1f42a825/getting-started-with-gofr-a-developers-review-tutorial-475k</link>
      <guid>https://dev.to/hena_suvarnan_4dc1f42a825/getting-started-with-gofr-a-developers-review-tutorial-475k</guid>
      <description>&lt;p&gt;If you have ever developed microservices in Go, you understand the headache—configuring structured logging, dealing with configs, databus wiring, graceful shutdowns, and so on. That's where &lt;strong&gt;&lt;a href="https://gofr.dev/" rel="noopener noreferrer"&gt;GoFr&lt;/a&gt;&lt;/strong&gt; steps in: a minimal yet robust Go framework that helps make developing scalable microservices simpler, quicker, and neater.&lt;/p&gt;

&lt;p&gt;In this article, I'll describe my experience trying out GoFr, lead you through a brief tutorial, and provide my honest opinion of where it excels.&lt;/p&gt;




&lt;h2&gt;
  
  
  ???? Why GoFr?
&lt;/h2&gt;

&lt;p&gt;GoFr is more than "yet another Go framework." It includes sane defaults, opinionated layout, and developer-centric tooling that assists you in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;✅ Rapidly bootstrapping services with pre-spieced modules.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;✅ Have databases (MySQL, PostgreSQL, MongoDB, Redis, etc.) supported out of the box.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;✅ Use standardized &lt;strong&gt;logging, config management, metrics, and health checks&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;✅ Write cleaner, testable Go code thanks to its focus on dependency injection and interfaces.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;✅ Follow best practices without reinventing the wheel.&lt;br&gt;
Basically, GoFr is like having a well-organized toolbox that prevents the “spaghetti code” problem when your service grows.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⚡ Setting Up GoFr
&lt;/h2&gt;

&lt;p&gt;First, install GoFr:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;
go get github.com/gofr-dev/gofr
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, create a simple &lt;code&gt;main.go&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight go"&gt;&lt;code&gt;
&lt;span class="k"&gt;package&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;

    &lt;span class="s"&gt;"context"&lt;/span&gt;
    &lt;span class="s"&gt;"github.com/gofr-dev/gofr/pkg/gofr"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

    &lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="n"&gt;gofr&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;New&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="c"&gt;// Define a simple route&lt;/span&gt;

    &lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GET&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"/hello"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;func&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ctx&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;gofr&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Context&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;interface&lt;/span&gt;&lt;span class="p"&gt;{},&lt;/span&gt; &lt;span class="kt"&gt;error&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="s"&gt;"Hello, GoFr!"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;nil&lt;/span&gt;
    &lt;span class="p"&gt;})&lt;/span&gt;
    &lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Start&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;Run the app:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;
go run main.go
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Visit &lt;strong&gt;&lt;a href="http://localhost:8000/hello" rel="noopener noreferrer"&gt;http://localhost:8000/hello&lt;/a&gt;&lt;/strong&gt; → ???? You’ll see &lt;code&gt;"Hello, GoFr!"&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;That’s it—you just built your first microservice with structured logging, graceful shutdown, and config loading already wired in by GoFr.&lt;/p&gt;




&lt;h2&gt;
  
  
  ???? Testing with GoFr
&lt;/h2&gt;

&lt;p&gt;One of the best things about GoFr is its testing philosophy. It encourages you to maintain &lt;strong&gt;100% test coverage for new code&lt;/strong&gt;. Tests come naturally because of its minimal interfaces:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight go"&gt;&lt;code&gt;
&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="n"&gt;TestHelloRoute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;testing&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;T&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="n"&gt;gofr&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;New&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;req&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;_&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;NewRequest&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"GET"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"/hello"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;res&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="n"&gt;httptest&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;NewRecorder&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ServeHTTP&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;req&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;assert&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Equal&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Code&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;

&lt;span class="n"&gt;assert&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Equal&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;`\"Hello, GoFr!\"`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Body&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Boom ✅ Simple, clean, testable.&lt;/p&gt;




&lt;h2&gt;
  
  
  ???? Working with Databases
&lt;/h2&gt;

&lt;p&gt;GoFr has support for multiple databases built in. For instance, with MySQL:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight go"&gt;&lt;code&gt;&lt;span class="n"&gt;db&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DB&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"mysql"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;rows&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;err&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="n"&gt;db&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Query&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"SELECT * FROM users"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Configs are injected via environment variables, so you don't hardcode credentials. Your app is production-ready on day one.&lt;/p&gt;




&lt;h2&gt;
  
  
  ???? My Honest Thoughts
&lt;/h2&gt;

&lt;p&gt;After experimenting with GoFr for a couple of days, here's my quick summary:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;???? Lightning-fast setup.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;???? Integrated tools (logs, configs, metrics) save so much time.&lt;/li&gt;
&lt;li&gt;???? Multiple DBs &amp;amp; services supported (Kafka, Redis, etc.).&lt;/li&gt;
&lt;li&gt;✅ Testing-first approach feels invigorating.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Still in development—community smaller than the giants like Gin or Echo.&lt;/li&gt;
&lt;li&gt;Some functionality needs Docker setups (good for consistency, but bulkier for newbies).
But overall? If you're developing &lt;strong&gt;production-grade microservices in Go&lt;/strong&gt;, GoFr is definitely worth a look.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GoFr strikes a nice balance—it's opinionated enough to provide you with structure, but loose enough to allow you to do things your own way. If you're sick of wiring up the same boilerplate in each new service, GoFr will change your life.&lt;/p&gt;

&lt;p&gt;Try it out here: &lt;a href="https://gofr.dev" rel="noopener noreferrer"&gt;https://gofr.dev&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy coding! ✨&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Wrestling with GitHub: How My Book App Project Nearly Drove Me Nuts (But Actually Taught Me a Ton)</title>
      <dc:creator>Hena Suvarnan</dc:creator>
      <pubDate>Tue, 22 Jul 2025 18:22:18 +0000</pubDate>
      <link>https://dev.to/hena_suvarnan_4dc1f42a825/wrestling-with-github-how-my-book-app-project-nearly-drove-me-nuts-but-actually-taught-me-a-ton-309n</link>
      <guid>https://dev.to/hena_suvarnan_4dc1f42a825/wrestling-with-github-how-my-book-app-project-nearly-drove-me-nuts-but-actually-taught-me-a-ton-309n</guid>
      <description>&lt;p&gt;So, what’s this project about? Well, I dove headfirst into the GTech µLearn GitHub Enablement Challenge and—because I like to make my life harder—decided to build a Book App from scratch. The twist? I forced myself to use Git and GitHub like a “real developer.” Branches, staging, pull requests, the whole nine yards. I basically wanted to stop being that person who claims they know Git but panics at the sight of a merge conflict.&lt;/p&gt;

&lt;p&gt;What was I really fixing here? Honestly, it was my total lack of hands-on Git experience. I mean, I study Computer Science (BTech gang rise up), and everyone keeps yapping about how Git is “essential.” But using it for actual project management? That was new territory for me. My goal: build something that works, and actually use Git properly throughout.&lt;/p&gt;

&lt;p&gt;So, how’d I go about it? Broke it up into bite-sized chunks because, let’s be real, trying to swallow the whole cake at once is a recipe for disaster. First, I got cozy with the basics—add, commit, branch, merge, pull request (the usual suspects). Then, I mapped out what this Book App was even supposed to do. Set up my repo, got my local dev environment rolling, and decided every feature gets its own branch (shoutout to add-books and delete-books branches, MVPs of the project). Committed early, committed often. Tried to keep messages clear but, hey, sometimes “fix stuff” is as descriptive as it gets at 2 a.m. Managed everything with pull requests, just to pretend I had a team and wasn’t yelling at myself in the comments. Oh, and I gave myself a 7-day deadline for dramatic tension.&lt;/p&gt;

&lt;p&gt;Action plan? Looked something like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Day 1–2: Set up repo, mess around with branching until something worked.&lt;/li&gt;
&lt;li&gt;Day 3–5: Churn out the main features—add, view, delete books. (Delete was weirdly satisfying.)&lt;/li&gt;
&lt;li&gt;Day 6: UI panic mode, aka “make it look less ugly and squash bugs.”&lt;/li&gt;
&lt;li&gt;Day 7: Pray. Review everything, merge, submit the final PR, and hope for the best.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Kept a checklist in Notion because if it’s not in Notion, did it even happen?&lt;/p&gt;

&lt;p&gt;Success criteria? Simple-ish:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Book App works. You can add and delete books without the thing catching on fire.&lt;/li&gt;
&lt;li&gt;Every feature has its own branch and readable commit history (well, mostly readable).&lt;/li&gt;
&lt;li&gt;Code isn’t a dumpster fire, and maybe there are comments.&lt;/li&gt;
&lt;li&gt;Pull request goes through without the repo melting down.
When all that happened, and the app ran smoother than my morning coffee, I called it done.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, how’d it actually go? Honestly? Way better than expected. I learned more in that week than the last two months of pretending to “study” Git. Sure, my first few commits were chaos, and I totally forgot to branch before coding once (never again), but I fixed it. Merge conflicts? Nailed it. Eventually.&lt;/p&gt;

&lt;p&gt;Wins:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Having an action plan kept me from spiraling.&lt;/li&gt;
&lt;li&gt;Branches made my life 100x easier.&lt;/li&gt;
&lt;li&gt;I can now handle merge conflicts without rage-quitting.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Could’ve gone smoother though:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Maybe I shouldn’t have left UI design ‘til the literal last day. Rookie move.&lt;/li&gt;
&lt;li&gt;Forgot to write a README at first (cue facepalm). Added it later, don’t worry.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All in all, I survived, learned a ton, and now Git doesn’t terrify me. Well… not as much, anyway. It's all about the efforts anyway right?....well, I hope so....&lt;/p&gt;

</description>
    </item>
    <item>
      <title>From Little Kites to Tech Wings: How 8th Grade Changed My Life</title>
      <dc:creator>Hena Suvarnan</dc:creator>
      <pubDate>Thu, 10 Jul 2025 02:17:13 +0000</pubDate>
      <link>https://dev.to/hena_suvarnan_4dc1f42a825/the-little-kites-me-1h82</link>
      <guid>https://dev.to/hena_suvarnan_4dc1f42a825/the-little-kites-me-1h82</guid>
      <description>&lt;p&gt;In 8th grade, life thrust me into a new chapter — literally. I had just switched from a CBSE school to a government school after 7th grade. And now, if you've ever changed like that, you will understand what I mean when I say culture shock. It all seemed new — from the classroom vibe to the manner in which people interacted and related. It was intimidating initially, and for a time, I was the square peg in the round hole. But one thing I was certain of: I needed to make do. I needed to get along.&lt;/p&gt;

&lt;p&gt;Next was the school club registration day — an annual tradition in which each student was required to be a member of at least one after-school club. I recall reading through the list of clubs as if studying a menu for a new restaurant. Nothing resonated. until I read "Little Kites."&lt;/p&gt;

&lt;p&gt;That title immediately caught my attention — light, carefree, and promising something different.&lt;/p&gt;

&lt;p&gt;Little Kites ended up being so much more than I ever could have envisioned. It was a technology club run by enthusiastic instructors who served as mentors, not simply teachers. We lingered after school for what we termed "training sessions," which were actually just the most awesome technology workshops you could possibly attend at that age.&lt;/p&gt;

&lt;p&gt;There is where I gained access to tools and platforms such as Scratch, TupiTube, Blender, and a whole universe of easy-to-use animation and coding tools. For the first time ever, I wasn't merely a passive consumer of technology — I was making things with it. That latent spark of interest I'd had in tech suddenly ignited. Looking back at it now, it was actually pretty fun tho.&lt;/p&gt;

&lt;p&gt;One of the most exciting highlights? I was chosen for a sub-district bootcamp! And although the sessions were eye-opening and the workshops motivating, let's keep it real — the grub was an entire spectacle in itself (iykyk). The camp housed enthusiastic kids like me from different schools, and I finally felt part of a tribe of tech aspirants. There, I got to meet some cool friends too!&lt;/p&gt;

&lt;p&gt;In retrospect, I can see how crucial that club was in determining my path. That single decision — to join Little Kites — was the starting point for my present trajectory. Fast forward a couple of years, and here I am, studying BTech in Computer Science, chasing the dreams that were sown and nurtured during those afternoon hours.&lt;/p&gt;

&lt;p&gt;It's ironic how something that began so "little" ended up becoming so life-altering.&lt;br&gt;
So yeah — Little Kites weren't so little after all. They were my wings.&lt;/p&gt;

</description>
      <category>ubuntu</category>
      <category>scratch</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Blog Post: Hydrolumos - Lighting the Future, One Drop at a Time</title>
      <dc:creator>Hena Suvarnan</dc:creator>
      <pubDate>Wed, 09 Jul 2025 09:02:31 +0000</pubDate>
      <link>https://dev.to/hena_suvarnan_4dc1f42a825/blog-post-hydrolumos-lighting-the-future-one-drop-at-a-time-143p</link>
      <guid>https://dev.to/hena_suvarnan_4dc1f42a825/blog-post-hydrolumos-lighting-the-future-one-drop-at-a-time-143p</guid>
      <description>&lt;p&gt;When we first signed up for the TechXcel Challenge 2025, our minds were buzzing with ideas — but one concept truly stuck: HydroLumos. A lamp powered by saltwater. No electricity, no pollution — just science and simplicity. Sounds futuristic? That’s exactly what we’re aiming for.&lt;/p&gt;

&lt;p&gt;So, what is HydroLumos? It’s a conceptual innovation: an eco-friendly, saltwater-powered lamp designed for areas with limited access to electricity. It uses the principles of electrochemical reactions — saltwater as an electrolyte, combined with magnesium and copper plates, to generate light. But it’s not just a science experiment. It’s a vision — to make clean, renewable lighting accessible and beautiful.&lt;/p&gt;

&lt;p&gt;The problem we’re solving is energy scarcity and the lack of sustainable lighting in remote or disaster-prone areas. Millions still live without reliable electricity, and traditional fuel-based lighting is both dangerous and polluting. We wanted to rethink lighting — to make it sustainable, portable, and powered by something as simple as seawater or saline.&lt;/p&gt;

&lt;p&gt;To tackle this, our plan was to research the chemistry behind saltwater energy, explore existing designs, and identify how we could improve on them — both functionally and aesthetically. Our version wouldn’t just be practical; it would look cool too. Think sleek, minimalist design with subtle glow effects, ideal for both emergency use and everyday ambiance.&lt;/p&gt;

&lt;p&gt;Our action plan looked something like this:&lt;/p&gt;

&lt;p&gt;Phase 1: Deep-dive into saltwater battery research&lt;/p&gt;

&lt;p&gt;Phase 2: Sketch design concepts + user scenarios&lt;/p&gt;

&lt;p&gt;Phase 3: Create a digital prototype &amp;amp; 3D model&lt;/p&gt;

&lt;p&gt;Phase 4: Prepare pitch decks and gather feedback&lt;/p&gt;

&lt;p&gt;Since it’s still in the idea stage, our success criteria were based on validation. Did people understand the concept? Did they get excited about it? Did it spark (pun intended) imagination and potential? If yes, we considered that a big win.&lt;/p&gt;

&lt;p&gt;So how did it go? Honestly, way better than we expected. Judges loved the concept, peers were curious, and the feedback? Super encouraging. We had challenges explaining the chemistry in simple terms and figuring out feasible materials, but those hiccups only made the journey more interesting.&lt;/p&gt;

&lt;p&gt;HydroLumos might not be a product yet, but it’s a spark — a bright idea born from curiosity and care. And in this karma war, it’s proof that sometimes, the biggest power comes from the simplest things — like salt, water, and a bunch of students who dared to dream.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
