<?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: mabona011145629</title>
    <description>The latest articles on DEV Community by mabona011145629 (@mabona011145629).</description>
    <link>https://dev.to/mabona011145629</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%2F1847654%2Fda2631f7-83c4-4e7c-9dce-aad961f03b8b.jpg</url>
      <title>DEV Community: mabona011145629</title>
      <link>https://dev.to/mabona011145629</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mabona011145629"/>
    <language>en</language>
    <item>
      <title>🌸 Petal – A Daily Companion for Growth, Gratitude &amp; Goodness</title>
      <dc:creator>mabona011145629</dc:creator>
      <pubDate>Mon, 13 Jul 2026 02:06:42 +0000</pubDate>
      <link>https://dev.to/mabona011145629/petal-a-daily-companion-for-growth-gratitude-goodness-5bj7</link>
      <guid>https://dev.to/mabona011145629/petal-a-daily-companion-for-growth-gratitude-goodness-5bj7</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/weekend-2026-07-09"&gt;Weekend Challenge: Passion Edition&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Petal&lt;/strong&gt; is a daily journal and self‑growth companion that helps people track the good they do, reflect on their challenges, and stay motivated to become better versions of themselves.&lt;/p&gt;

&lt;p&gt;The app allows users to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Log something &lt;strong&gt;good&lt;/strong&gt; they did each day&lt;/li&gt;
&lt;li&gt;Log something they want to &lt;strong&gt;improve&lt;/strong&gt; (a lesson learned)&lt;/li&gt;
&lt;li&gt;Make a &lt;strong&gt;promise&lt;/strong&gt; to themselves and receive a gentle reminder to keep it&lt;/li&gt;
&lt;li&gt;Receive &lt;strong&gt;personalized encouragement&lt;/strong&gt; from a pink, talking doll named Petal&lt;/li&gt;
&lt;li&gt;See their &lt;strong&gt;progress&lt;/strong&gt; with stats, streaks, and a performance bar&lt;/li&gt;
&lt;li&gt;Chat with an &lt;strong&gt;AI assistant&lt;/strong&gt; that offers wisdom, comfort, and motivation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Petal is not just an app — it is a reflection of who I am. I built it because I believe the world needs more people doing more good than bad — for others, for themselves, and for the environment. I love humanity, and I love helping others. That is what makes me happy. I wish to people doing good to another more than doing bad&lt;br&gt;
**&lt;/p&gt;




&lt;h2&gt;
  
  
  Demo login email: &lt;a href="mailto:maxwellmabona581@gmail.com"&gt;maxwellmabona581@gmail.com&lt;/a&gt;, password: Mabona
&lt;/h2&gt;

&lt;p&gt;🌐 &lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://mabona.firstsuninvestment.com/devweekendchallenge" rel="noopener noreferrer"&gt;https://mabona.firstsuninvestment.com/devweekendchallenge&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📱 &lt;strong&gt;Screenshots:&lt;/strong&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnjn5x7mh4xyu7wo7q2we.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnjn5x7mh4xyu7wo7q2we.png" alt="Petal Login Screen" width="720" height="1465"&gt;&lt;/a&gt;&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqc5iaerxv45g9a5hgjub.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqc5iaerxv45g9a5hgjub.png" alt="Petal Dashboard" width="720" height="1465"&gt;&lt;/a&gt;&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fshpa7k209dndormo0y8j.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fshpa7k209dndormo0y8j.png" alt="Petal Dashboard Promise" width="720" height="1465"&gt;&lt;/a&gt;&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fomsir0laz7relnpsvfjv.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fomsir0laz7relnpsvfjv.png" alt="Petal Response with Doll" width="720" height="1465"&gt;&lt;/a&gt;&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fomsir0laz7relnpsvfjv.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fomsir0laz7relnpsvfjv.png" alt="Petal Response AI Chat" width="720" height="1465"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Video Walkthrough:&lt;/strong&gt; &lt;a href="https://mabona.firstsuninvestment.com/devweekendchallenge/screenshots/13.07.2026_04.11.49_REC.mp4" rel="noopener noreferrer"&gt;Watch Petal in action&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;🐙 &lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/mabona011145629/devweekendchallenge" rel="noopener noreferrer"&gt;https://github.com/mabona011145629/devweekendchallenge&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository contains all source files, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;index.php&lt;/code&gt; — Login and registration&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;dashboard.php&lt;/code&gt; — Main user dashboard&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;results.php&lt;/code&gt; — Response page with the talking doll&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;github_ai.php&lt;/code&gt; — AI chat integration with database fallback&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;petal_responses.sql&lt;/code&gt; — The complete database of 180+ encouraging responses&lt;/li&gt;
&lt;li&gt;PWA manifest and service worker for offline support&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;I built Petal with a &lt;strong&gt;mobile-first, human-centred&lt;/strong&gt; approach. The goal was not just to create a tool, but to create a companion — something that feels alive, warm, and genuinely caring.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technical Stack:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; HTML, CSS (with glass‑morphism and smooth animations), JavaScript&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; PHP (vanilla, no frameworks)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database:&lt;/strong&gt; MySQL (hosted on cPanel)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Integration:&lt;/strong&gt; GitHub Models API with a smart database fallback&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Text‑to‑Speech:&lt;/strong&gt; Web Speech API for the talking doll&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Voice Input:&lt;/strong&gt; Web Speech Recognition API&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PWA:&lt;/strong&gt; Service worker + manifest for offline and home‑screen installation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Features &amp;amp; Decisions:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The Talking Doll&lt;/strong&gt; – I designed a pink, animated SVG character that speaks the user's responses using the Web Speech API. The doll's mouth moves when it talks, and it has a speech bubble that appears above its head. This makes the experience feel like a real conversation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Smart Response System&lt;/strong&gt; – Instead of relying purely on an AI API, I built a database of 180+ pre‑written responses (categorised by keywords, tone, and sentiment). If the AI is unavailable, the app falls back to these responses seamlessly. The system also detects user intent — whether they are greeting, thanking, sharing joy, or expressing sadness — and responds appropriately.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Promise Tracker&lt;/strong&gt; – Users can make a promise to themselves. The app reminds them after a set time (configurable) to check in and complete their promise. This builds accountability and self‑discipline.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Progress Visualisation&lt;/strong&gt; – The dashboard shows stats, streaks, and a performance bar that visualises the ratio of "good" entries to "challenges." This gives users a clear picture of their growth over time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mobile‑First &amp;amp; PWA&lt;/strong&gt; – The app is fully responsive and works as a Progressive Web App. Users can install it on their phone's home screen and use it offline.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Voice Input&lt;/strong&gt; – Users can speak their entries instead of typing, making the app more accessible and natural to use.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;p&gt;I am not submitting to any specific prize category (Snowflake, Solana, ElevenLabs, or Google AI). My focus was on building a meaningful, working product that solves a real human need — encouraging goodness, self‑reflection, and growth.&lt;/p&gt;




&lt;h2&gt;
  
  
  One Final Thought
&lt;/h2&gt;

&lt;p&gt;I started programming because I wanted to help my mother. I keep programming because I want to help the world.&lt;/p&gt;

&lt;p&gt;Petal is my way of reminding people that &lt;strong&gt;they are worthy, they are enough, and they are loved.&lt;/strong&gt; It is a gentle nudge to do more good than bad — not just for others, but for themselves.&lt;/p&gt;

&lt;p&gt;I love humanity. I love helping others. That makes me happy.&lt;/p&gt;

&lt;p&gt;And if Petal helps even one person feel a little better about themselves, then every line of code I wrote was worth it.&lt;/p&gt;

&lt;p&gt;🌱 &lt;em&gt;Be kind. Do good. Grow every day.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;— &lt;strong&gt;Mabona Maxwell Sihlongonyane&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
📧 &lt;a href="mailto:maxwellmabona581@gmail.com"&gt;maxwellmabona581@gmail.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;
🐙 &lt;a href="https://github.com/mabona011145629" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;br&gt;&lt;br&gt;
🌐 &lt;a href="https://mabona.firstsuninvestment.com" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  About the Author
&lt;/h2&gt;

&lt;p&gt;I am a software developer, network engineer, and robotics teacher from Eswatini volunteering. I am passionate about building technology that empowers people and communities. This project is a reflection of my deepest values: goodness, kindness, and growth.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
    </item>
    <item>
      <title>GitHub Finish-Up-A-Thon Challenge</title>
      <dc:creator>mabona011145629</dc:creator>
      <pubDate>Sat, 06 Jun 2026 21:25:40 +0000</pubDate>
      <link>https://dev.to/mabona011145629/github-finish-up-a-thon-challenge-3d17</link>
      <guid>https://dev.to/mabona011145629/github-finish-up-a-thon-challenge-3d17</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-05-21"&gt;GitHub Finish-Up-A-Thon Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Soulmate&lt;/strong&gt; is not a dating app. It is a &lt;strong&gt;digital love platform&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I built Soulmate because I believe love is physical and emotional — and now we have found a digital place for love too. The app connects people through normal chats for lovers and friends, and &lt;strong&gt;therapy chats with Love Doctors&lt;/strong&gt; — licensed relationship helpers who can only be accessed with a PIN.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Normal chat (text, voice notes, pictures, music, videos — no documents)&lt;/li&gt;
&lt;li&gt;Love Doctor chat (PIN secured, screenshot prevention in Java)&lt;/li&gt;
&lt;li&gt;Request Partner feature (one partner asks Love Doctor to invite the other into joint therapy)&lt;/li&gt;
&lt;li&gt;Search and love requests&lt;/li&gt;
&lt;li&gt;Post feeds with gender-based filtering (females see more male posts, males see more female posts, plus LGBTQ+ support)&lt;/li&gt;
&lt;li&gt;Profile editing and hiding&lt;/li&gt;
&lt;li&gt;"Keep me logged in"&lt;/li&gt;
&lt;li&gt;Notifications and post management&lt;/li&gt;
&lt;li&gt;Admob integration (test mode)&lt;/li&gt;
&lt;li&gt;All gender identities supported — love is for everyone&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;My saying:&lt;/strong&gt; &lt;em&gt;Love is Physical. Love is Emotional. Now we have found a Digital Platform for Love.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I chose pink because love, in my mind, is pink or red. I believe people will love it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tech stack:&lt;/strong&gt;Java (screenshot prevention), Firebase, Admob ads for monetization, PHP backend.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;code&gt;[github.com/mabona011145629/Soulmate-Love-App](https://github.com/mabona011145629/Soulmate-Love-App)&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Screenshots:&lt;/strong&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%2Fo7uo4z5f171rpckha72b.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%2Fo7uo4z5f171rpckha72b.png" alt="Soulmate Login" width="720" height="1465"&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%2Fr56hqbpv9kqj37rwxk5z.jpg" 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%2Fr56hqbpv9kqj37rwxk5z.jpg" alt=" " width="720" height="1145"&gt;&lt;/a&gt;&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%2Fr8k7kv8dttvxwilv6ix3.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%2Fr8k7kv8dttvxwilv6ix3.png" alt="Pin for Doctor Tab Pin" width="720" height="1465"&gt;&lt;/a&gt;&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%2Fjejs8ajdybyckmhlg9ip.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%2Fjejs8ajdybyckmhlg9ip.png" alt="Pin for Doctor Tab Pi" width="720" height="1465"&gt;&lt;/a&gt;&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%2Fh84pmnqbt1r5jn6yg5jt.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%2Fh84pmnqbt1r5jn6yg5jt.png" alt="Chat Interface" width="720" height="1465"&gt;&lt;/a&gt;&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%2Fk3u18pnmminxgmomboe3.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%2Fk3u18pnmminxgmomboe3.png" alt="Post or feeds creation" width="720" height="1465"&gt;&lt;/a&gt;&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%2Fw3z1crsom0tc4tl19qda.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%2Fw3z1crsom0tc4tl19qda.png" alt="Feeds with Filtering (Males see more of females and females see more of males" width="720" height="1465"&gt;&lt;/a&gt;&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%2F61rwc51yf8prk3wd7bap.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%2F61rwc51yf8prk3wd7bap.png" alt="Profile Settings" width="720" height="1465"&gt;&lt;/a&gt;&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%2F5pti4s9ipsrd1yoxny1v.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%2F5pti4s9ipsrd1yoxny1v.png" alt="Sending Love and Profile View Requests for Hidden Profiles" width="720" height="1465"&gt;&lt;/a&gt;&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%2F38k3hnzhnjo66uub7vus.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%2F38k3hnzhnjo66uub7vus.png" alt="Sending Love and Profile View Requests for Hidden Profiles" width="720" height="1465"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Video Walkthrough:&lt;/strong&gt; &lt;code&gt;[https://mabona.firstsuninvestment.com/soulmate/screenshots/soulmate-walkthrough-video.mp4](https://mabona.firstsuninvestment.com/soulmate/screenshots/soulmate-walkthrough-video.mp4)&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Live Download (APK):&lt;/strong&gt; &lt;a href="https://mabona.firstsuninvestment.com/soulmate/app-release.apk" rel="noopener noreferrer"&gt;mabona.firstsuninvestment.com/soulmate/app-release&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Landing Page with more details: *&lt;/em&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmabona.firstsuninvestment.com%2Fsoulmate" 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%2Fmabona.firstsuninvestment.com%2Fsoulmate" alt="https://mabona.firstsuninvestment.com/soulmate" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;## The Comeback Story&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Soulmate started as an idea in my head: a love platform for everyone, regardless of gender. I saw a great need to bring love doctors in a mobile device where everyone can reach without transport costs and other general added costs. People want talk and get advices but the issue is the normal methods to get love doctors all are not accessed so easily here just a type by your hand love doctor sees you get help. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Before this challenge:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The app was functional but missing privacy features&lt;/li&gt;
&lt;li&gt;Love Doctor chats existed but without proper security&lt;/li&gt;
&lt;li&gt;No screenshot prevention&lt;/li&gt;
&lt;li&gt;No "Request Partner" feature&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What I changed, fixed, or added:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added PIN security for Love Doctor chats&lt;/li&gt;
&lt;li&gt;Implemented screenshot prevention using Java's &lt;code&gt;FLAG_SECURE&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Built the Request Partner feature (Love Doctor can invite both partners into a joint chat)&lt;/li&gt;
&lt;li&gt;Added voice notes to all chats&lt;/li&gt;
&lt;li&gt;Created post filtering by gender preference&lt;/li&gt;
&lt;li&gt;Added "Keep me logged in" for better UX&lt;/li&gt;
&lt;li&gt;Integrated Admob (test ads currently)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The biggest challenge was the screenshot prevention. I am a Flutter developer primarily, but I had to write lower-level Java code to block screenshots in the Love Doctor chat. I learned it, broke it, fixed it, and finally got it working.&lt;/p&gt;

&lt;p&gt;My biggest dream? That someone in Eswatini — or anywhere in Africa — finds their soulmate or saves their relationship through this app.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;## My Experience with GitHub Copilot&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GitHub Copilot helped me write the Java code for screenshot prevention. I am comfortable with Flutter, but Android's &lt;code&gt;WindowManager&lt;/code&gt; and &lt;code&gt;FLAG_SECURE&lt;/code&gt; were new to me. Copilot suggested the correct implementation and helped me debug the window manager calls.&lt;/p&gt;

&lt;p&gt;Copilot also helped with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Firebase notification setup&lt;/li&gt;
&lt;li&gt;Post filtering logic&lt;/li&gt;
&lt;li&gt;Voice notes recording and playback&lt;/li&gt;
&lt;li&gt;PHP backend endpoints for the Request Partner feature&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Copilot didn't build the app for me — but it made me faster, especially when jumping between Java, and PHP. It felt like having a senior developer looking over my shoulder, suggesting the next line.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Love is a gift from above. And love is for everyone.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;— Mabona Maxwell Sihlongonyane, Eswatini&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Username: mabona011145629&lt;/strong&gt;&lt;br&gt;
This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-05-21"&gt;GitHub Finish-Up-A-Thon Challenge&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
    </item>
  </channel>
</rss>
