<?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>Forem: Anton Kulyk</title>
    <description>The latest articles on Forem by Anton Kulyk (@hell0_fri3nd).</description>
    <link>https://forem.com/hell0_fri3nd</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2626693%2F40c2a586-fff9-4530-a975-b627b92e99a0.jpg</url>
      <title>Forem: Anton Kulyk</title>
      <link>https://forem.com/hell0_fri3nd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/hell0_fri3nd"/>
    <language>en</language>
    <item>
      <title>I Built a Small Project in 3 Nights Just to Try Inertia and the New Laravel</title>
      <dc:creator>Anton Kulyk</dc:creator>
      <pubDate>Mon, 05 Jan 2026 14:25:18 +0000</pubDate>
      <link>https://forem.com/hell0_fri3nd/i-built-a-small-project-in-3-nights-just-to-try-inertia-and-the-new-laravel-3n0o</link>
      <guid>https://forem.com/hell0_fri3nd/i-built-a-small-project-in-3-nights-just-to-try-inertia-and-the-new-laravel-3n0o</guid>
      <description>&lt;p&gt;I didn’t start with a startup idea or a business goal.&lt;br&gt;
I just wanted to try Inertia.js and the latest Laravel in something real.&lt;/p&gt;

&lt;p&gt;Instead of writing random demo code, I decided to build an actual project. Not because I needed it, but because fake examples don’t teach much.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why I Did This&lt;/strong&gt;&lt;br&gt;
My only goal was to understand how Inertia feels in a real setup:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;real routes&lt;/li&gt;
&lt;li&gt;real forms&lt;/li&gt;
&lt;li&gt;real validation&lt;/li&gt;
&lt;li&gt;real deployment
I wanted to see where it helps and where it gets in the way.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Time and Constraints&lt;/strong&gt;&lt;br&gt;
The whole thing took three evenings, usually working until 3–4 AM.&lt;/p&gt;

&lt;p&gt;That time included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;setting up a VPS&lt;/li&gt;
&lt;li&gt;buying and configuring a domain&lt;/li&gt;
&lt;li&gt;DNS records&lt;/li&gt;
&lt;li&gt;server setup&lt;/li&gt;
&lt;li&gt;CI/CD with deploying Laravel&lt;/li&gt;
&lt;li&gt;connecting Inertia with React&lt;/li&gt;
&lt;li&gt;wiring analytics&lt;/li&gt;
&lt;li&gt;and of course a lot of tests&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So this wasn't just &lt;em&gt;coding a feature&lt;/em&gt;. It was the full loop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Stack&lt;/strong&gt;&lt;br&gt;
I used:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Laravel (12.44.0)&lt;/li&gt;
&lt;li&gt;Inertia.js (2.1.4)&lt;/li&gt;
&lt;li&gt;React (19.2.0)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I didn’t want to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;design an API&lt;/li&gt;
&lt;li&gt;duplicate validation logic&lt;/li&gt;
&lt;li&gt;deal with token-based auth&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Inertia let me keep Laravel in control while still writing React on the frontend.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Actually Built&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Nothing fancy.&lt;br&gt;
A small but complete project where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Laravel handles routing and validation&lt;/li&gt;
&lt;li&gt;Inertia returns page data&lt;/li&gt;
&lt;li&gt;React renders the UI&lt;/li&gt;
&lt;li&gt;everything runs in production&lt;/li&gt;
&lt;li&gt;analytics is enabled from day one&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The point wasn't features — it was the process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;An Unexpected Side Effect&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I enjoyed working with React in this setup much more than I expected.&lt;/p&gt;

&lt;p&gt;Because of that, I'm now planning to migrate the frontend of vulnwatch.tech to React as well. The development flow felt cleaner and faster, especially with Laravel still handling all the backend logic.&lt;/p&gt;

&lt;p&gt;This small experiment ended up influencing decisions on a much larger project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Stood Out&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The biggest takeaway was how much simpler things get when you stop thinking in APIs.&lt;/p&gt;

&lt;p&gt;Once I treated pages as server-driven state instead of API responses, the amount of glue code dropped significantly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This wasn't about launching a product.&lt;/p&gt;

&lt;p&gt;It was about learning a stack properly — with real deployment, DNS, and constraints.&lt;/p&gt;

&lt;p&gt;For experiments, MVPs, and solo projects, Laravel + Inertia + React feels like a very efficient setup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If You’re Curious&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If anyone is interested, here’s the link to what I ended up building:&lt;br&gt;
&lt;a href="https://linkstobio.com/" rel="noopener noreferrer"&gt;linkstobio.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy to answer any questions or share more details about the setup.&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>learning</category>
      <category>react</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Deploying Your Own AI on a Website in Just 15 Minutes? Yes, It’s Possible!</title>
      <dc:creator>Anton Kulyk</dc:creator>
      <pubDate>Sun, 09 Mar 2025 04:07:10 +0000</pubDate>
      <link>https://forem.com/hell0_fri3nd/deploying-your-own-ai-on-a-website-in-just-15-minutes-yes-its-possible-1j9</link>
      <guid>https://forem.com/hell0_fri3nd/deploying-your-own-ai-on-a-website-in-just-15-minutes-yes-its-possible-1j9</guid>
      <description>&lt;p&gt;Motivating night, dear community!&lt;/p&gt;

&lt;p&gt;Did you know that you can launch your own local AI on your website in just 15 minutes? I recently discovered Ollama, a tool that allows you to install an AI engine on your server, connect a cybersecurity-trained model, and make it accessible to the world.&lt;/p&gt;

&lt;p&gt;I find this absolutely incredible because it means AI can now be deeply integrated into services, and most importantly, there’s an opportunity to train custom models that incorporate personal expertise.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl -fsSL https://ollama.com/install.sh

ollama serve

curl http://localhost:11434/api/generate -d '{
 "model": "llama2",
 "prompt": "Tell me about security headers"
}'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To be honest, getting a basic request-response setup took me just 15 minutes. However, I ended up spending around two hours in total because I had to implement a user interface and integrate a CAPTCHA system to protect the server from automated abuse.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn0tfkkwip7rpsbajp6l3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn0tfkkwip7rpsbajp6l3.png" alt=" " width="800" height="748"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you’re interested in this topic, let me know by voting! If this post gets enough engagement, I’ll share the technical implementation details.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“We live in exciting times, don’t we?”&lt;/em&gt; – Mr. Robot.&lt;/p&gt;

&lt;p&gt;you can test it free &lt;a href="https://vulnwatch.pro/ai" rel="noopener noreferrer"&gt;https://vulnwatch.pro/ai&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>website</category>
      <category>security</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Why Your Website Needs a Content Security Policy (CSP) Header</title>
      <dc:creator>Anton Kulyk</dc:creator>
      <pubDate>Mon, 03 Mar 2025 02:20:21 +0000</pubDate>
      <link>https://forem.com/hell0_fri3nd/why-your-website-needs-a-content-security-policy-csp-header-7n0</link>
      <guid>https://forem.com/hell0_fri3nd/why-your-website-needs-a-content-security-policy-csp-header-7n0</guid>
      <description>&lt;p&gt;Did you know that over 60% of cyber attacks exploit weak or missing security headers? One of the most crucial headers to protect your website is Content Security Policy (CSP).&lt;/p&gt;

&lt;p&gt;🔹 What is CSP?&lt;/p&gt;

&lt;p&gt;CSP is a security feature that helps prevent Cross-Site Scripting (XSS), code injection, and data theft by controlling which scripts, styles, and resources can load on your site.&lt;/p&gt;

&lt;p&gt;🔥 Why is CSP Important?&lt;/p&gt;

&lt;p&gt;✅ Blocks Malicious Scripts – Stops attackers from injecting harmful JavaScript.&lt;br&gt;
✅ Prevents Data Theft – Mitigates attacks that steal user credentials via phishing.&lt;br&gt;
✅ Secures Third-Party Integrations – Limits external scripts to trusted sources.&lt;br&gt;
✅ Reduces Attack Surface – Strengthens security beyond firewalls &amp;amp; SSL.&lt;/p&gt;

&lt;p&gt;⚡ Example of a Secure CSP Header&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted-source.com; style-src 'self' 'unsafe-inline'; object-src 'none';&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This setup:&lt;br&gt;
🔹 Allows scripts only from your site &amp;amp; trusted sources&lt;br&gt;
🔹 Prevents malicious inline JavaScript execution&lt;br&gt;
🔹 Blocks insecure Flash &amp;amp; object embeds&lt;/p&gt;

&lt;p&gt;🔍 How to Implement CSP&lt;/p&gt;

&lt;p&gt;1️⃣ Add it to your web server headers (Apache, Nginx, etc.).&lt;br&gt;
2️⃣ Use Content-Security-Policy-Report-Only to test before enforcing.&lt;br&gt;
3️⃣ Continuously refine policies using CSP violation reports.&lt;/p&gt;

&lt;p&gt;A well-implemented CSP is your first line of defense against modern web threats. Is your website protected?&lt;/p&gt;

&lt;p&gt;You can check you website for free on &lt;a href="https://vulnwatch.pro" rel="noopener noreferrer"&gt;https://vulnwatch.pro&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;P.S. Feel free to DM me your email registered on the website, and I’ll give you 50 free scans!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>vulnerabilities</category>
      <category>saas</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
