<?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: Kalebe Szlachta</title>
    <description>The latest articles on DEV Community by Kalebe Szlachta (@kalebers).</description>
    <link>https://dev.to/kalebers</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%2F4182641%2F4246ea25-b6ca-4dd2-adbc-8b022cca6ddb.png</url>
      <title>DEV Community: Kalebe Szlachta</title>
      <link>https://dev.to/kalebers</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kalebers"/>
    <language>en</language>
    <item>
      <title>👻 Arquivo Fantasma (Ghost Archive): Giving Forgotten Digital Fragments a Voice with Open-Weight AI</title>
      <dc:creator>Kalebe Szlachta</dc:creator>
      <pubDate>Tue, 27 Oct 2026 19:47:10 +0000</pubDate>
      <link>https://dev.to/kalebers/arquivo-fantasma-ghost-archive-giving-forgotten-digital-fragments-a-voice-with-open-weight-ai-31dn</link>
      <guid>https://dev.to/kalebers/arquivo-fantasma-ghost-archive-giving-forgotten-digital-fragments-a-voice-with-open-weight-ai-31dn</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week4-2026-10-26"&gt;Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;👻 &lt;strong&gt;Arquivo Fantasma (Ghost Archive): Giving Forgotten Digital Fragments a Voice&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;What if an abandoned file could tell you a story? What if a mysterious commit, an old note, or a forgotten line of text was the beginning of something that should never have been remembered?&lt;/p&gt;

&lt;p&gt;Arquivo Fantasma is a local-first, command-line micro-horror generator inspired by the idea of a ghost haunting a machine. It transforms user-provided text fragments into eerie short stories, exploring the thin line between digital memory, forgotten history, and the supernatural.&lt;/p&gt;

&lt;p&gt;I interpreted &lt;strong&gt;Ghost in the Machine&lt;/strong&gt; literally: the ghost doesn't haunt a house — it haunts the archive.&lt;/p&gt;

&lt;p&gt;The project supports three narrative styles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🕯️ &lt;strong&gt;Horror:&lt;/strong&gt; psychological tension and unsettling endings.&lt;/li&gt;
&lt;li&gt;🌼 &lt;strong&gt;Folklore:&lt;/strong&gt; ancestral memories, legends, and the atmosphere of remembrance.&lt;/li&gt;
&lt;li&gt;🌐 &lt;strong&gt;Cyberpunk:&lt;/strong&gt; haunted repositories, abandoned systems, and digital ghosts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is to keep the project lightweight, transparent, and easy to run, while making local AI inference an optional part of the experience.&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/kalebers/Ghost-Archive" rel="noopener noreferrer"&gt;kalebers/Ghost-Archive&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is built in Python and includes a command-line interface, sample text fragments, automated tests, documentation, and an MIT license.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python3 ghost.py &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--file&lt;/span&gt; samples/fragmento.txt &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--style&lt;/span&gt; cyberpunk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When an approved local model is available, the application can also use Ollama for inference:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python3 ghost.py &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--model&lt;/span&gt; &amp;lt;YOUR_LOCAL_MODEL&amp;gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--text&lt;/span&gt; &lt;span class="s2"&gt;"A commit appeared ten years after its author disappeared."&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The model must already be installed and available locally. No hosted AI fallback is used.&lt;/p&gt;

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

&lt;p&gt;I built Arquivo Fantasma around a simple principle: &lt;strong&gt;the story should belong to the person who provides the fragment, not to a remote service.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The core is Python, with no mandatory third-party Python dependencies. For AI-powered generation, the project integrates with the local Ollama API, allowing a compatible open-weight model to generate stories on the user's own machine.&lt;/p&gt;

&lt;p&gt;The architecture separates the narrative prompt, the local inference interface, and a deterministic offline fallback. This keeps the application usable in restricted environments while making the AI integration explicit and replaceable.&lt;/p&gt;

&lt;p&gt;Privacy and simplicity were design priorities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No hosted LLM API or API key is required.&lt;/li&gt;
&lt;li&gt;The application does not scan directories or execute commands from supplied text.&lt;/li&gt;
&lt;li&gt;Only explicitly selected text or files are processed.&lt;/li&gt;
&lt;li&gt;The AI integration targets localhost rather than sending prompts to an external inference endpoint.&lt;/li&gt;
&lt;li&gt;The fallback works without a model, network connection, or additional Python packages.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also included automated tests for prompt construction, offline generation, CLI behavior, and rejection of remote inference endpoints.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;A closed AI API would have made the first prototype easy, but it would also have introduced a dependency on an external provider, network access, service availability, and potentially additional costs.&lt;/p&gt;

&lt;p&gt;Open innovation makes a different approach possible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Privacy:&lt;/strong&gt; A local inference workflow can keep personal stories, private notes, and other sensitive fragments on the user's own machine instead of sending them to a third-party AI service.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Freedom to experiment:&lt;/strong&gt; A compatible local model can be replaced with another model, allowing developers to compare writing styles, performance, resource requirements, and model behavior.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Offline resilience:&lt;/strong&gt; Once the runtime and model are installed, the AI-powered experience can operate without an internet connection, subject to the local environment's configuration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Transparency and ownership:&lt;/strong&gt; The code can be inspected, modified, tested, and extended by anyone. The project does not depend on a proprietary hosted inference endpoint to define its architecture.&lt;/p&gt;

&lt;p&gt;For me, the most interesting part is that open AI can turn a playful Halloween experiment into something more meaningful: a private, customizable way to give forgotten digital fragments a new life.&lt;/p&gt;

&lt;p&gt;The offline fallback is also intentional. The application remains usable when local AI is unavailable, without pretending that deterministic text generation is the same as running an LLM.&lt;/p&gt;

&lt;p&gt;The machine may be silent, the network may be gone, and the original author may have disappeared. But the archive can still tell a story.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The ghost is local. The data stays yours.&lt;/strong&gt; 👻&lt;/p&gt;

&lt;h1&gt;
  
  
  devchallenge #hf26challenge #opensource #AI #Python #Hacktoberfest
&lt;/h1&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Organizing files with a little help from ai</title>
      <dc:creator>Kalebe Szlachta</dc:creator>
      <pubDate>Tue, 20 Oct 2026 18:14:44 +0000</pubDate>
      <link>https://dev.to/kalebers/organizing-files-with-a-little-help-from-a-bh</link>
      <guid>https://dev.to/kalebers/organizing-files-with-a-little-help-from-a-bh</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week3-2026-10-19"&gt;Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;LazySort — Let AI Handle Your Messy Downloads Folder&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;LazySort is a local-first AI-powered file organizer designed to make one of those boring computer tasks disappear: organizing files.&lt;/p&gt;

&lt;p&gt;Instead of manually opening documents, figuring out what they contain, renaming them, and moving them into folders, LazySort uses AI to suggest descriptive filenames and meaningful categories.&lt;/p&gt;

&lt;p&gt;The goal is simple: spend less time managing files and more time doing what actually matters.&lt;/p&gt;

&lt;p&gt;Built with privacy and accessibility in mind, LazySort aims to make AI-powered automation practical even on modest hardware, without depending on expensive AI subscriptions.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/kalebers/lazysort" rel="noopener noreferrer"&gt;https://github.com/kalebers/lazysort&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;I built LazySort around Python and open-source AI technologies, with a focus on keeping the application lightweight and adaptable.&lt;/p&gt;

&lt;p&gt;The project explores how compact open-weight language models and local inference can help automate everyday file management tasks without requiring a powerful GPU or a large language model.&lt;/p&gt;

&lt;p&gt;The application is designed to analyze document content, generate structured classification suggestions, and help users organize their files through a reviewable workflow.&lt;/p&gt;

&lt;p&gt;Rather than blindly trusting AI-generated actions, the idea is to keep users in control of file operations while reducing repetitive manual work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;Your personal documents shouldn't have to leave your computer just to be organized.&lt;/p&gt;

&lt;p&gt;Open-source AI makes it possible to experiment with local inference, inspect the implementation, switch between compatible models, and adapt the system to different needs without being locked into a proprietary AI provider.&lt;/p&gt;

&lt;p&gt;For a project like LazySort, this matters in three ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Privacy:&lt;/strong&gt; Local inference can keep document contents on the user's machine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accessibility:&lt;/strong&gt; Compact models make experimentation possible on older laptops and resource-constrained hardware.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Freedom:&lt;/strong&gt; An open architecture lets developers replace models, customize behavior, and improve the project without depending entirely on a closed API.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wanted to explore a simple idea: AI automation shouldn't require expensive hardware, a paid subscription, or handing your personal files to a service you don't control.&lt;/p&gt;

&lt;p&gt;Sometimes, the best technology is the kind that quietly takes care of the boring stuff.&lt;/p&gt;

&lt;p&gt;Thanks for checking out LazySort, and happy Hacktoberfest! 🦥&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Flashcards for study</title>
      <dc:creator>Kalebe Szlachta</dc:creator>
      <pubDate>Sat, 17 Oct 2026 21:03:18 +0000</pubDate>
      <link>https://dev.to/kalebers/flashcards-for-study-3cfa</link>
      <guid>https://dev.to/kalebers/flashcards-for-study-3cfa</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I built &lt;strong&gt;StudyBuddy AI&lt;/strong&gt;, a simple, locally running AI study assistant designed to help a friend study more effectively.&lt;/p&gt;

&lt;p&gt;The idea is straightforward: paste your study notes into the app, and it generates five practice questions with answers based on the provided material. This gives students a quick way to review what they have learned and test their understanding.&lt;/p&gt;

&lt;p&gt;I wanted to keep the project small and practical. Instead of building another complex study platform, I focused on one useful feature that someone can start using in minutes.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/kalebers/StudyBuddy-AI" rel="noopener noreferrer"&gt;GitHub Repository — StudyBuddy AI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Demo:&lt;/strong&gt; [Add your YouTube demo link here]&lt;/p&gt;

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

&lt;p&gt;StudyBuddy AI is built with Python, Streamlit, and Ollama, using the &lt;code&gt;llama3.2:1b&lt;/code&gt; open-weight language model.&lt;/p&gt;

&lt;p&gt;Ollama runs the model locally on the user's computer, while Streamlit provides a simple web interface for entering notes and viewing generated questions and answers.&lt;/p&gt;

&lt;p&gt;The application is designed to download the model locally when needed, making setup straightforward without requiring paid API keys or external AI services.&lt;/p&gt;

&lt;p&gt;The goal was to create a lightweight, beginner-friendly tool that can run on a personal computer without relying on a cloud-based AI provider.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;For a study tool, the content users provide can be personal. Keeping that content on their own computer gives them more control over their notes and reduces the need to trust an external service with their study material.&lt;/p&gt;

&lt;p&gt;Open-weight models also make experimentation more accessible. Anyone can run the model locally, explore how it behaves, and adapt the application without depending on a proprietary AI API or usage-based fees.&lt;/p&gt;

&lt;p&gt;For this project, open innovation makes AI-powered studying more accessible, private, and independent of paid cloud services.&lt;/p&gt;

&lt;p&gt;Most importantly, this project is a reminder that AI doesn't need to solve a huge problem to be useful. Sometimes, a small tool built for someone you care about is enough.&lt;/p&gt;

&lt;p&gt;Thanks for checking out StudyBuddy AI! 🎓&lt;/p&gt;

&lt;h1&gt;
  
  
  devchallenge #weekendchallenge #hf26challenge #ai #opensource
&lt;/h1&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>A brazilian invoice organizer</title>
      <dc:creator>Kalebe Szlachta</dc:creator>
      <pubDate>Fri, 16 Oct 2026 16:58:11 +0000</pubDate>
      <link>https://dev.to/kalebers/a-brazilian-invoice-organizer-9ah</link>
      <guid>https://dev.to/kalebers/a-brazilian-invoice-organizer-9ah</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week2-2026-10-12"&gt;Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;InvoicePilotBR&lt;/strong&gt; is a local AI-powered receipt and expense organizer designed for Brazilian freelancers, independent professionals, and small business owners.&lt;/p&gt;

&lt;p&gt;It helps users turn receipts and expense documents into structured financial records without manually entering every piece of information. Users can upload PDFs or images, extract details such as supplier, date, amount, and expense category using local AI, review and correct the results, and export approved records to CSV for use in spreadsheets.&lt;/p&gt;

&lt;p&gt;The problem it addresses is simple: organizing receipts is repetitive, time-consuming, and often involves sensitive financial information.&lt;/p&gt;

&lt;p&gt;InvoicePilotBR aims to make this process faster while keeping document processing on the user's own computer.&lt;/p&gt;

&lt;p&gt;Potential users include freelancers, MEIs (Brazilian individual microentrepreneurs), and small businesses that want a simpler way to organize their expenses.&lt;/p&gt;

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

&lt;p&gt;GitHub repository: &lt;a href="https://github.com/kalebers/InvoicePilotBR" rel="noopener noreferrer"&gt;InvoicePilotBR&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;InvoicePilotBR is built with Python and Streamlit, with local AI inference powered by &lt;a href="https://ollama.com/" rel="noopener noreferrer"&gt;Ollama&lt;/a&gt; and an open-weight language model.&lt;/p&gt;

&lt;p&gt;The main components are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Python and Streamlit:&lt;/strong&gt; provide the application logic and user interface.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama:&lt;/strong&gt; runs the language model locally, without requiring a paid cloud AI API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Qwen3:&lt;/strong&gt; serves as the initial model for extracting structured information from document text.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PyMuPDF:&lt;/strong&gt; extracts text from digital PDF documents.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tesseract OCR:&lt;/strong&gt; recognizes text in images and scanned documents.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pydantic:&lt;/strong&gt; validates extracted fields and data structures.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pandas:&lt;/strong&gt; prepares expense records for CSV export.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pytest:&lt;/strong&gt; supports automated testing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The workflow is straightforward: users upload documents, the application extracts their text, the local model identifies relevant expense information, and the user reviews the results before exporting them.&lt;/p&gt;

&lt;p&gt;The application is designed to handle missing or ambiguous information explicitly instead of blindly trusting the model's output.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;Open innovation is central to InvoicePilotBR because it makes private, locally executed AI processing practical for a small utility.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Privacy by design:&lt;/strong&gt; Receipts can contain names, addresses, business information, and transaction details. Running inference locally allows the application to process documents without sending their contents to an external AI provider.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lower operating costs:&lt;/strong&gt; Once the model is downloaded, ordinary inference does not require a paid API subscription or per-token cloud charges. Users still need compatible hardware and incur electricity and maintenance costs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Freedom to experiment:&lt;/strong&gt; Using Ollama makes it possible to switch between compatible models, compare extraction quality, and adapt the application to different hardware and document types.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Less vendor lock-in:&lt;/strong&gt; The application is not tied to a single commercial AI provider's pricing, availability, or API policies.&lt;/p&gt;

&lt;p&gt;Most importantly, open-weight models make it possible to build a practical tool that users can run and control on their own computers. For freelancers and small businesses, that combination of privacy, flexibility, and predictable operating costs can make AI-powered automation more accessible.&lt;/p&gt;

&lt;p&gt;InvoicePilotBR explores a simple idea: useful AI tools do not always need to send your data to someone else's server.&lt;/p&gt;

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