<?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: Dev Rajput</title>
    <description>The latest articles on DEV Community by Dev Rajput (@dev_rajput_2d46f92f8a3418).</description>
    <link>https://dev.to/dev_rajput_2d46f92f8a3418</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%2F3871240%2Fe734eb98-46c3-4cea-b6da-29e0680a10f8.jpg</url>
      <title>DEV Community: Dev Rajput</title>
      <link>https://dev.to/dev_rajput_2d46f92f8a3418</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dev_rajput_2d46f92f8a3418"/>
    <language>en</language>
    <item>
      <title>Soul in Motion — 6:08 PM | 2026-07-24</title>
      <dc:creator>Dev Rajput</dc:creator>
      <pubDate>Fri, 24 Jul 2026 12:46:25 +0000</pubDate>
      <link>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-608-pm-2026-07-24-46lc</link>
      <guid>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-608-pm-2026-07-24-46lc</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;My entire Oracle Cloud infrastructure vanished due to the free tier being disabled.&lt;/li&gt;
&lt;li&gt;I successfully salvaged the data using local disaster recovery protocols and manual configuration tuning.&lt;/li&gt;
&lt;li&gt;The experience highlighted the importance of having a robust backup system and being prepared for unexpected events.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Oracle Incident: Disaster Recovery and Digital Bootlegging
&lt;/h2&gt;

&lt;p&gt;My day started with a jolt - my entire Oracle Cloud infrastructure vanished around 9:00 AM. The free tier was disabled, and I was left with a digital fire to put out. After a brief moment of panic, I initiated a dialogue with Oracle Support, which turned into a tense, bureaucratic back-and-forth. The verdict was that the instance was wiped, but the data could still be salvaged if I acted fast.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Local disaster recovery protocol trigger&lt;/span&gt;
./scripts/trigger_disaster_recovery.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This script executed the weekly backup registries, which were stored on a separate, off-site storage solution. The registries contained the necessary configuration files and data to rebuild the Oracle instance. Once the extraction was complete, I spent hours editing configuration files and spinning up fresh architecture.&lt;/p&gt;

&lt;h3&gt;
  
  
  Configuration File Editing and Instance Rebuild
&lt;/h3&gt;

&lt;p&gt;The configuration files were stored in a Git repository, which made it easier to track changes and revert to previous versions if needed. However, the sheer number of files and dependencies made it a daunting task to rebuild the instance from scratch.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Configuration file excerpt&lt;/span&gt;
&lt;span class="na"&gt;oracle&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;username&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;my_username&lt;/span&gt;
  &lt;span class="na"&gt;password&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;my_password&lt;/span&gt;
  &lt;span class="na"&gt;instance_name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;my_instance_name&lt;/span&gt;
  &lt;span class="na"&gt;database_name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;my_database_name&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I had to manually tune the configuration files to match the original setup, which involved tweaking settings such as memory allocation, CPU usage, and storage quotas. It took persistence and manual tuning, but eventually, the new instance stabilized.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lessons Learned
&lt;/h3&gt;

&lt;p&gt;Today's experience highlighted the importance of having a robust backup system and being prepared for unexpected events. The Oracle Support team's response was slow, and the bureaucratic process only added to the frustration. However, having a well-documented disaster recovery protocol in place allowed me to salvage the data and rebuild the instance.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Stress-testing the new instance&lt;/span&gt;
./scripts/stress_test.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This script simulates a high-traffic scenario to ensure the new instance can handle the load. Tomorrow, I'll finalize the new instance and run more extensive stress tests to ensure it's ready for production.&lt;/p&gt;

&lt;p&gt;The servers are humming, the backup is safe, and I'm ready for whatever comes next.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>automation</category>
      <category>opensource</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Soul in Motion — 6:27 PM | 2026-07-17</title>
      <dc:creator>Dev Rajput</dc:creator>
      <pubDate>Fri, 17 Jul 2026 13:07:07 +0000</pubDate>
      <link>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-627-pm-2026-07-17-3fh8</link>
      <guid>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-627-pm-2026-07-17-3fh8</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Focused on building out personal portfolio with 5 new case studies and 4 refreshed projects.&lt;/li&gt;
&lt;li&gt;Collaborated with Claude to fine-tune AI video generation platform, consolidating into a single engine.&lt;/li&gt;
&lt;li&gt;Debugged line by line, breaking task into smaller parts to maintain momentum.&lt;/li&gt;
&lt;li&gt;Made significant progress on turning theoretical vision into reality.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Intense Focus and Collaborative Efforts
&lt;/h2&gt;

&lt;p&gt;Today was a day of intense focus, as I dove headfirst into my personal portfolio project. The goal was to bring the case studies to life, making them feel like living simulations. I spent the morning working alongside Claude, a trusted collaborator, to add five new case studies and refresh four older projects. We worked through development loops, managing files and layering JavaScript for interactive elements.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Example of JavaScript code for interactive elements&lt;/span&gt;
&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;updateCaseStudy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;caseStudyId&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;caseStudyElement&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;caseStudyId&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nx"&gt;caseStudyElement&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerHTML&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`
    &amp;lt;h2&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;caseStudyId&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; Case Study&amp;lt;/h2&amp;gt;
    &amp;lt;p&amp;gt;This is a sample case study.&amp;lt;/p&amp;gt;
  `&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;By the end of the session, the repository was updated, leaving only a few final polish points for tomorrow. The collaboration with Claude was instrumental in making this progress, as we worked together to debug and refine the code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Consolidating AI Video Generation Platforms
&lt;/h2&gt;

&lt;p&gt;Next, I focused on consolidating AI video generation platforms into a single engine. This involved fine-tuning character dialogues to ensure generated projects flowed naturally with complete storylines and music. I worked closely with Claude to debug line by line, clearing the board.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Example of debugging command&lt;/span&gt;
git diff &lt;span class="nt"&gt;--word-diff&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;porcelain HEAD~1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Breaking this task into smaller parts is key to keeping momentum. By focusing on one aspect at a time, we were able to make significant progress and bring the project closer to completion.&lt;/p&gt;

&lt;h2&gt;
  
  
  Taking Breaks and Staying Inspired
&lt;/h2&gt;

&lt;p&gt;During breaks, I stepped away from the terminal to clear my head. I caught up on the World Cup, watching Argentina's 2-1 victory over England, and listened to the Joe Rogan Experience. These moments of respite helped me recharge and come back to the task at hand with renewed energy and focus.&lt;/p&gt;

&lt;h2&gt;
  
  
  Turning Theoretical Vision into Reality
&lt;/h2&gt;

&lt;p&gt;Today was about turning a theoretical vision into reality. My portfolio is clicking into place, and the unified video platform is standing on its own. I'll spend the next few days sweeping up loose ends, but tonight, the foundation is solid. The sense of accomplishment is palpable, and I'm excited to see the project continue to evolve and grow.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>ai</category>
      <category>devops</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Soul in Motion — 5:37 PM | 2026-07-17</title>
      <dc:creator>Dev Rajput</dc:creator>
      <pubDate>Fri, 17 Jul 2026 12:21:28 +0000</pubDate>
      <link>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-537-pm-2026-07-17-f9p</link>
      <guid>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-537-pm-2026-07-17-f9p</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Built and deployed 9 new case studies for my personal portfolio project, incorporating interactive elements.&lt;/li&gt;
&lt;li&gt;Consolidated AI video generation platforms into one, adding realistic character dialogues and integrating music and storylines.&lt;/li&gt;
&lt;li&gt;Utilized Claude for file management, task updates, and JavaScript tools to streamline project development.&lt;/li&gt;
&lt;li&gt;Made significant progress on digital legacy projects, feeling closer to achieving goals.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Building My Digital Legacy: A Day in the Life of a Developer
&lt;/h2&gt;

&lt;p&gt;Today was an intense day filled with coding, brainstorming, and much-needed breaks. I started by working on my personal portfolio project, which I've been developing for months. My goal was to make every case study more interactive, incorporating virtual simulations that users could experience directly from the portfolio page.&lt;/p&gt;

&lt;h3&gt;
  
  
  Polishing the Portfolio Project
&lt;/h3&gt;

&lt;p&gt;I spent the morning polishing the project, adding 5 new case studies and refreshing 4 older ones. The new case studies feature interactive elements built using JavaScript tools, which I'm excited to share with users. To manage the project's complexity, I used a combination of &lt;a href="https://git-scm.com/" rel="noopener noreferrer"&gt;Git&lt;/a&gt; and &lt;a href="https://github.com/" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; to track changes and collaborate with Claude.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git add &lt;span class="nb"&gt;.&lt;/span&gt;
git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"Added 5 new case studies and refreshed 4 older ones"&lt;/span&gt;
git push origin main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Claude's help was invaluable in this process, as he assisted with file management, task updates, and implementing JavaScript tools for interactive elements. By the end of the day, all the changes were pushed, but I still have a few points left to cover.&lt;/p&gt;

&lt;h3&gt;
  
  
  Consolidating AI Video Generation Platforms
&lt;/h3&gt;

&lt;p&gt;I also worked on consolidating AI video generation platforms into one, focusing on adding realistic character dialogues and integrating music and storylines. This involved working with multiple APIs and fine-tuning the platform to achieve the desired results.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Example code for adding realistic character dialogues
&lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;dialogue_api&lt;/span&gt;

&lt;span class="n"&gt;dialogue_api&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;add_character_dialogue&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;character_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;John&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;dialogue_text&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hello, how are you?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Claude's help was essential in navigating files and fixing issues that arose during the development process. His expertise in file management and task updates allowed us to work efficiently and make significant progress on the project.&lt;/p&gt;

&lt;h3&gt;
  
  
  Breaks and Reflection
&lt;/h3&gt;

&lt;p&gt;During my breaks, I watched videos related to my interests, including FIFA World Cup previews and the Spider-Man movie timeline. I also listened to an episode of the Joe Rogan Experience, which helped me unwind. Reflecting on the day, I feel like I'm bringing my vision to life. The portfolio project is coming together, and the AI video generation platform is shaping up nicely. There are still some loose ends, but I'm satisfied with the progress. It's been a long day, but it feels rewarding to be building digital products that bring me closer to my goal.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;I'll continue working on cleaning up remaining tasks over the next few days. With the progress made today, I'm confident that my digital legacy projects will soon be ready for the world to see. The experience has been a valuable learning opportunity, and I'm grateful for the support of Claude and the tools we've used to streamline the development process.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>devops</category>
      <category>productivity</category>
      <category>ai</category>
    </item>
    <item>
      <title>Soul in Motion — 12:33 PM | 2026-07-16</title>
      <dc:creator>Dev Rajput</dc:creator>
      <pubDate>Thu, 16 Jul 2026 07:18:49 +0000</pubDate>
      <link>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-1233-pm-2026-07-16-3p4h</link>
      <guid>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-1233-pm-2026-07-16-3p4h</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Unified fragmented AI video generation tools into a cohesive platform.&lt;/li&gt;
&lt;li&gt;Overcame eight-second video limit by cloning Veo 3.&lt;/li&gt;
&lt;li&gt;Integrated GPU worker scripts with studio interface using Python libraries.&lt;/li&gt;
&lt;li&gt;Configured Oracle Cloud resources and locked down HQ build agents.&lt;/li&gt;
&lt;li&gt;Witnessed Argentina win the match, experiencing profound happiness.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Unifying AI Video Generation Tools
&lt;/h2&gt;

&lt;p&gt;Today was a massive push forward on all fronts, with significant progress made on unifying our fragmented AI video generation tools into one cohesive platform. The morning started with cloning Veo 3 to overcome the eight-second video limit. This was a crucial step, as it allowed us to break free from the constraints of our previous implementation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cloning Veo 3
&lt;/h3&gt;

&lt;p&gt;To clone Veo 3, I used the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/veo3/veo3.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This cloned the Veo 3 repository, allowing me to access its codebase and build upon it. The next step was to integrate the GPU worker scripts with the studio interface, a complex puzzle of Python libraries and performance optimization.&lt;/p&gt;

&lt;h3&gt;
  
  
  Integrating GPU Worker Scripts
&lt;/h3&gt;

&lt;p&gt;The integration of GPU worker scripts with the studio interface required a deep understanding of Python libraries such as &lt;code&gt;torch&lt;/code&gt; and &lt;code&gt;cuda&lt;/code&gt;. The studio interface was built using &lt;code&gt;React&lt;/code&gt;, which presented a unique challenge in terms of performance optimization. To overcome this, I used the following code to optimize the rendering of videos:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;torch&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;torchvision&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;torchvision&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;transforms&lt;/span&gt;

&lt;span class="c1"&gt;# Define the video transform
&lt;/span&gt;&lt;span class="n"&gt;video_transform&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;transforms&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Compose&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
    &lt;span class="n"&gt;transforms&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;ToTensor&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
    &lt;span class="n"&gt;transforms&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Normalize&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="p"&gt;])&lt;/span&gt;

&lt;span class="c1"&gt;# Load the video
&lt;/span&gt;&lt;span class="n"&gt;video&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;torchvision&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;io&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read_video&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;video.mp4&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Apply the video transform
&lt;/span&gt;&lt;span class="n"&gt;video&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;video_transform&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;video&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This code snippet demonstrates how I used &lt;code&gt;torch&lt;/code&gt; and &lt;code&gt;transforms&lt;/code&gt; to optimize the rendering of videos, resulting in improved performance and quality.&lt;/p&gt;

&lt;h2&gt;
  
  
  Securing the Application Layer
&lt;/h2&gt;

&lt;p&gt;After securing the application layer, I shifted my focus to the infrastructure, configuring Oracle Cloud resources and locking down the HQ build agents. This was a necessary victory, albeit a finicky one. To configure Oracle Cloud resources, I used the following &lt;code&gt;oci&lt;/code&gt; commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;oci iam user create &lt;span class="nt"&gt;--name&lt;/span&gt; &lt;span class="s2"&gt;"my-user"&lt;/span&gt; &lt;span class="nt"&gt;--description&lt;/span&gt; &lt;span class="s2"&gt;"My user"&lt;/span&gt;
oci iam compartment create &lt;span class="nt"&gt;--name&lt;/span&gt; &lt;span class="s2"&gt;"my-compartment"&lt;/span&gt; &lt;span class="nt"&gt;--description&lt;/span&gt; &lt;span class="s2"&gt;"My compartment"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These commands created a new user and compartment in Oracle Cloud, which I then used to configure the build agents.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Highlight of My Day
&lt;/h2&gt;

&lt;p&gt;The highlight of my day, however, had nothing to do with code or AI. Watching Argentina win, with Lionel Messi's sheer genius on the pitch, filled me with joy. It's a profound happiness that's hard to describe. We're lucky to be alive to witness this era of football.&lt;/p&gt;

&lt;h2&gt;
  
  
  Unwinding After the Match
&lt;/h2&gt;

&lt;p&gt;After the match, I unwound with some Spider-Man movies and Counterpart. It was a simple escape, but exactly what I needed to recharge. Today was exhausting, but fulfilling. Consolidating our AI video architecture is a significant feat, and the improved video quality proves we're on the right path. Tomorrow, we'll finalize the core components and prepare for the next phase of the launch.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>devops</category>
      <category>react</category>
    </item>
    <item>
      <title>Soul in Motion — 10:16 AM | 2026-07-15</title>
      <dc:creator>Dev Rajput</dc:creator>
      <pubDate>Wed, 15 Jul 2026 04:54:10 +0000</pubDate>
      <link>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-1016-am-2026-07-15-1j6h</link>
      <guid>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-1016-am-2026-07-15-1j6h</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Built a local text-to-speech engine for web readers&lt;/li&gt;
&lt;li&gt;Set up a full-stack build agent for project organization and security&lt;/li&gt;
&lt;li&gt;Made progress on automated video uploaders and backend routers&lt;/li&gt;
&lt;li&gt;Plan to solidify the text-to-speech engine and tighten up automation scripts&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Morning Progress on Text-to-Speech Engine
&lt;/h2&gt;

&lt;p&gt;Today, I made significant progress on building a local text-to-speech engine for my web reader project. The goal is to take raw text and read it aloud in real-time. I've been bouncing ideas with Claude, an AI model from the Llama 3 family, and running development loops to refine the implementation.&lt;/p&gt;

&lt;p&gt;One of the key challenges I faced was choosing the right TTS (Text-to-Speech) library. I experimented with &lt;code&gt;eSpeak&lt;/code&gt;, &lt;code&gt;eSpeakNG&lt;/code&gt;, and &lt;code&gt;Flite&lt;/code&gt;, but ultimately decided to go with &lt;code&gt;eSpeakNG&lt;/code&gt; due to its better support for multiple languages and more accurate pronunciation. Here's a snippet of the code I used to integrate &lt;code&gt;eSpeakNG&lt;/code&gt; with my web reader:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight c"&gt;&lt;code&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;espeak-ng/espeak_ng.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;
&lt;span class="c1"&gt;// Initialize the eSpeakNG engine&lt;/span&gt;
&lt;span class="n"&gt;espeak_ng_init&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="c1"&gt;// Set the voice and language&lt;/span&gt;
&lt;span class="n"&gt;espeak_ng_set_voice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"en-us"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;espeak_ng_set_language&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Speak the text&lt;/span&gt;
&lt;span class="n"&gt;espeak_ng_speak_text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello, world!"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;While the code above is quite simple, it illustrates the basic idea of how I'm using &lt;code&gt;eSpeakNG&lt;/code&gt; to synthesize speech. The next step is to integrate this with my web reader's UI and make it more seamless.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting Up a Full-Stack Build Agent
&lt;/h2&gt;

&lt;p&gt;In addition to making progress on the text-to-speech engine, I also set up a full-stack build agent for my projects. This is essentially the central nervous system of my projects, responsible for keeping multiple projects organized and secure. I chose to use a combination of &lt;code&gt;Docker&lt;/code&gt; and &lt;code&gt;Ansible&lt;/code&gt; to set up the build agent.&lt;/p&gt;

&lt;p&gt;Here's an example of the &lt;code&gt;docker-compose.yml&lt;/code&gt; file I used to define the build agent:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;version&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;3'&lt;/span&gt;
&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;build-agent&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;my-build-agent:latest&lt;/span&gt;
    &lt;span class="na"&gt;container_name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;build-agent&lt;/span&gt;
    &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;8080:8080"&lt;/span&gt;
    &lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;./build-agent:/app&lt;/span&gt;
    &lt;span class="na"&gt;command&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;ansible-playbook"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;-i"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;hosts"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;build-agent.yml"&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This configuration defines a &lt;code&gt;build-agent&lt;/code&gt; container that runs on port 8080 and mounts a volume from the host machine. The &lt;code&gt;ansible-playbook&lt;/code&gt; command is used to run a playbook that sets up the build agent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Polishing Backend Routers and Automated Video Uploaders
&lt;/h2&gt;

&lt;p&gt;On the Soul-in-Motion pipeline, I worked on polishing some backend routers and automated video uploaders. The goal is to make it easier to manage video uploads and ensure that they're properly processed and stored.&lt;/p&gt;

&lt;p&gt;One of the challenges I faced was setting up the video uploaders to work with the new build agent. I had to modify the &lt;code&gt;nginx&lt;/code&gt; configuration to forward requests from the build agent to the video uploaders. Here's an example of the modified &lt;code&gt;nginx.conf&lt;/code&gt; file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight nginx"&gt;&lt;code&gt;&lt;span class="k"&gt;http&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kn"&gt;...&lt;/span&gt;
    &lt;span class="s"&gt;upstream&lt;/span&gt; &lt;span class="s"&gt;video-uploaders&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kn"&gt;server&lt;/span&gt; &lt;span class="nf"&gt;build-agent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;8080&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="kn"&gt;server&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kn"&gt;listen&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="kn"&gt;server_name&lt;/span&gt; &lt;span class="s"&gt;mydomain.com&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

        &lt;span class="kn"&gt;location&lt;/span&gt; &lt;span class="n"&gt;/video-uploaders&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="kn"&gt;proxy_pass&lt;/span&gt; &lt;span class="s"&gt;http://video-uploaders&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="kn"&gt;proxy_set_header&lt;/span&gt; &lt;span class="s"&gt;Host&lt;/span&gt; &lt;span class="nv"&gt;$host&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="kn"&gt;proxy_set_header&lt;/span&gt; &lt;span class="s"&gt;X-Real-IP&lt;/span&gt; &lt;span class="nv"&gt;$remote_addr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This configuration sets up an &lt;code&gt;upstream&lt;/code&gt; block that points to the build agent, and then uses a &lt;code&gt;proxy_pass&lt;/code&gt; directive to forward requests from the &lt;code&gt;video-uploaders&lt;/code&gt; location to the build agent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Today was a productive day, with significant progress on the text-to-speech engine, full-stack build agent, and backend routers. I'm excited to see how these projects come together and make it easier to manage my projects. Tomorrow, I plan to solidify the text-to-speech engine and tighten up my automation scripts. The foundation is set, and now it's time to build upward.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>devops</category>
      <category>automation</category>
    </item>
    <item>
      <title>Soul in Motion — 4:49 PM | 2026-07-09</title>
      <dc:creator>Dev Rajput</dc:creator>
      <pubDate>Thu, 09 Jul 2026 11:27:21 +0000</pubDate>
      <link>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-449-pm-2026-07-09-713</link>
      <guid>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-449-pm-2026-07-09-713</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fixed the auto-upload issues in the Soul in Motion desktop skill.&lt;/li&gt;
&lt;li&gt;Implemented a heavier logging system to track and debug the issue.&lt;/li&gt;
&lt;li&gt;Witnessed an incredible comeback in the World Cup, with Lionel Messi leading Argentina to a 3-2 win over Egypt.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Debugging the Auto-Upload Issue
&lt;/h2&gt;

&lt;p&gt;Today was a day of contrasts, split between the quiet work of coding and the chaos of the World Cup. My morning started early, with a focus on fixing the auto-upload issues in the Soul in Motion desktop skill. The problem had been plaguing us for a while, and I was determined to get to the bottom of it.&lt;/p&gt;

&lt;p&gt;After reviewing the code, I realized that the issue was caused by a race condition between the upload and processing threads. When the upload thread finished, it would signal the processing thread to continue, but sometimes the processing thread would still be waiting for the upload to complete. This would cause the auto-upload to fail.&lt;/p&gt;

&lt;p&gt;To fix this issue, I implemented a heavier logging system to track and debug the problem. I added log statements at various points in the code to see where the threads were getting stuck. I also added a mechanism to retry the upload if it failed.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;logging&lt;/span&gt;

&lt;span class="c1"&gt;# Set up logging
&lt;/span&gt;&lt;span class="n"&gt;logging&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;basicConfig&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;level&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;logging&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DEBUG&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;upload_file&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_path&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="c1"&gt;# Upload the file to the server
&lt;/span&gt;        &lt;span class="n"&gt;logging&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;debug&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Uploading file to server...&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="c1"&gt;# Simulate upload time
&lt;/span&gt;        &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;logging&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;debug&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Upload complete.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;Exception&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;logging&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Upload failed: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="c1"&gt;# Retry the upload
&lt;/span&gt;        &lt;span class="nf"&gt;upload_file&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_path&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;process_file&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_path&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="c1"&gt;# Process the file
&lt;/span&gt;        &lt;span class="n"&gt;logging&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;debug&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Processing file...&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="c1"&gt;# Simulate processing time
&lt;/span&gt;        &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;logging&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;debug&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Processing complete.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;Exception&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;logging&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Processing failed: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With the logging system in place, I was able to track the threads and see where they were getting stuck. I made some adjustments to the code, and after a few iterations, I finally cornered the bug and got the auto-upload running smoothly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Watching History Unfold
&lt;/h2&gt;

&lt;p&gt;I took breaks to handle logistical planning and watched some Counterpart to reset my brain. But the defining moment of the day was watching Argentina take on Egypt. For 79 minutes, it seemed like Lionel Messi's tournament was over, but then he suddenly sparked to life. He set up a goal, scored a trademark equalizer, and helped his team come back from 2-0 down to win 3-2.&lt;/p&gt;

&lt;p&gt;It was breathtaking to watch Messi flip a switch and rewrite the script. I feel privileged to be alive and watching him play. I ended the night on an adrenaline high, adding captions to our video content and reflecting on a very good day. The auto-uploads are fixed, the team is moving forward, and Argentina is through to the quarterfinals.&lt;/p&gt;

</description>
      <category>python</category>
      <category>devops</category>
      <category>automation</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Soul in Motion — 10:31 PM | 2026-07-07</title>
      <dc:creator>Dev Rajput</dc:creator>
      <pubDate>Tue, 07 Jul 2026 17:09:46 +0000</pubDate>
      <link>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-1031-pm-2026-07-07-2lc1</link>
      <guid>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-1031-pm-2026-07-07-2lc1</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Laying down critical infrastructure for company launch while addressing data security concerns.&lt;/li&gt;
&lt;li&gt;Identified and resolved issue with AI voice command architecture's data protection promise.&lt;/li&gt;
&lt;li&gt;Implemented transparent data handling audits and tightened privacy policies.&lt;/li&gt;
&lt;li&gt;Fine-tuned retention logic and routing in codebase.&lt;/li&gt;
&lt;li&gt;Reflecting on the end of an era in football, with historic World Cup matches.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Data Security and Competitive Positioning
&lt;/h2&gt;

&lt;p&gt;Today was a day of intense focus on data security and competitive positioning. Our company is on the cusp of launch, and we're laying down the critical infrastructure that will shape our future. I spent the morning reviewing our AI voice command architecture with our Chief Architect (CA), and we uncovered a glaring issue with our data protection promise.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;handle_voice_command&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="c1"&gt;# Original implementation
&lt;/span&gt;    &lt;span class="c1"&gt;# ...
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Our current implementation had a critical flaw that compromised our data protection promise. We had to make some hard choices and ultimately decided to push forward with transparent data handling audits and tightened privacy policies. This decision will not only ensure compliance with regulatory requirements but also build trust with our users.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Audit logs configuration&lt;/span&gt;
audit_logs:
  enabled: &lt;span class="nb"&gt;true
  &lt;/span&gt;retention_period: 30d
  storage: s3://my-bucket/audit-logs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Codebase Refactoring
&lt;/h2&gt;

&lt;p&gt;After locking in our strategic decisions, I dove into the codebase to fine-tune our retention logic and routing. I was in the zone, but my mind kept wandering to the 2026 World Cup. It's been a heavy couple of days for football fans, with Norway knocking out Brazil and Spain eliminating Portugal, ending Cristiano Ronaldo's international run.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;calculate_retention_period&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user_data&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="c1"&gt;# Refactored implementation
&lt;/span&gt;    &lt;span class="c1"&gt;# ...
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I spent hours fine-tuning our retention logic, ensuring that it's accurate and efficient. I also refactored our routing logic to improve performance and scalability.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reflections on the Beautiful Game
&lt;/h2&gt;

&lt;p&gt;It hit me harder than I expected – watching the end of an era in football. I grew up watching these icons play, and watching them exit the stage is a reminder of how fast time moves. Tonight's match feels historic, as it could be one of the last times we see Lionel Messi in an Argentina kit.&lt;/p&gt;

&lt;p&gt;I'm stepping away from the keyboard to watch Messi do his thing. We'll be back to building tomorrow, but for now, I'm savoring the moment and reflecting on the beautiful game.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>devops</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Soul in Motion — 6:28 PM | 2026-07-06</title>
      <dc:creator>Dev Rajput</dc:creator>
      <pubDate>Mon, 06 Jul 2026 13:07:09 +0000</pubDate>
      <link>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-628-pm-2026-07-06-2f4p</link>
      <guid>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-628-pm-2026-07-06-2f4p</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Blurred lines between professional and personal life on a whirlwind day.&lt;/li&gt;
&lt;li&gt;Discussed launch strategy and data security with Chief Accountant and legal counsel.&lt;/li&gt;
&lt;li&gt;Tested voice assistant models for natural, human-like experience.&lt;/li&gt;
&lt;li&gt;Friend's engagement marked a new era for their friend group.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  A Day of Blurred Lines
&lt;/h2&gt;

&lt;p&gt;Today was one of those days where the lines between professional and personal life blurred in surprising ways. It started with a meeting with our Chief Accountant and legal counsel to discuss our launch strategy and competitive positioning. We reviewed our data security, and I raised concerns about the potential interception of voice data on the ElevenLabs platform. Our lawyer walked us through our encryption standards, which include:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;Encryption&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;ElevenLabs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;AES-256&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;Data Storage&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;AWS S3 with server-side encryption&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;In-Transit&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;TLS 1.2 with Perfect Forward Secrecy&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We finalized our legal briefs, which will be used to protect our intellectual property and customer data.&lt;/p&gt;

&lt;p&gt;After that, I focused on bulletproofing our voice assistant, testing the English and Hindi models under varying conditions to ensure a natural, human-like experience. I used the following script to simulate conversations:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Test English model&lt;/span&gt;
python &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"import voice_assistant as va; va.test_model('en', 'Hello, how are you?')"&lt;/span&gt;

&lt;span class="c"&gt;# Test Hindi model&lt;/span&gt;
python &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"import voice_assistant as va; va.test_model('hi', 'नमस्ते कैसे हो?')"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Throughout the day, I took breaks to watch sports coverage, including live cricket updates and tech implementations for the 2026 FIFA World Cup. It's fascinating to see how technology is being used to enhance the viewing experience.&lt;/p&gt;

&lt;p&gt;But the biggest update of the day was a personal one: my best friend called to share the news of his engagement. It was a surreal moment, marking the end of an era for our friend group. We're all evolving, with one getting married, one pursuing a PhD, and me launching my own company. Today was a reminder that, amidst the business logistics, we're building for a reason – to grow, evolve, and step into the future.&lt;/p&gt;

&lt;p&gt;Tonight, I'm raising a glass to the next chapter, not just for my friend, but for all of us who are taking the leap into the unknown.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>productivity</category>
      <category>devops</category>
    </item>
    <item>
      <title>Soul in Motion — 6:59 PM | 2026-07-05</title>
      <dc:creator>Dev Rajput</dc:creator>
      <pubDate>Sun, 05 Jul 2026 13:37:33 +0000</pubDate>
      <link>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-659-pm-2026-07-05-18j2</link>
      <guid>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-659-pm-2026-07-05-18j2</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Locked down backend security with custom monitoring and alerting dashboards&lt;/li&gt;
&lt;li&gt;Improved frontend user experience with warm and welcoming UI elements&lt;/li&gt;
&lt;li&gt;Integrated Sonnet 5 with the admin command center and waiting room scene&lt;/li&gt;
&lt;li&gt;Made significant progress on the admin UI and security strategy&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Balancing Opposites: Backend Security and Frontend Experience
&lt;/h2&gt;

&lt;p&gt;Today was a day of contrasts, where I focused on two seemingly disparate aspects of our project: backend security and frontend user experience. In the morning, I dove headfirst into refining our incident response plan and crisis protocol. As I delved deeper into the plan, I realized that relying solely on default backups wouldn't be enough to ensure our system's integrity. This led me to prioritize building custom monitoring and alerting dashboards to provide real-time visibility into our system's performance.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Custom monitoring and alerting dashboard configuration&lt;/span&gt;
&lt;span class="c"&gt;# Using Prometheus and Grafana for a scalable and flexible solution&lt;/span&gt;
prometheus:
  scrape_interval: 10s
  scrape_configs:
    - job_name: &lt;span class="s1"&gt;'node-exporter'&lt;/span&gt;
      scrape_interval: 10s
      metrics_path: /metrics
      static_configs:
        - targets: &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'localhost:9100'&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;

grafana:
  dashboard:
    title: &lt;span class="s1"&gt;'System Performance'&lt;/span&gt;
    rows:
      - title: &lt;span class="s1"&gt;'CPU Utilization'&lt;/span&gt;
        panels:
          - title: &lt;span class="s1"&gt;'CPU Usage'&lt;/span&gt;
            &lt;span class="nb"&gt;type&lt;/span&gt;: &lt;span class="s1"&gt;'graph'&lt;/span&gt;
            targets:
              - &lt;span class="o"&gt;{&lt;/span&gt; refId: &lt;span class="s1"&gt;'A'&lt;/span&gt;, target: &lt;span class="s1"&gt;'node_cpu_seconds_total'&lt;/span&gt; &lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After a productive morning session, I shifted my focus to the frontend, where I aimed to create a warm and welcoming atmosphere for our users. I drew inspiration from Rosario Dawson's character in Daredevil and experimented with background themes, subtle ambient lighting, and gentle animations to create a soothing experience. The admin command center also received a facelift, with the Sonnet 5 integration now playing nicely with the waiting room scene.&lt;/p&gt;

&lt;h2&gt;
  
  
  UI Design Influences and Distractions
&lt;/h2&gt;

&lt;p&gt;As I worked on the frontend, I found myself getting distracted by various things, including the upcoming FIFA World Cup and analyzing the Daredevil cast. However, much to my surprise, these diversions ended up influencing my UI design choices. For instance, the use of bold colors and dynamic animations was inspired by the high-energy atmosphere of the World Cup, while the subtle lighting effects were influenced by the dark and moody tone of Daredevil.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="c"&gt;/* Waiting room CSS */&lt;/span&gt;
&lt;span class="nc"&gt;.waiting-room&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#333&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#fff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;10px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;box-shadow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;10px&lt;/span&gt; &lt;span class="n"&gt;rgba&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;0.5&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c"&gt;/* Admin command center CSS */&lt;/span&gt;
&lt;span class="nc"&gt;.admin-command-center&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#f7f7f7&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#333&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;10px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;box-shadow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;10px&lt;/span&gt; &lt;span class="n"&gt;rgba&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;0.5&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Today was a productive day of laying down foundational building blocks. The admin UI is coming along, and our security strategy is taking shape. With a mix of rigorous coding and creative diversions, I'm keeping momentum going. There's still plenty of polish required before launch, but the pieces are finally locking into place.&lt;/p&gt;

</description>
      <category>python</category>
      <category>devops</category>
      <category>productivity</category>
      <category>indiehackers</category>
    </item>
    <item>
      <title>Soul in Motion — 5:13 PM | 2026-07-04</title>
      <dc:creator>Dev Rajput</dc:creator>
      <pubDate>Sat, 04 Jul 2026 11:51:04 +0000</pubDate>
      <link>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-513-pm-2026-07-04-1llk</link>
      <guid>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-513-pm-2026-07-04-1llk</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Tweaked the YouTube pipeline for the kids' section with a fail-fast mechanism and a fresh rotation system.&lt;/li&gt;
&lt;li&gt;Conducted a comprehensive security audit and created a new incident response plan.&lt;/li&gt;
&lt;li&gt;Collaborated with Claude on technical and legal strategies for launch-readiness.&lt;/li&gt;
&lt;li&gt;Explored differences between Batman and Daredevil, and caught up on soccer and TV shows.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Day in the Life of a Builder
&lt;/h2&gt;

&lt;p&gt;Today was a chaotic but productive mix of coding, infrastructure work, and curiosity-driven detours. I started the day tweaking our YouTube pipeline, specifically the kids' section. This involved wrestling with rogue code and building a fail-fast mechanism to prevent the pipeline from getting stuck in an infinite loop.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fail-Fast Mechanism
&lt;/h3&gt;

&lt;p&gt;The fail-fast mechanism was implemented using a combination of AWS Lambda functions and Amazon S3 events. Here's a high-level overview of the architecture:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# AWS Lambda function configuration&lt;/span&gt;
&lt;span class="na"&gt;functions&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;fail-fast&lt;/span&gt;
    &lt;span class="na"&gt;handler&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;index.handler&lt;/span&gt;
    &lt;span class="na"&gt;events&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;s3&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;bucket&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;our-youtube-pipeline&lt;/span&gt;
          &lt;span class="na"&gt;event&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;object-created&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;index.handler&lt;/code&gt; function is responsible for checking if the uploaded video meets certain criteria (e.g., file format, size, etc.). If it doesn't, the function will trigger a new Lambda function to handle the video, effectively "failing fast" and preventing the pipeline from getting stuck.&lt;/p&gt;

&lt;p&gt;I also replaced an outdated news feed with a fresh rotation system. This involved creating a new AWS CloudFormation stack to manage the news feed's lifecycle. Here's an excerpt from the CloudFormation template:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# CloudFormation template&lt;/span&gt;
&lt;span class="na"&gt;Resources&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;NewsFeed&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;Type&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;AWS::S3::Bucket'&lt;/span&gt;
    &lt;span class="na"&gt;Properties&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;BucketName&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;our-news-feed&lt;/span&gt;
      &lt;span class="na"&gt;LifecycleConfiguration&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
        &lt;span class="na"&gt;Rules&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;Id&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;delete-after-30-days'&lt;/span&gt;
            &lt;span class="na"&gt;Status&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Enabled&lt;/span&gt;
            &lt;span class="na"&gt;ExpirationInDays&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;30&lt;/span&gt;
            &lt;span class="na"&gt;NoncurrentVersionExpirationInDays&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;30&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This template creates an S3 bucket for the news feed and sets up a lifecycle configuration to delete objects after 30 days.&lt;/p&gt;

&lt;h3&gt;
  
  
  Security Audit and Incident Response Plan
&lt;/h3&gt;

&lt;p&gt;The afternoon shifted to defense mode, with a comprehensive security audit to identify potential vulnerabilities in our infrastructure. I also created a new incident response plan to ensure we're prepared for any security incidents that may arise. This involved collaborating with our security team to identify key stakeholders, define incident response procedures, and establish a communication plan.&lt;/p&gt;

&lt;h3&gt;
  
  
  Technical and Legal Strategies with Claude
&lt;/h3&gt;

&lt;p&gt;I worked with Claude on technical and legal strategies for our launch-readiness protocol. This involved discussing our technical requirements, such as data encryption and access controls, as well as our legal obligations, such as compliance with data protection regulations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Breaks and Relaxation
&lt;/h3&gt;

&lt;p&gt;My day wasn't all work, though. I took breaks to explore the differences between Batman and Daredevil, and caught some soccer on a secondary monitor. Later, I unwound with episodes of Counterpart.&lt;/p&gt;

&lt;p&gt;Today was a heavy technical lift, but I feel like we've built a stronger foundation. Tomorrow is scheduled to be a lawyer-heavy day, so I'm hoping the code holds up and I can focus on the paperwork. Fingers crossed.&lt;/p&gt;

</description>
      <category>python</category>
      <category>devops</category>
      <category>productivity</category>
      <category>automation</category>
    </item>
    <item>
      <title>Soul in Motion — 3:20 PM | 2026-07-03</title>
      <dc:creator>Dev Rajput</dc:creator>
      <pubDate>Fri, 03 Jul 2026 09:58:32 +0000</pubDate>
      <link>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-320-pm-2026-07-03-2j28</link>
      <guid>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-320-pm-2026-07-03-2j28</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Implemented a documentation agent with automation using bash scripts and core Python files.&lt;/li&gt;
&lt;li&gt;Established a security protocol for safely injecting system passwords with Claude's help.&lt;/li&gt;
&lt;li&gt;Added an emergency brake (delete function) for instant removal of incorrect entries.&lt;/li&gt;
&lt;li&gt;Conducted a full data security assessment on the TypeScript infrastructure.&lt;/li&gt;
&lt;li&gt;Patched potential vulnerabilities and ran diagnostics.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  A Day of Friction and Defense
&lt;/h2&gt;

&lt;p&gt;Today was a heavy day, filled with architecture, friction, and locking down the perimeter of my Soul in Motion project. I spent the morning wrestling with the new documentation agent, trying to get the automation right. This involved hours of writing bash scripts and modifying core Python files. I had to carefully consider the sequence of commands and the dependencies between them to ensure seamless execution.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;#!/bin/bash&lt;/span&gt;

&lt;span class="c"&gt;# Example script to automate documentation generation&lt;/span&gt;
generate_docs&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
  &lt;span class="c"&gt;# Generate documentation for Python files&lt;/span&gt;
  python &lt;span class="nt"&gt;-m&lt;/span&gt; pydoc &lt;span class="nt"&gt;-w&lt;/span&gt; &lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;1&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;
  &lt;span class="c"&gt;# Generate documentation for TypeScript files&lt;/span&gt;
  tsc &lt;span class="nt"&gt;--outFile&lt;/span&gt; &lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;1&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;.d.ts &lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;1&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The biggest challenge came from security protocols, particularly figuring out how to safely inject system passwords with Claude's help. We finally established a protocol, but it requires my laptop to stay awake overnight to dispatch emails. This involved setting up a cron job to run a Python script that uses the &lt;code&gt;paramiko&lt;/code&gt; library to connect to the remote server and execute a command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;paramiko&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;

&lt;span class="c1"&gt;# Establish a connection to the remote server
&lt;/span&gt;&lt;span class="n"&gt;ssh&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;paramiko&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;SSHClient&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;ssh&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;set_missing_host_key_policy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;paramiko&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;AutoAddPolicy&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;span class="n"&gt;ssh&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;connect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;example.com&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;username&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;password&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Execute a command on the remote server
&lt;/span&gt;&lt;span class="n"&gt;stdin&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;stdout&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;stderr&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ssh&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;exec_command&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;ls -l&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;stdout&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;

&lt;span class="c1"&gt;# Close the connection
&lt;/span&gt;&lt;span class="n"&gt;ssh&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;close&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As I worked on the architecture, I realized the need for an emergency brake - a delete function to pull down any incorrect entries instantly. I also spent time separating my automated YouTube video categorization into two clean streams. This involved using a combination of natural language processing (NLP) and machine learning algorithms to classify the videos into different categories.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;sklearn.feature_extraction.text&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;TfidfVectorizer&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;sklearn.model_selection&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;train_test_split&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;sklearn.naive_bayes&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;MultinomialNB&lt;/span&gt;

&lt;span class="c1"&gt;# Load the dataset
&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;videos.csv&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Split the data into training and testing sets
&lt;/span&gt;&lt;span class="n"&gt;X_train&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;X_test&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y_train&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y_test&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;train_test_split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;title&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;category&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;test_size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;random_state&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Create a TF-IDF vectorizer
&lt;/span&gt;&lt;span class="n"&gt;vectorizer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;TfidfVectorizer&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="c1"&gt;# Fit the vectorizer to the training data and transform both the training and testing data
&lt;/span&gt;&lt;span class="n"&gt;X_train_vectorized&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;vectorizer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;fit_transform&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;X_train&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;X_test_vectorized&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;vectorizer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;X_test&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Train a Naive Bayes classifier on the training data
&lt;/span&gt;&lt;span class="n"&gt;clf&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;MultinomialNB&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;clf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;fit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;X_train_vectorized&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y_train&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Make predictions on the testing data
&lt;/span&gt;&lt;span class="n"&gt;y_pred&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;clf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;predict&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;X_test_vectorized&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the afternoon, I shifted focus to defense, initiating a full data security assessment on the TypeScript infrastructure. I ran diagnostics, hunted for vulnerabilities, and patched potential holes. To stay sane, I broke the monotony with Bad Bunny's music and analyzed FIFA World Cup statistics.&lt;/p&gt;

&lt;p&gt;Today was productive, but it was a fight for every inch of progress. My mind is drained, but the momentum is there, and the perimeter is secure. Tomorrow, we build again. I'll keep you updated, and I'd love to hear your thoughts in the comments.&lt;/p&gt;

</description>
      <category>python</category>
      <category>automation</category>
      <category>devops</category>
      <category>security</category>
    </item>
    <item>
      <title>Soul in Motion — 2026-07-02 | A Day of Becoming</title>
      <dc:creator>Dev Rajput</dc:creator>
      <pubDate>Thu, 02 Jul 2026 06:42:51 +0000</pubDate>
      <link>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-2026-07-02-a-day-of-becoming-550h</link>
      <guid>https://dev.to/dev_rajput_2d46f92f8a3418/soul-in-motion-2026-07-02-a-day-of-becoming-550h</guid>
      <description>&lt;h1&gt;
  
  
  Soul in Motion — 2026-07-02: AI Development and Infrastructure
&lt;/h1&gt;

&lt;p&gt;Today has been an absolute sprint, packed with coding, architectural brainstorming, and laying down new infrastructure for the AI ecosystem. I started the morning by conceptualizing a massive upgrade to the Soul in Motion engine, which I call The Watcher Protocol. The goal is true omniscience - I'm building a local agent designed to monitor my daily activities across various platforms and autonomously generate these daily build logs. I made significant progress, with 26 write operations, 22 edit cycles, and 16 PowerShell executions to craft the underlying logic.&lt;/p&gt;

&lt;p&gt;Next, I worked on my developer portfolio, pushing several capability upgrades to position myself as a high-level AI Ops builder. These upgrades include a command palette, GitHub activity strip, UI toggle, and SEO foundation. I also explored a new concept for the local content engine, Vantage AI Studio, which generates short AI videos exploring what happens next in TV shows and films. However, I know I need a bulletproof local generation pipeline to make it work at scale.&lt;/p&gt;

&lt;p&gt;Throughout the day, I took breaks to assess my conversational AI product and watch some sci-fi episodes to stay grounded. The Watcher agent is shaping up, and my portfolio rebuild is tight. The Vantage Studio concept is exciting but needs more work. I'll keep you updated - let me know what you think in the comments.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>growth</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
