<?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: Katriel</title>
    <description>The latest articles on DEV Community by Katriel (@katriel).</description>
    <link>https://dev.to/katriel</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%2F726855%2F69d5083a-b3be-48d9-b951-0ed15c72658f.jpg</url>
      <title>DEV Community: Katriel</title>
      <link>https://dev.to/katriel</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/katriel"/>
    <language>en</language>
    <item>
      <title>Hoteleiro: Simplified management for hotels and inns</title>
      <dc:creator>Katriel</dc:creator>
      <pubDate>Mon, 05 Jan 2026 04:17:45 +0000</pubDate>
      <link>https://dev.to/katriel/hoteleiro-simplified-management-for-hotels-and-inns-o0p</link>
      <guid>https://dev.to/katriel/hoteleiro-simplified-management-for-hotels-and-inns-o0p</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/mux-2025-12-03"&gt;DEV's Worldwide Show and Tell Challenge Presented by Mux&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Hoteleiro is a Property Management System (PMS) built to modernize small and medium-sized inns and hotels. It targets independent properties on the coast of Brazil (where I live) that still rely on "spreadsheet chaos" or paper logs. It combines a professional management arsenal with an interface that is as simple to use as a messaging app.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Pitch Video
&lt;/h2&gt;

&lt;p&gt;

&lt;iframe src="https://player.mux.com/4xA801EKBcxDzX8xJTTclQSWEyQnCeRATDTVGcLBDomE" width="710" height="399"&gt;
&lt;/iframe&gt;



&lt;/p&gt;

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

&lt;p&gt;URL: &lt;a href="https://pms.hoteleiro.app/access" rel="noopener noreferrer"&gt;https://pms.hoteleiro.app/access&lt;/a&gt;&lt;br&gt;
EMAIL: &lt;a href="mailto:admin@gmail.com"&gt;admin@gmail.com&lt;/a&gt;&lt;br&gt;
PASSWORD: admin123&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ Note: Hoteleiro is still a Work in Progress. You might run into some rough edges or features that are still being polished!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The Story Behind It
&lt;/h2&gt;

&lt;p&gt;This project quick-started with a group of Computer Science students at UESPI (State University of Piauí). After observing the routine of small hotels in the coastal region, we realized that independent owners were either stuck with manual logs or forced to use expensive, bloated software designed for large chains.&lt;/p&gt;

&lt;p&gt;That is why we (&lt;a class="mentioned-user" href="https://dev.to/katriellucas"&gt;@katriellucas&lt;/a&gt;, &lt;a class="mentioned-user" href="https://dev.to/dymas"&gt;@dymas&lt;/a&gt;, and &lt;a class="mentioned-user" href="https://dev.to/heron_nepomuceno"&gt;@heron_nepomuceno&lt;/a&gt;) built Hoteleiro. Our goal was to make technology simple, human, and accessible for the people running these businesses. Winning the Startup NE program (backed by Sebrae and the Brazilian government) only confirmed the massive potential of the application and the impact it can have in our region.&lt;/p&gt;

&lt;h2&gt;
  
  
  Technical Highlights
&lt;/h2&gt;

&lt;p&gt;We made Hoteleiro light enough to run on "serverless" setups. This is great because it means the system can often stay within the free hosting tiers offered by most platforms.&lt;/p&gt;

&lt;p&gt;In its core, the project uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Svelte 5: We used this for the frontend to keep everything feeling fast and snappy.&lt;/li&gt;
&lt;li&gt;PocketBase: This was our choice for the backend. It helped us move fast by handling our database and auth.&lt;/li&gt;
&lt;li&gt;Zod: To keep our data clean and validated.&lt;/li&gt;
&lt;li&gt;Temporal: To handle the complicated date logic that comes with managing bookings.&lt;/li&gt;
&lt;li&gt;Paraglide: To manage all our translations and keep the app multilingual.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Basically, we picked these tools so we could iterate quickly and keep the hosting costs as low as possible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Thanks
&lt;/h2&gt;

&lt;p&gt;Thanks to the DEV community and Mux for this challenge. It was a great opportunity for us to step back and look at what we've built. We’re excited with the future of Hoteleiro!&lt;/p&gt;

&lt;p&gt;Team: &lt;a class="mentioned-user" href="https://dev.to/katriellucas"&gt;@katriellucas&lt;/a&gt; &lt;a class="mentioned-user" href="https://dev.to/dymas"&gt;@dymas&lt;/a&gt; &lt;a class="mentioned-user" href="https://dev.to/heron_nepomuceno"&gt;@heron_nepomuceno&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>muxchallenge</category>
      <category>showandtell</category>
      <category>video</category>
    </item>
    <item>
      <title>Snapi: An editable gallery for photographers</title>
      <dc:creator>Katriel</dc:creator>
      <pubDate>Mon, 13 May 2024 06:40:03 +0000</pubDate>
      <link>https://dev.to/katriel/snapi-an-editable-gallery-for-photographers-2103</link>
      <guid>https://dev.to/katriel/snapi-an-editable-gallery-for-photographers-2103</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/netlify"&gt;Netlify Dynamic Site Challenge&lt;/a&gt;: Visual Feast.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;A personal web app for photographers in gallery format, motivated to make something that would be useful, easy and accessible for anyone to pick up, including non-programmers.&lt;/p&gt;

&lt;p&gt;Manage your photos, create your profile, add a call to action, everything in your very own Snapi instance:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://app.netlify.com/start/deploy?repository=https://github.com/katriellucas/snapi" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.netlify.com%2Fimg%2Fdeploy%2Fbutton.svg" alt="Deploy to Netlify" width="179" height="32"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://snapi-gallery.netlify.app" rel="noopener noreferrer"&gt;Demo instance&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source is available at: &lt;a href="//github.com/katriellucas/snapi"&gt;github.com/katriellucas/snapi&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%2Fhkjsuaie95sxcyhoulju.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%2Fhkjsuaie95sxcyhoulju.png" alt="Snapi app dashboard" width="800" height="449"&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%2Fxowm32kdooodrzxgyhtn.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%2Fxowm32kdooodrzxgyhtn.png" alt="Snapi password screen" width="800" height="449"&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%2Fkvn9w19d0i77unifj7zm.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%2Fkvn9w19d0i77unifj7zm.png" alt="Snapi upload screen" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Platform Primitives
&lt;/h2&gt;

&lt;p&gt;There are various kinds of gallery websites, but one thing in common with most of them is that they are quite heavy, most images on websites aren't optimized in size, compression nor ideal format. Thanks to the great &lt;a href="https://docs.netlify.com/frameworks/astro/#netlify-image-cdn" rel="noopener noreferrer"&gt;Astro + Netlify Image CDN integration&lt;/a&gt; this was completely painless. Netlify automatically converts the images to modern formats like AVIF and WEBP.&lt;/p&gt;

&lt;p&gt;Another important aspect is the ability to generate thumbnails on the fly, you don't want your users downloading big heavy photos. In Snapi, these functions are automatic, benefiting your users and yourself.&lt;/p&gt;

&lt;p&gt;All data in your instance is saved in blobs, they are great and are used everywhere. To cite some, the &lt;strong&gt;account system&lt;/strong&gt; uses blobs in JSON to store user data, &lt;strong&gt;session tokens&lt;/strong&gt; and &lt;strong&gt;all original photos&lt;/strong&gt; that are used in the image transformation are managed in blobs.&lt;/p&gt;

&lt;p&gt;It was great fun project, and I don't doub't that you can make even more powerfull things with these new features on netlify.&lt;/p&gt;

</description>
      <category>netlifychallenge</category>
      <category>devchallenge</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
