<?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: Arthur Azevedo</title>
    <description>The latest articles on DEV Community by Arthur Azevedo (@arthur_azevedo_889fff17d16).</description>
    <link>https://dev.to/arthur_azevedo_889fff17d16</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%2F4174213%2Fec87b79c-a4c3-4247-bbf2-c302c3ae1d0d.jpg</url>
      <title>DEV Community: Arthur Azevedo</title>
      <link>https://dev.to/arthur_azevedo_889fff17d16</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/arthur_azevedo_889fff17d16"/>
    <language>en</language>
    <item>
      <title>AdMuse: Local AI for Promotional Content for Small Creative Businesses</title>
      <dc:creator>Arthur Azevedo</dc:creator>
      <pubDate>Mon, 19 Oct 2026 00:21:07 +0000</pubDate>
      <link>https://dev.to/arthur_azevedo_889fff17d16/admuse-local-ai-for-promotional-content-for-small-creative-businesses-1ahp</link>
      <guid>https://dev.to/arthur_azevedo_889fff17d16/admuse-local-ai-for-promotional-content-for-small-creative-businesses-1ahp</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;Artists and small creative businesses often have to manage everything themselves: creating products, serving customers, and promoting their work. Writing advertisements and protecting original artwork can become additional challenges in an already busy routine.&lt;/p&gt;

&lt;p&gt;That's why I built &lt;strong&gt;AdMuse&lt;/strong&gt;, an open-source AI-powered promotional assistant designed for artists, independent creators, and small creative businesses.&lt;/p&gt;

&lt;p&gt;AdMuse helps users generate promotional content by providing information about a product or service, target audience, promotional channel, writing style, language, and marketing objective. The application generates a title, promotional text, a call to action, and optional hashtags.&lt;/p&gt;

&lt;p&gt;It also includes a promotion history and a watermarking feature that lets users add contact information or a logo to artwork images.&lt;/p&gt;

&lt;p&gt;The idea came from someone close to me: my sister runs a small graphics and printing business. I wanted to build something practical that could help her promote her work more easily and add a layer of protection to her artwork.&lt;/p&gt;

&lt;p&gt;Instead of building around an abstract use case, I had a real person and real needs in mind from the beginning.&lt;/p&gt;

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

&lt;p&gt;Here's a demonstration of AdMuse in action, showcasing its promotional content generation and watermarking features.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/qPR2LYLozOQ" width="710" height="399"&gt;
  &lt;/iframe&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/ArthurHebertt/AdMuse" rel="noopener noreferrer"&gt;ArthurHebertt/AdMuse&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AdMuse is built with Java and Spring Boot, uses PostgreSQL for persistence, and integrates local AI inference through Ollama.&lt;/p&gt;

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

&lt;p&gt;I built AdMuse using Java and Spring Boot, integrating the open-weight &lt;code&gt;qwen3:4b-q4_K_M&lt;/code&gt; model through Ollama.&lt;/p&gt;

&lt;p&gt;Instead of depending on a hosted AI API for content generation, the application sends requests to a model running locally through Ollama. The generated result is structured into fields that the application can present to the user.&lt;/p&gt;

&lt;p&gt;The main features include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Promotional content generation:&lt;/strong&gt; Generate titles, promotional text, calls to action, and optional hashtags.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multiple writing styles:&lt;/strong&gt; Choose between professional, casual, creative, elegant, and fun.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multilingual generation:&lt;/strong&gt; Create content in Brazilian Portuguese, English, or Spanish.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Promotion history:&lt;/strong&gt; Save and retrieve previously generated promotions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Artwork watermarking:&lt;/strong&gt; Add contact information or a logo to artwork images.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One important design consideration was preventing the AI from inventing business information. For example, when a user does not provide a price, the generated advertisement should not fabricate one.&lt;/p&gt;

&lt;p&gt;I also kept content generation separate from saving. Users can review generated content before deciding whether to store it.&lt;/p&gt;

&lt;p&gt;Building AdMuse brought together backend development, database persistence, AI integration, and a practical user interface in one project.&lt;/p&gt;

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

&lt;p&gt;I wanted to explore how open AI could make practical tools more accessible to small businesses and independent creators.&lt;/p&gt;

&lt;p&gt;By using an open-weight model through local inference, AdMuse can generate promotional content without requiring a paid, hosted AI API for that task. It also gives developers the freedom to experiment with models and adapt their applications without depending entirely on a proprietary AI provider.&lt;/p&gt;

&lt;p&gt;Local inference can help keep business information on the user's machine rather than sending it to an external AI provider, provided the application and its surrounding infrastructure are configured accordingly.&lt;/p&gt;

&lt;p&gt;For me, open innovation is about more than access to a model. It is about giving developers the opportunity to build useful tools, learn from real users, and explore solutions that might otherwise be too expensive or difficult to experiment with.&lt;/p&gt;

&lt;h2&gt;
  
  
  My First User
&lt;/h2&gt;

&lt;p&gt;My first user was also the person who inspired AdMuse: my sister, who runs a small graphics and printing business.&lt;/p&gt;

&lt;p&gt;After testing the application, she shared this feedback:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I loved how I could create my advertisement. There are many useful features for promoting my business. I recommend it!"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;She later explained that AdMuse met her two main needs: helping her generate advertisements and adding watermarks to her artwork to help discourage unauthorized use.&lt;/p&gt;

&lt;p&gt;The watermarking feature mattered to her because she wanted a practical way to make her artwork less vulnerable to being reused without permission. A watermark cannot guarantee protection against theft, but it can help identify the creator and discourage some unauthorized uses.&lt;/p&gt;

&lt;p&gt;Her feedback was an important milestone for me. It showed that the features I had prioritized were relevant to the person I originally wanted to help.&lt;/p&gt;

&lt;p&gt;AdMuse is still an early-stage project, but having its first intended user test it and confirm that the main features addressed her needs made the project feel much more tangible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;AdMuse started with a simple question: could I use open-source AI to build something genuinely useful for a small creative business?&lt;/p&gt;

&lt;p&gt;Working on this project allowed me to combine Java, Spring Boot, PostgreSQL, and local AI inference while focusing on a real-world problem rather than building a purely theoretical demo.&lt;/p&gt;

&lt;p&gt;The experience also reminded me of the importance of getting feedback early. A feature may look good from a developer's perspective, but hearing from the person who will actually use it helps determine whether it solves the right problem.&lt;/p&gt;

&lt;p&gt;There is still room to improve AdMuse, but I now have a working project, a demonstration, and feedback from its first user.&lt;/p&gt;

&lt;p&gt;Thanks for reading! I'd love to hear how other developers are using open AI models to build practical tools for independent creators and small businesses.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>java</category>
      <category>ai</category>
    </item>
    <item>
      <title>🌱 Touch Grass API: AI-Powered Missions to Get You Outside</title>
      <dc:creator>Arthur Azevedo</dc:creator>
      <pubDate>Mon, 12 Oct 2026 02:09:07 +0000</pubDate>
      <link>https://dev.to/arthur_azevedo_889fff17d16/touch-grass-api-ai-powered-missions-to-get-you-outside-38aa</link>
      <guid>https://dev.to/arthur_azevedo_889fff17d16/touch-grass-api-ai-powered-missions-to-get-you-outside-38aa</guid>
      <description>&lt;p&gt;&lt;a href="https://dev.tourl"&gt;&lt;/a&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week1-2026-10-05"&gt;Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What if AI could help you spend less time looking at a screen and more time enjoying the world outside?&lt;/p&gt;

&lt;p&gt;That question inspired &lt;strong&gt;Touch Grass API&lt;/strong&gt;, a Java project that uses locally running AI to generate outdoor missions and encourage people to take a break from their screens.&lt;/p&gt;

&lt;p&gt;Instead of using AI to keep people online for longer, I wanted to explore a different idea: using technology to help people disconnect.&lt;/p&gt;

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

&lt;p&gt;Touch Grass API generates outdoor missions with the help of an AI model running locally through Ollama.&lt;/p&gt;

&lt;p&gt;Each mission includes a title, a motivational message, a suggested activity, an estimated duration, and a difficulty level. Users can generate new missions, browse their missions, and mark activities as completed through a web interface backed by a REST API.&lt;/p&gt;

&lt;p&gt;The project is built for anyone who wants a simple way to break their screen-time routine, discover outdoor activities, and make more room for real-world experiences.&lt;/p&gt;

&lt;p&gt;The main idea is simple: &lt;strong&gt;use AI to inspire action outside the screen, not another reason to stay in front of it.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;🎥 &lt;strong&gt;Watch Touch Grass API in action:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/TVaw2CXeavE" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;The demonstration shows the application running locally, generating outdoor missions and managing them through its web interface.&lt;/p&gt;

&lt;p&gt;The project currently runs locally and does not have a publicly hosted demo.&lt;/p&gt;

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

&lt;p&gt;💻 &lt;strong&gt;Explore the source code on GitHub:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/ArthurHebertt/Touch-grass-api" rel="noopener noreferrer"&gt;ArthurHebertt/Touch-grass-api&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository includes the source code, project documentation, and instructions for running the application locally.&lt;/p&gt;

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

&lt;p&gt;I built Touch Grass API using Java 17 and Spring Boot, with a focus on backend development, clean separation of responsibilities, and practical integration with AI.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Java 17&lt;/strong&gt; — application logic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spring Boot&lt;/strong&gt; — REST API and application infrastructure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spring Data JPA&lt;/strong&gt; — persistence.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;H2 Database&lt;/strong&gt; — local database storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Thymeleaf&lt;/strong&gt; — web interface.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama + Qwen3&lt;/strong&gt; — local AI inference and mission generation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maven&lt;/strong&gt; — dependency management and builds.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One of my most important architectural decisions was using &lt;strong&gt;hexagonal architecture&lt;/strong&gt;. I separated the domain, application use cases, and infrastructure adapters to keep the business rules independent of the technologies used to run the application.&lt;/p&gt;

&lt;p&gt;For AI integration, I implemented an adapter that communicates with Ollama's local API. The application sends a request to the locally running model, receives the generated content, and uses it to create an outdoor mission.&lt;/p&gt;

&lt;p&gt;This project gave me an opportunity to practice backend concepts such as REST endpoints, validation, persistence, exception handling, and automated testing while exploring how AI can be integrated into a Java application.&lt;/p&gt;

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

&lt;p&gt;Open innovation was essential to making this project possible.&lt;/p&gt;

&lt;p&gt;By using Ollama with the Qwen3 model, I could experiment with AI inference on my own machine instead of depending on a hosted, closed AI API for every generation.&lt;/p&gt;

&lt;p&gt;This approach offers several advantages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Local control:&lt;/strong&gt; prompts can be processed locally rather than being sent to an external AI provider.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flexibility:&lt;/strong&gt; I can experiment with different compatible models and adjust the application as the project evolves.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accessibility for experimentation:&lt;/strong&gt; I could build and test the integration without needing a paid hosted AI API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Learning and transparency:&lt;/strong&gt; working with open-weight models and open-source tooling gave me a more hands-on understanding of how AI fits into an application.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Local inference does have trade-offs. Performance depends on the available hardware, and downloading the model initially requires obtaining the model files. Running inference locally also does not automatically make every component of an application open source.&lt;/p&gt;

&lt;p&gt;What mattered most to me was having the freedom to experiment, learn, and build around a model I could run locally.&lt;/p&gt;

&lt;p&gt;That freedom helped me turn a small idea into a working application while keeping the AI component under my control.&lt;/p&gt;

&lt;p&gt;More importantly, it gave me a chance to explore a different use of AI: encouraging people to spend less time online and more time in the real world.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts 🌿
&lt;/h2&gt;

&lt;p&gt;Touch Grass API started as a project to practice Java backend development, but it became a way to explore how technology can support healthier habits.&lt;/p&gt;

&lt;p&gt;I learned more about structuring a Spring Boot application, integrating local AI, and connecting a technical implementation to a real-world purpose.&lt;/p&gt;

&lt;p&gt;There is still plenty of room to improve the project, but the core idea is already there: make technology a starting point for an outdoor experience rather than the destination itself.&lt;/p&gt;

&lt;p&gt;Sometimes, the best thing an application can do is give you a reason to close your laptop and go outside.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What kind of outdoor mission would you like an AI to suggest for you?&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  java #springboot #opensource #ai
&lt;/h1&gt;

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