<?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: zubairlearntech</title>
    <description>The latest articles on DEV Community by zubairlearntech (@zubairlearntech).</description>
    <link>https://dev.to/zubairlearntech</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%2F3624015%2F66203973-9ef1-4251-8071-fb4cbd59ec7c.png</url>
      <title>DEV Community: zubairlearntech</title>
      <link>https://dev.to/zubairlearntech</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zubairlearntech"/>
    <language>en</language>
    <item>
      <title>Architecting a High-Performance Solana Trading Terminal with Next.js, Privy, and Jupiter</title>
      <dc:creator>zubairlearntech</dc:creator>
      <pubDate>Thu, 09 Jul 2026 23:06:44 +0000</pubDate>
      <link>https://dev.to/zubairlearntech/architecting-a-high-performance-solana-trading-terminal-with-nextjs-privy-and-jupiter-1ged</link>
      <guid>https://dev.to/zubairlearntech/architecting-a-high-performance-solana-trading-terminal-with-nextjs-privy-and-jupiter-1ged</guid>
      <description>&lt;p&gt;In 2026, Solana has solidified its position as the undisputed home of high-frequency on-chain trading. From late 2024 to early 2025, Solana accounted for a staggering 94.9% of all memecoin trading volume across major chains. With sub-cent fees and 400ms block times, it is the ideal environment for retail momentum.  &lt;/p&gt;

&lt;p&gt;However, despite the blockchain’s speed, the Web3 user experience remains a massive bottleneck. Traditional onboarding—forcing users to download browser extensions, secure 12-word seed phrases, and manually manage network fees—kills conversion rates before a user even makes their first trade.&lt;/p&gt;

&lt;p&gt;To solve this, I built the Solana Web Terminal: a fully non-custodial, high-performance DEX aggregator that removes onboarding friction entirely.&lt;/p&gt;

&lt;p&gt;Here is a deep dive into the architecture, the tech stack I used, and the engineering trade-offs required to build a seamless Web3 application.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjz40ygpid95glgp0mfyk.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjz40ygpid95glgp0mfyk.png" alt="Solana Web Terminal Full Overview" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Vision: Frictionless Web3 Trading&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The goal was simple: A user should be able to land on the app, log in with a Google account, and execute an optimized on-chain swap in under 60 seconds.&lt;/p&gt;

&lt;p&gt;To achieve this, the terminal needed three core pillars:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Invisible Wallets: No seed phrases or extensions required.&lt;/li&gt;
&lt;li&gt;Real-Time Market Data: Live charting and metric feeds without client-side API rate-limiting.&lt;/li&gt;
&lt;li&gt;Optimized Execution: Intelligent routing that guarantees the best swap price across all Solana DEXs.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;The Modern App Tech Stack&lt;/strong&gt;&lt;br&gt;
To build a production-ready system, I utilized a modern, full-stack edge architecture:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Framework: Next.js (App Router) &amp;amp; React&lt;/li&gt;
&lt;li&gt;Styling: Tailwind CSS (Dark-mode, responsive grid layouts)&lt;/li&gt;
&lt;li&gt;Authentication &amp;amp; Wallets: Privy (Embedded Wallets)&lt;/li&gt;
&lt;li&gt;On-Chain Routing: Jupiter Aggregator v6 API&lt;/li&gt;
&lt;li&gt;Market Data: BirdEye API&lt;/li&gt;
&lt;li&gt;Charting: TradingView (&lt;code&gt;lightweight-charts&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Infrastructure: Vercel (Serverless Edge deployments)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Architectural Deep Dive&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Removing the Wallet Barrier with Privy&lt;/strong&gt;&lt;br&gt;
The biggest hurdle in crypto is the wallet connection phase. By integrating Privy, the Solana Web Terminal replaces the traditional "Connect Wallet" button with standard Apple and Google OAuth logins.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbpbhs1cooi63ealbptiz.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbpbhs1cooi63ealbptiz.png" alt="Privy Wallet Sign-in Modal" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Behind the scenes, Privy provisions a secure, non-custodial embedded Solana wallet locked to the user's social identity. The user gets full self-custody and the ability to sign transactions securely on their device, but with the familiar, frictionless UX of a Web2 application.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjylk3381hxufwxnwxlkf.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjylk3381hxufwxnwxlkf.png" alt="Google OAuth Account Selection" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F90xyx33mqag15tjqa8sv.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F90xyx33mqag15tjqa8sv.png" alt="Google Connection Confirmation" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Securing Live Market Data via Next.js Routes&lt;/strong&gt;&lt;br&gt;
Providing a live ticker of trending tokens and real-time price metrics requires querying external data providers like BirdEye. A common mistake developers make is fetching this data directly from the client, which exposes private API keys to the browser network tab.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy37qmnyifzmj9ewkzqlj.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy37qmnyifzmj9ewkzqlj.png" alt="Main Trading Dashboard Layout" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To secure the architecture, I utilized Next.js Serverless Routes. The frontend client pings a local, unauthenticated endpoint (&lt;code&gt;/api/trending&lt;/code&gt;), which then securely proxies the request to BirdEye using environment variables stored safely on the Vercel backend. This completely hides the &lt;code&gt;BIRDEYE_API_KEY&lt;/code&gt; while enabling fast, cached data ingestion for the marquee tickers and trending lists.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Aggregating Liquidity with Jupiter v6&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Jupiter is the dominant decentralized exchange (DEX) aggregator built primarily for the Solana blockchain, consolidating liquidity from multiple automated market makers (AMMs).  &lt;/p&gt;

&lt;p&gt;The trading panel integrates directly with the Jupiter API to handle on-chain execution. The transaction pipeline operates in three distinct phases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Quote: The client sends the input mint, output mint, and amount to Jupiter. Jupiter scans dozens of DEXs (like Raydium and Orca) to find the most efficient multi-hop route, minimizing slippage.
&lt;/li&gt;
&lt;li&gt;The Serialization: The optimal route is sent back to Jupiter to generate a serialized transaction encoded in Base64. I explicitly used Versioned Transactions (v0), which support Address Lookup Tables (LUTs) required for complex multi-hop swaps that would otherwise exceed Solana's transaction size limits.&lt;/li&gt;
&lt;li&gt;The Signature: The decoded Versioned Transaction is passed to Privy’s &lt;code&gt;signTransaction&lt;/code&gt; hook. The user confirms the swap via a sleek UI prompt, and the signed payload is broadcast to the network via an Alchemy RPC node.&lt;/li&gt;
&lt;/ul&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5k2ud15eec4sxvnyqcj8.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5k2ud15eec4sxvnyqcj8.png" alt="Jupiter Execution Swap Panel" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Zero-Jitter Global State&lt;/strong&gt;&lt;br&gt;
Financial applications require instant feedback. When a user selects a token from the animated CSS marquee banner or the trending list, that asset becomes the global selected state.&lt;/p&gt;

&lt;p&gt;This state change instantly cascades down the DOM—updating the token metrics, swapping out the TradingView chart parameters, and prepopulating the Jupiter swap target—without ever triggering a jarring page refresh or layout shift.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxfuke5nsqlug6c4h1vjt.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxfuke5nsqlug6c4h1vjt.png" alt="Live Trades and Candlestick Chart Closeup" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts &amp;amp; Source Code&lt;/strong&gt;&lt;br&gt;
Building the Solana Web Terminal highlighted the massive leap forward in Web3 developer tooling. By combining Next.js serverless architecture with embedded wallets and optimized DEX aggregators, we can finally build decentralized applications that rival the speed and usability of centralized finance (CeFi) platforms.&lt;/p&gt;

&lt;p&gt;If you are interested in exploring the codebase, the transaction pipelines, or the UI layout, I have open-sourced the entire project.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="[https://github.com/zubair-gulbarge/solana-web-terminal.git](https://github.com/zubair-gulbarge/solana-web-terminal.git)"&gt;View the source code on GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Are you building scalable infrastructure or Web3 products? Let’s connect. You can find me on [&lt;a href="http://www.linkedin.com/in/mohammed-zubair-82b1582a1" rel="noopener noreferrer"&gt;www.linkedin.com/in/mohammed-zubair-82b1582a1&lt;/a&gt;] or check out more of my architectural teardowns at &lt;a href="https://gulbarge.tech/" rel="noopener noreferrer"&gt;gulbarge.tech&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>solanawebterminal</category>
      <category>web3onboarding</category>
      <category>nextjscryptoapp</category>
      <category>crypto</category>
    </item>
    <item>
      <title>I Built a DevOps Portfolio That Actually Deploys Itself (React, Vite, Vercel) 🚀</title>
      <dc:creator>zubairlearntech</dc:creator>
      <pubDate>Wed, 08 Jul 2026 13:34:14 +0000</pubDate>
      <link>https://dev.to/zubairlearntech/i-built-a-devops-portfolio-that-actually-deploys-itself-react-vite-vercel-4i5c</link>
      <guid>https://dev.to/zubairlearntech/i-built-a-devops-portfolio-that-actually-deploys-itself-react-vite-vercel-4i5c</guid>
      <description>&lt;p&gt;As a DevOps and Cloud Engineer, I’ve always found traditional resume formats incredibly frustrating. They are great for listing out buzzwords, but they completely fail at showing how I think about system architecture, how I structure CI/CD pipelines, or how I handle cloud infrastructure.&lt;/p&gt;

&lt;p&gt;So, I decided to build a centralized space to document my case studies, showcase my technical blog, and prove my deployment skills in real-time.&lt;/p&gt;

&lt;p&gt;Here is a breakdown of how I built my new engineering portfolio, the architecture behind it, and why I treated it like a production-grade application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🏗️ The Tech Stack (Keeping it Fast and Clean)&lt;/strong&gt;&lt;br&gt;
I didn't want to overcomplicate the frontend. I needed something blazing fast that I could maintain easily while focusing my real energy on the backend and deployment logic.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Frontend Framework: React&lt;/li&gt;
&lt;li&gt;Build Tool: Vite (Because waiting for Webpack to compile in 2026 is a crime).&lt;/li&gt;
&lt;li&gt;Hosting &amp;amp; Edge Delivery: Vercel&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;⚙️ The CI/CD Pipeline: Zero-Touch Deployments&lt;/strong&gt;&lt;br&gt;
As a DevOps engineer, the most important part of this project wasn't the UI—it was the deployment pipeline. I wanted a setup where I could write a new Markdown blog post or update a case study, hit &lt;code&gt;git push&lt;/code&gt;, and never think about it again.&lt;/p&gt;

&lt;p&gt;Here is how the pipeline works:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Version Control: Hosted on GitHub.&lt;/li&gt;
&lt;li&gt;Automated Triggers: Vercel is hooked directly into my &lt;code&gt;main&lt;/code&gt; branch.&lt;/li&gt;
&lt;li&gt;The Build Process: Every time code is merged, Vercel spins up an isolated build environment, runs &lt;code&gt;npm run build&lt;/code&gt; via Vite, and instantly catches any broken asset links (like a missing &lt;code&gt;logo.png&lt;/code&gt;!) before pushing to production.&lt;/li&gt;
&lt;li&gt;Edge Routing: The compiled static assets are distributed globally across Vercel’s Edge Network.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;📂 Project Showcases: Moving Beyond "Hello World"&lt;/strong&gt;&lt;br&gt;
I built this site specifically to break down complex cloud and architecture concepts into readable case studies. Currently, the site hosts deep dives into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;**Cryptocurrency Trading Architecture: **The infrastructure and database modeling required to build a frictionless, modern Web3 trading platform.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automated Orchestration Systems:&lt;/strong&gt; Full-stack architecture detailing how I handle complex job orchestration using Python and SQLite.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of just linking to GitHub repos, each project on the site breaks down the Problem, the Architecture, and the Impact.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔍 SEO and Analytics: Controlling the Narrative&lt;/strong&gt;&lt;br&gt;
A portfolio is useless if recruiters and clients can't find it. I treated SEO as a first-class citizen during development:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dynamic Meta Tags: Ensuring the &lt;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;meta name="description"&amp;gt;&lt;/code&gt; are perfectly tailored for Google Search snippets.&lt;/li&gt;
&lt;li&gt;Sitemap &amp;amp; Robots.txt: Configured a custom &lt;code&gt;sitemap.xml&lt;/code&gt; in the &lt;code&gt;public&lt;/code&gt; folder and forced indexing via Google Search Console to ensure my case studies are discoverable.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;💡 What I Learned&lt;/strong&gt;&lt;br&gt;
Building a portfolio is surprisingly similar to building enterprise software. You still have to worry about asset management (always put your dynamic images in the &lt;code&gt;public&lt;/code&gt; folder!), case-sensitive Linux build servers, and automated testing.&lt;/p&gt;

&lt;p&gt;I’d love for the community to take a look and tear it apart. Check out the live build here: &lt;a href="https://gulbarge.tech" rel="noopener noreferrer"&gt;https://gulbarge.tech&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let me know in the comments: What is your go-to tech stack for personal sites right now? Are you team Next.js, Vite, or strictly static HTML/CSS?&lt;/p&gt;

&lt;h1&gt;
  
  
  DevOps #CloudEngineering #WebDevelopment #ReactJS #Vercel #CICD #SoftwareEngineering #TechPortfolio
&lt;/h1&gt;

</description>
      <category>devops</category>
      <category>portfolio</category>
      <category>webdev</category>
      <category>reviews</category>
    </item>
    <item>
      <title>I Built a Local, AI-Powered ATS &amp; Resume Generator to Hack the Job Search</title>
      <dc:creator>zubairlearntech</dc:creator>
      <pubDate>Tue, 23 Jun 2026 20:43:05 +0000</pubDate>
      <link>https://dev.to/zubairlearntech/i-built-a-local-ai-powered-ats-resume-generator-to-hack-the-job-search-675</link>
      <guid>https://dev.to/zubairlearntech/i-built-a-local-ai-powered-ats-resume-generator-to-hack-the-job-search-675</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Introduction&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Applying for tech roles is a numbers game, but sending a generic resume is a guaranteed rejection. Every application needs a tailored resume, but manually rewriting bullet points for every single Job Description (JD) is exhausting.&lt;/p&gt;

&lt;p&gt;As a Cloud and DevOps Engineer, I prefer automating my problems. So, I built a completely local, zero-cost, AI-powered Applicant Tracking System (ATS) and Resume Tailor. It ingests my master profile, reads a target JD, uses a local LLM to rewrite my experience, and spits out a perfectly formatted, ATS-friendly PDF.&lt;/p&gt;

&lt;p&gt;Here is a look under the hood at how I built it, the architecture, and how you can run it locally.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Tech Stack&lt;/strong&gt;&lt;br&gt;
I wanted an architecture that was robust, decoupled, and cloud-ready for eventual deployment to AWS.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Frontend: React (Vite) for a lightning-fast, dynamic UI.&lt;/li&gt;
&lt;li&gt;Backend: FastAPI (Python) for asynchronous routing and high performance.&lt;/li&gt;
&lt;li&gt;Database: MongoDB (Containerized via Docker) for unstructured document storage.&lt;/li&gt;
&lt;li&gt;AI Engine: LangChain orchestrating Ollama (Llama 3), running entirely locally for data privacy and zero API costs.&lt;/li&gt;
&lt;li&gt;PDF Rendering: WeasyPrint &amp;amp; Jinja2 templates.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Core Features&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Dynamic Master Profile Builder
Instead of relying on a static text file, I built a LinkedIn-style dashboard. It allows you to dynamically add, edit, and organize your professional experience, technical projects, and certifications. This acts as the "source of truth" database for the AI.&lt;/li&gt;
&lt;/ol&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcdpf5v8lkynxl0obhats.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcdpf5v8lkynxl0obhats.png" alt="Master Profile Builder" width="800" height="465"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;AI Resume Tailoring &amp;amp; Rendering
You simply paste a target Job Description into the generator. The FastAPI backend streams this to the local Llama 3 model, which intelligently filters and rewrites your master profile to highlight the exact keywords the employer is looking for. It then compiles this into a strict, Harvard-style HTML template and renders a downloadable PDF—guaranteed to pass automated ATS parsers.&lt;/li&gt;
&lt;/ol&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl5xddc2pcbv4xnbrlex2.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl5xddc2pcbv4xnbrlex2.png" alt="AI Resume Tailoring" width="800" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Kanban Application Tracker
Once the resume is generated, the app automatically tracks the application. I built a drag-and-drop Kanban board to visualize the CI/CD pipeline of the job hunt: from Preparing to Applied, Interviewing, and Offered.&lt;/li&gt;
&lt;/ol&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo9bnqhk1j64r32cn0qj2.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo9bnqhk1j64r32cn0qj2.png" alt="Kanban Application Tracker" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to Run It Locally&lt;/strong&gt;&lt;br&gt;
I have open-sourced the project so you can use it for your own job hunt. You will need Docker and Ollama installed.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Clone &amp;amp; Start the Database:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Bash
git clone https://github.com/zubair-gulbarge/job-hunter-ai.git
&lt;span class="nb"&gt;cd &lt;/span&gt;job-hunter-ai
docker-compose up &lt;span class="nt"&gt;-d&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Start the Backend:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Bash
&lt;span class="nb"&gt;cd &lt;/span&gt;backend
python3 &lt;span class="nt"&gt;-m&lt;/span&gt; venv venv
&lt;span class="nb"&gt;source &lt;/span&gt;venv/bin/activate
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
uvicorn app.main:app &lt;span class="nt"&gt;--reload&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Start the Frontend:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Bash
&lt;span class="nb"&gt;cd &lt;/span&gt;frontend
npm &lt;span class="nb"&gt;install
&lt;/span&gt;npm run dev

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What’s Next?&lt;/strong&gt;&lt;br&gt;
Building this was a massive learning experience in uniting AI with full-stack development and containerization. I am planning to implement AWS infrastructure via Terraform next.&lt;/p&gt;

&lt;p&gt;I would love the community's feedback! Clone the repo, try tailoring your own resume, and let me know what features you think I should add next. If you run into issues, drop a comment below or open a PR.&lt;br&gt;
&lt;a href="https://github.com/zubair-gulbarge/job-hunter-ai.git" rel="noopener noreferrer"&gt;https://github.com/zubair-gulbarge/job-hunter-ai.git&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>automation</category>
      <category>aws</category>
      <category>cloud</category>
    </item>
  </channel>
</rss>
