<?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: Stentorian</title>
    <description>The latest articles on DEV Community by Stentorian (@stentorian-studio).</description>
    <link>https://dev.to/stentorian-studio</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%2F1714173%2F9e75dc24-e27d-48ea-a113-08a9b8020a17.jpeg</url>
      <title>DEV Community: Stentorian</title>
      <link>https://dev.to/stentorian-studio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/stentorian-studio"/>
    <language>en</language>
    <item>
      <title>Cat-Connect</title>
      <dc:creator>Stentorian</dc:creator>
      <pubDate>Sun, 01 Mar 2026 23:25:41 +0000</pubDate>
      <link>https://dev.to/stentorian-studio/cat-connect-35nj</link>
      <guid>https://dev.to/stentorian-studio/cat-connect-35nj</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/weekend-2026-02-28"&gt;DEV Weekend Challenge: Community&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Community
&lt;/h2&gt;

&lt;p&gt;Across many cities, street cats rely entirely on local volunteers for food, shelter, and emergency care.&lt;/p&gt;

&lt;p&gt;In my neighborhood, we are a group of around 20 cat feeders. &lt;br&gt;
Many times, certain areas receive overlapping support while others are unintentionally neglected.&lt;/p&gt;

&lt;p&gt;We do have a neighborhood WhatsApp group — but it isn’t quite dedicated to cat feeding and important updates about food, shelters, or injured cats quickly get buried which makes it hard to follow. &lt;br&gt;
Generally there’s no structured way to track locations, or ongoing situations.&lt;/p&gt;

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

&lt;p&gt;So I decided to build CatConnect - platform that saves time and effort by guiding feeders to the locations that actually require attention. Allowing them to help more efficiently and respond faster to real needs in the field.&lt;/p&gt;

&lt;p&gt;The app also provides a faster and more reliable way to report and respond to emergency situations, increasing the chances of immediate care for injured or endangered cats.&lt;/p&gt;

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

&lt;p&gt;Video: 

&lt;iframe src="https://player.vimeo.com/video/1169389576" width="710" height="399"&gt;
&lt;/iframe&gt;


&lt;br&gt;
Live Website Link: &lt;a href="https://cat-connect-oy39.vercel.app/" rel="noopener noreferrer"&gt;https://cat-connect-oy39.vercel.app/&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Demo credentials:&lt;br&gt;
email: &lt;a href="mailto:oliver_brown111@gmail.com"&gt;oliver_brown111@gmail.com&lt;/a&gt;&lt;br&gt;
password: 123&lt;br&gt;
&lt;a href="https://gitlab.com/stentorian-studio/cat-connect/" rel="noopener noreferrer"&gt;View the Code on GitLab&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;My Tech Stack&lt;br&gt;
• Next.js 16 &lt;br&gt;
• Tailwind CSS&lt;br&gt;
• Supabase – PostgreSQL database + Authentication + Real-time updates&lt;/p&gt;

&lt;p&gt;Production Readiness:&lt;br&gt;
The entire system is fully functional and deployed in production.&lt;br&gt;
Despite the short time-frame, I wanted to make the app ready for real life use cases and feature-rich.&lt;/p&gt;

&lt;p&gt;Key Features of the Platform&lt;br&gt;
🐾 Add and view feeding locations on a live map&lt;br&gt;
🐾 Report food availability&lt;br&gt;
🐾 Report shelter status&lt;br&gt;
🐾 Mark emergency situations&lt;br&gt;
🐾 Share images for transparency and easier location identification&lt;br&gt;
🐾 View a feed sorted by urgency and status&lt;/p&gt;

&lt;p&gt;Core Functionality&lt;/p&gt;

&lt;p&gt;📍 Add New Locations&lt;br&gt;
Any registered user can add a new feeding location with:&lt;br&gt;
• Exact geographic coordinates (interactive map selection)&lt;br&gt;
• Food availability status&lt;br&gt;
• Shelter status&lt;br&gt;
• Images for transparency and visual verification&lt;/p&gt;

&lt;p&gt;This ensures that other feeders can quickly locate and understand the situation on arrival.&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;p&gt;🔄 Real-Time Status Updates&lt;br&gt;
Each location has its own dedicated page where users can:&lt;br&gt;
• Update food and shelter status during their visit&lt;br&gt;
• Ensure the latest visitor provides the most current information, thus maintaining an accurate and continuously updated system&lt;/p&gt;

&lt;p&gt;All updates are synchronized in real time using Supabase PostgreSQL.&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;p&gt;🗺️ Interactive Map Integration&lt;br&gt;
Users can:&lt;br&gt;
• View all feeding locations on a live interactive map&lt;br&gt;
• Click markers to explore detailed information&lt;br&gt;
• Quickly identify areas that require attention&lt;/p&gt;

&lt;p&gt;This minimizes overlap and prevents neglected zones.&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;p&gt;🚨 Emergency Reporting System&lt;br&gt;
Users can mark urgent situations, allowing the locations feed to be sorted by urgency and recency — helping the community prioritize critical cases.&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;p&gt;🔐 Authentication &amp;amp; Security&lt;/p&gt;

&lt;p&gt;The platform includes:&lt;br&gt;
• Full Login / Register flow implemented with supabase Auth&lt;br&gt;
⸻&lt;/p&gt;

&lt;p&gt;Design Considerations:&lt;br&gt;
A key priority was maintaining a minimalist and lightweight design.&lt;br&gt;
Since feeders often use the app outdoors I wanted a clean, responsive and distraction-free interface, allowing fast navigation and quick updates without friction. &lt;/p&gt;

&lt;p&gt;⸻&lt;br&gt;
What's next ?&lt;br&gt;
It would be awesome to introduce it to the feeders in my neighborhood and test it in real conditions. I’m genuinely curious to see whether it improves coordination the way I expect it to :)&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>showdev</category>
    </item>
    <item>
      <title>One World Raise Center: decentralised fundraising with Stellar and Soroban</title>
      <dc:creator>Stentorian</dc:creator>
      <pubDate>Mon, 19 Aug 2024 00:46:08 +0000</pubDate>
      <link>https://dev.to/stentorian-studio/one-world-raise-center-decentralised-fundraising-with-stellar-and-soroban-3kpk</link>
      <guid>https://dev.to/stentorian-studio/one-world-raise-center-decentralised-fundraising-with-stellar-and-soroban-3kpk</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/stellar"&gt;Build Better on Stellar: Smart Contract Challenge &lt;/a&gt;: Build a dApp&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I created a fundraising Dapp that allows people to send and receive donations in variety of digital currencies through a safe and transparent escrow that will transfer and hold the funds. Users (creators and donors) can be sure that their funds are safe and no action will be taken without meeting the predefined conditions they signed. Funds will be transferred automatically from the escrow to the creator only after the campaign’s goals were met and it was marked as “succeeded”. If the campaign fails to achieve its goals before the deadline, all the funds will be distributed back to the donors and the campaign will be marked as “failed”. As long as the status is “running” the campaign can receive donations.&lt;/p&gt;

&lt;p&gt;One World Raise Center leverages the powerful stellar ecosystem to handle every little thing from escrows and decentralised exchange to data management and authentication.&lt;/p&gt;

&lt;p&gt;campaign page:&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%2Faokp6htvqcln9k6b4yej.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%2Faokp6htvqcln9k6b4yej.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Website Link&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://one-world-raise-center.vercel.app/" rel="noopener noreferrer"&gt;One World Raise Center&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Video Demo&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://vimeo.com/1000197491" rel="noopener noreferrer"&gt;Video&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My Code&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://gitlab.com/stentorian-studio/one-world-raise-center" rel="noopener noreferrer"&gt;Project Repo On Gitlab&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;p&gt;Explanation of the logic behind the project’s smart contracts and their implementation:&lt;/p&gt;

&lt;p&gt;The campaign contract is the heart of the project, it’s managing the data about the campaign and holding the funds as an escrow until the predefined conditions are met (campaign’s success or failure). On each time users donate to campaign or fetch data related to it, the smart contract validates the current state and executing the required actions. Such as distributing funds back to donors after campaign’s failure and sending the funds to the creator on success. Because of that there is no option users will see outdated information.&lt;/p&gt;

&lt;p&gt;The CMS contract is storing limited info that would serve the previews and search functions that need only small portion of the entire data. This way we keep it light weight and it still can be used as a full featured decentralised database.&lt;/p&gt;

&lt;p&gt;Campaign's stats section:&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%2Fzs8b32261dlg5vijt7co.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%2Fzs8b32261dlg5vijt7co.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A quick dive into the little details and features:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Data management&lt;/strong&gt; - the Soroban smart contract (CmsContract) is used as a full time content management system that provides &lt;strong&gt;all&lt;/strong&gt; the data for the dapp.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Authentication&lt;/strong&gt; - the dapp uses the primary stellar wallet: “freighter” to authenticate users and sign transactions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Live account updates&lt;/strong&gt; - the dapp automatically updates the user’s account address, hence allowing users to switch accounts on their freighter wallet without the need to log out and in and without being worried about which account they are currently using to sign the transaction. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Transparency&lt;/strong&gt; - leveraging the fact that every transaction and ledger entry is public on the stellar network, the entire data shown on the dapp can be verified against the official apis and resources (Horizon, Soroban, Stellar Expert etc.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Insights and Technical data&lt;/strong&gt; - each campaign page shows the necessary info about the story behind it alongside with the goals and the type of currencies the creator is willing to accept. users can also see the statistics section that contains charts about the volume and macro trending of the donations in the last 7 days (it’s not a placeholder, it was calculated for real :) there is also the complete donors list so any one can see which users donated and when.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auto Operated Escrow&lt;/strong&gt; - the CampaignContract is implementing real world escrow management without the need for any human intervention. As long as the campaign is “running” the escrow can receive funds and hold them securely until the predefined conditions are reached. If campaign achieves all of its goals before the deadline it will be marked as “succeeded” and the locked funds will be transferred to the creator. But if the campaign reaches its deadline before raising the target amounts, it will be marked as “failed” and all the funds will be sent back to the donors (everyone will get the exact amount in the same currency they used).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Low Fees&lt;/strong&gt; - The stellar network is charging extremely low fees for signing and submitting transactions, therefore providing the ultimate  platform to handle money related dapps (DeFi). Users can raise funds and receive 100% of the raised funds without the need to pay commissions to 3rd party services and institutions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Production ready&lt;/strong&gt; - The dapp is scalable and optimized to handle real world amount of campaigns because every campaign is using its own unique smart contract that had been deployed automatically by the user while creating the campaign. I also added some features like SEO, client side validations, keyboard accessibility and alt descriptions.&lt;/li&gt;
&lt;li&gt;UI - I tried my best to keep the UI Robust and still somewhat Elegant with dark/light mode support and responsive design.&lt;/li&gt;
&lt;li&gt;Users can see all the campaigns that were ever created and their current statuses (with preview data) on the “/campaigns/all” directory. There is also an option to easily search campaigns by words from their titles and descriptions from any page in the dapp (using the Nav modal). users can also access their own campaigns through their profile quick actions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Additional Prize Categories: Glorious Game and/or Super Sustainable&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Super sustainable
&lt;/h2&gt;

&lt;p&gt;One World Raise Center is a place where people from all over the world would be able to raise funds and donate without the need for any 3rd party involvement that will manage the funds and charge high commissions. The Soroban smart contract is used as an escrow and as a data management system, thus neglecting the need for being dependent on any centralised companies or institutions. This way the dapp is providing a decent solution for scenarios that reliable banking systems are in luck.&lt;br&gt;
I built with the intention of making money related systems (specifically escrows and decentralized exchange) more accessible and reachable (at least as far as possible).&lt;/p&gt;

&lt;h2&gt;
  
  
  A few more words
&lt;/h2&gt;

&lt;p&gt;For the first time I've done a whole project that's based on just one main ecosystem and it was great. Stellar and Soroban were the perfect all in one solution in my case because they gave me the option to handle db, cms, decentralised exchange, escrow and authentication without any external integrations. Which Was Extremely Cool!&lt;/p&gt;

&lt;p&gt;Exploring campaigns:&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%2Fg0osmyndw1s1xe375ams.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%2Fg0osmyndw1s1xe375ams.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;and if you got so far...&lt;br&gt;
ⓣⓗⓐⓝⓚ ⓨⓞⓤ 人´ᴗ`*）&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>stellarchallenge</category>
      <category>blockchain</category>
      <category>web3</category>
    </item>
  </channel>
</rss>
