<?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: Sanvi Naik</title>
    <description>The latest articles on DEV Community by Sanvi Naik (@sanvi_naik_34794e9b4928cb).</description>
    <link>https://dev.to/sanvi_naik_34794e9b4928cb</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%2F4158186%2F23e2e059-de78-4244-9188-48ad3ddef757.png</url>
      <title>DEV Community: Sanvi Naik</title>
      <link>https://dev.to/sanvi_naik_34794e9b4928cb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sanvi_naik_34794e9b4928cb"/>
    <language>en</language>
    <item>
      <title>ContextSwitch: An AI Assistant That Helps You Pick Up Where You Left Off</title>
      <dc:creator>Sanvi Naik</dc:creator>
      <pubDate>Mon, 26 Oct 2026 05:41:17 +0000</pubDate>
      <link>https://dev.to/sanvi_naik_34794e9b4928cb/contextswitch-an-ai-assistant-that-helps-you-pick-up-where-you-left-off-587k</link>
      <guid>https://dev.to/sanvi_naik_34794e9b4928cb/contextswitch-an-ai-assistant-that-helps-you-pick-up-where-you-left-off-587k</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week3-2026-10-19"&gt;Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Have you ever reopened a project after a few days away and spent the first 20 minutes trying to remember what you were doing?&lt;/p&gt;

&lt;p&gt;Which files changed? What did the last commits accomplish? What still needs attention? Where should you start?&lt;/p&gt;

&lt;p&gt;I built ContextSwitch, a read-only project-resumption assistant designed to answer those questions.&lt;/p&gt;

&lt;p&gt;Instead of manually piecing together repository history, ContextSwitch gathers Git commits, working-tree changes, documentation, and TODO-style markers into a structured report. It then suggests possible next steps, with an optional AI-generated briefing to make the information easier to digest.&lt;/p&gt;

&lt;p&gt;The goal is simple: spend less energy remembering where you left off and more energy actually building.&lt;/p&gt;

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

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

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

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

&lt;p&gt;The project is written in Python and uses Git as its primary source of repository evidence.&lt;/p&gt;

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

&lt;p&gt;ContextSwitch combines deterministic repository inspection with optional AI summarization.&lt;/p&gt;

&lt;p&gt;The workflow collects:&lt;/p&gt;

&lt;p&gt;Recent commits and repository identity.&lt;/p&gt;

&lt;p&gt;Staged, unstaged, untracked, and deleted paths where available.&lt;/p&gt;

&lt;p&gt;Readable file diffs.&lt;/p&gt;

&lt;p&gt;Selected project documentation.&lt;/p&gt;

&lt;p&gt;TODO, FIXME, HACK, XXX, and BUG markers from a bounded file scan.&lt;/p&gt;

&lt;p&gt;Suggested next actions and an evidence register.&lt;/p&gt;

&lt;p&gt;For AI-powered briefings, ContextSwitch uses Groq with the open-weight openai/gpt-oss-20b model. A no-AI mode is also available.&lt;/p&gt;

&lt;p&gt;I wanted the tool to help developers regain context without taking control away from them. It does not intentionally modify the target repository or execute its project code.&lt;/p&gt;

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

&lt;p&gt;A developer's project context can contain sensitive information, so transparency and control matter.&lt;/p&gt;

&lt;p&gt;Using an open-weight model gives the AI component a model choice that can be evaluated and potentially replaced with another compatible model or deployment. It also makes the model choice more transparent than relying on an opaque, fixed assistant.&lt;/p&gt;

&lt;p&gt;There is an important trade-off in the current implementation: AI mode sends selected repository context to the configured Groq service. The no-AI mode avoids that AI-provider transfer and relies on local inspection and deterministic report generation.&lt;/p&gt;

&lt;p&gt;Open innovation matters because developers should be able to inspect, adapt, and evolve the tools they depend on rather than being locked into a single closed workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Lazy Payoff
&lt;/h2&gt;

&lt;p&gt;The idea is to turn the familiar “Where was I?” moment into a report that gives you somewhere concrete to start.&lt;/p&gt;

&lt;p&gt;Rather than manually checking commits, searching for unfinished work, and reopening documentation one file at a time, you get those signals in one place.&lt;/p&gt;

&lt;p&gt;ContextSwitch is an early version, so I am not claiming a measured time saving yet. Its purpose is to reduce the repetitive mental overhead of returning to interrupted work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;p&gt;Slow and Steady&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>QuoteCraft: An AI-Powered Quotation Generator for Freelancers</title>
      <dc:creator>Sanvi Naik</dc:creator>
      <pubDate>Mon, 19 Oct 2026 05:55:15 +0000</pubDate>
      <link>https://dev.to/sanvi_naik_34794e9b4928cb/quotecraft-an-ai-powered-quotation-generator-for-freelancers-4coo</link>
      <guid>https://dev.to/sanvi_naik_34794e9b4928cb/quotecraft-an-ai-powered-quotation-generator-for-freelancers-4coo</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week2-2026-10-12"&gt;Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Freelancers and small development agencies often receive project requirements in the form of informal messages or lengthy descriptions. Turning these requirements into a professional quotation involves understanding the scope, identifying deliverables, estimating costs, and formatting everything into a document.&lt;/p&gt;

&lt;p&gt;This process can be repetitive and time-consuming, especially when dealing with multiple potential clients.&lt;/p&gt;

&lt;p&gt;I wanted to build something that could simplify this process and help freelancers spend less time preparing quotations and more time working on their projects.&lt;/p&gt;

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

&lt;p&gt;QuoteCraft is an AI-powered quotation generator that transforms natural-language client requirements into structured, professional project quotations.&lt;/p&gt;

&lt;p&gt;Users can simply paste a client's project description, and QuoteCraft automatically generates:&lt;/p&gt;

&lt;p&gt;Project Overview: A concise summary of the client's requirements and proposed solution.&lt;/p&gt;

&lt;p&gt;Deliverables: A structured breakdown of the work involved.&lt;/p&gt;

&lt;p&gt;Estimated Timeline: An approximate project completion timeframe.&lt;/p&gt;

&lt;p&gt;Pricing Breakdown: Itemized cost estimates for different components of the project.&lt;/p&gt;

&lt;p&gt;Assumptions: Important considerations and uncertainties associated with the project.&lt;/p&gt;

&lt;p&gt;PDF Export: A downloadable quotation that can be shared with clients.&lt;/p&gt;

&lt;p&gt;One feature I particularly wanted was editability. AI-generated estimates shouldn't be treated as final, so users can modify the project details, deliverables, timelines, and pricing before exporting the quotation.&lt;/p&gt;

&lt;p&gt;The application also automatically recalculates the total whenever the pricing breakdown is modified.&lt;/p&gt;

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

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

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

&lt;p&gt;GitHub Repository: &lt;a href="https://github.com/sanvinaik/QuoteCraft" rel="noopener noreferrer"&gt;https://github.com/sanvinaik/QuoteCraft&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository contains the Streamlit application, AI integration, and PDF generation functionality.&lt;/p&gt;

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

&lt;p&gt;built QuoteCraft using Python, Streamlit, Groq, Pandas, and ReportLab.&lt;/p&gt;

&lt;p&gt;The core of the application is GPT-OSS-20B, an open-weight language model accessed through Groq's inference API.&lt;/p&gt;

&lt;p&gt;Here's how the workflow operates:&lt;/p&gt;

&lt;p&gt;Input: The user enters a client's requirements and selects the preferred currency.&lt;/p&gt;

&lt;p&gt;AI Processing: The requirements are sent to GPT-OSS-20B, which analyzes the project scope and generates structured JSON containing the quotation details.&lt;/p&gt;

&lt;p&gt;Proposal Generation: The application parses the generated JSON and displays the project summary, deliverables, assumptions, timeline, and pricing.&lt;/p&gt;

&lt;p&gt;Editing: Streamlit's interactive components allow users to modify the generated quotation. Pandas helps manage the editable pricing breakdown and calculate the total.&lt;/p&gt;

&lt;p&gt;PDF Export: ReportLab converts the finalized quotation into a downloadable PDF document.&lt;/p&gt;

&lt;p&gt;The application separates these responsibilities into different Python modules, making the AI integration, user interface, and document generation easier to maintain.&lt;/p&gt;

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

&lt;p&gt;One of the most interesting parts of building QuoteCraft was realizing that a practical AI application doesn't necessarily need to depend on a proprietary language model.&lt;/p&gt;

&lt;p&gt;Using an open-weight model like GPT-OSS-20B makes the underlying model more accessible and gives developers greater flexibility in how they deploy and integrate AI.&lt;/p&gt;

&lt;p&gt;For QuoteCraft, this means the AI component is not inherently tied to a single proprietary model provider. Although the current implementation uses Groq for hosted inference, the architecture could be adapted to run a compatible open-weight model through another provider or local infrastructure.&lt;/p&gt;

&lt;p&gt;Open innovation also makes it easier for developers to experiment, understand the technologies they're working with, and build useful applications without developing a language model from scratch.&lt;/p&gt;

&lt;p&gt;For a tool intended for freelancers and small businesses, having flexibility around inference providers and deployment costs is particularly valuable.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next?
&lt;/h2&gt;

&lt;p&gt;QuoteCraft is currently a functional MVP, but there are several features I'd like to explore:&lt;/p&gt;

&lt;p&gt;Customizable PDF templates and freelancer branding&lt;/p&gt;

&lt;p&gt;Saved client profiles and quotation history&lt;/p&gt;

&lt;p&gt;Milestone-based project estimates&lt;/p&gt;

&lt;p&gt;Invoice generation and payment tracking&lt;/p&gt;

&lt;p&gt;Support for different quotation styles and industries&lt;/p&gt;

&lt;p&gt;Optional local model inference for greater data privacy&lt;/p&gt;

&lt;p&gt;My goal was to build a simple tool that solves a repetitive real-world problem while exploring how open-weight AI can be integrated into practical software.&lt;/p&gt;

&lt;p&gt;QuoteCraft is a small step toward making freelance project estimation faster and more accessible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;p&gt;Side hustle&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>CP Compass: An AI Coach That Tracks How You Solve, Not Just What You Solve</title>
      <dc:creator>Sanvi Naik</dc:creator>
      <pubDate>Sun, 04 Oct 2026 09:15:32 +0000</pubDate>
      <link>https://dev.to/sanvi_naik_34794e9b4928cb/cp-compass-an-ai-coach-that-tracks-how-you-solve-not-just-what-you-solve-4g6m</link>
      <guid>https://dev.to/sanvi_naik_34794e9b4928cb/cp-compass-an-ai-coach-that-tracks-how-you-solve-not-just-what-you-solve-4g6m</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;The idea for CP Compass actually started before this challenge.&lt;br&gt;
It started with a &lt;strong&gt;45-day competitive programming challenge&lt;/strong&gt; in my college's CP club. We committed to solving at least one problem every day, but we didn't just want a streak. We wanted to know whether we were actually improving.&lt;/p&gt;

&lt;p&gt;So some of us started tracking everything in spreadsheets: problem name, rating, topics, what went wrong, and what we needed to revisit. It was useful information. Maintaining it was not.&lt;/p&gt;

&lt;p&gt;After every problem came another little chore- find the problem, copy its details, add the topics, and write another row.&lt;/p&gt;

&lt;p&gt;At first, we did it sincerely. Then came &lt;em&gt;"I'll update it later."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We kept solving. The spreadsheets didn't keep up. I was guilty of it too. One friend in particular and I kept coming back to the same problem: an &lt;code&gt;Accepted&lt;/code&gt; submission doesn't tell the full story.&lt;/p&gt;

&lt;p&gt;One AC might mean I saw the idea immediately and implemented it cleanly. Another might mean I spent forty minutes stuck, needed a hint, and finally got it working.&lt;/p&gt;

&lt;p&gt;Codeforces records both as solved. But when you're trying to improve, &lt;strong&gt;that difference matters.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So when this challenge asked me to build something for a friend, I came back to that exact frustration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I decided to build the tracker that the two of us would actually keep using.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Meet CP Compass
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;CP Compass is an AI-powered competitive programming tracker that tracks not just what you solved, but how you solved it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Enter your Codeforces handle and your solved problems, ratings, and tags are imported automatically.&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%2F5borpavq8o9awwodmc9v.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%2F5borpavq8o9awwodmc9v.png" alt=" " width="800" height="368"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then, for each problem, record the part Codeforces can't know:&lt;/p&gt;

&lt;p&gt;🟢 &lt;strong&gt;Green&lt;/strong&gt; — Solved independently and cleanly&lt;br&gt;&lt;br&gt;
🟡 &lt;strong&gt;Yellow&lt;/strong&gt; — Knew the approach, but made an implementation/logical mistake&lt;br&gt;&lt;br&gt;
🔴 &lt;strong&gt;Red&lt;/strong&gt; — Couldn't derive the core idea without help  &lt;/p&gt;

&lt;p&gt;You can also add a short reflection about what went wrong.&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%2Fr382dr8bixv13kcafn56.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%2Fr382dr8bixv13kcafn56.png" alt=" " width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CP Compass combines these reflections with problem ratings and topics and passes them to an &lt;strong&gt;open-weight Qwen model&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The AI Coach looks for patterns in &lt;em&gt;why&lt;/em&gt; you're struggling and turns them into personalized practice recommendations.&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%2Fsgwquwih3jyapvm8vy5b.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%2Fsgwquwih3jyapvm8vy5b.png" alt=" " width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So instead of just knowing &lt;strong&gt;how many problems you solved&lt;/strong&gt;, you start understanding &lt;strong&gt;what is actually holding you back.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://cp-compass-eight.vercel.app/" rel="noopener noreferrer"&gt;https://cp-compass-eight.vercel.app/&lt;/a&gt;&lt;br&gt;
Here, try out my website!&lt;/p&gt;

&lt;p&gt;Enter a Codeforces handle → import solved problems → add a few reflections → run the &lt;strong&gt;AI Coach&lt;/strong&gt;.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/sanvinaik/CP-Compass" rel="noopener noreferrer"&gt;https://github.com/sanvinaik/CP-Compass&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stack:&lt;/strong&gt; React + Vite • FastAPI • SQLite • Codeforces API • Qwen3-14B • Hugging Face Inference Providers&lt;/p&gt;

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

&lt;p&gt;I designed CP Compass around one simple loop:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Import → Reflect → Analyze → Improve&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Import&lt;/strong&gt; — The FastAPI backend fetches solved problems, ratings, and tags from the Codeforces API.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Reflect&lt;/strong&gt; — The user adds a Green/Yellow/Red status and an optional note. These reflections are stored in SQLite.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Analyze&lt;/strong&gt; — CP Compass combines the problem metadata with the user's solve quality and reflections.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Improve&lt;/strong&gt; — This structured history is sent to &lt;strong&gt;Qwen3-14B&lt;/strong&gt;, an open-weight model accessed through Hugging Face Inference Providers. The AI Coach identifies recurring weaknesses and generates personalized practice recommendations.&lt;/p&gt;&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%2Fkd32cwfpps2pnfii5dlq.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%2Fkd32cwfpps2pnfii5dlq.png" alt=" " width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The frontend is built with &lt;strong&gt;React + Vite&lt;/strong&gt;, the API with &lt;strong&gt;FastAPI&lt;/strong&gt;, and the deployed app uses &lt;strong&gt;Vercel + Railway&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The AI isn't there just to add a chatbot, it's what turns a collection of individual solves into patterns the user can actually act on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Development Process
&lt;/h2&gt;

&lt;p&gt;CP Compass was built over the weekend with &lt;strong&gt;ChatGPT-assisted development&lt;/strong&gt;. I used ChatGPT as a coding and debugging partner while working through implementation, frontend/backend integration, and deployment.&lt;/p&gt;

&lt;p&gt;The product idea, feature decisions, reflection system, and overall direction came from my experience with the 45-day CP challenge, with each part tested and iterated into the final working application.&lt;/p&gt;

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

&lt;p&gt;CP Compass uses &lt;strong&gt;Qwen3-14B&lt;/strong&gt;, an open-weight model, as its reasoning layer.&lt;/p&gt;

&lt;p&gt;For me, the biggest advantage of using an open model is &lt;strong&gt;freedom to evolve the AI without tying the entire product to one proprietary model or API&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The current version uses Qwen through Hugging Face Inference Providers so that anyone can try the deployed app easily. But because the intelligence comes from an open-weight model, future versions could swap models, fine-tune one specifically for competitive programming coaching, or even move inference locally.&lt;/p&gt;

&lt;p&gt;That matters for CP Compass because its AI has a very specific job: reason over &lt;strong&gt;problem difficulty + topics + solve quality + personal reflections&lt;/strong&gt; and turn them into useful practice advice.&lt;/p&gt;

&lt;p&gt;Open innovation means I can keep experimenting with that layer as the project grows, rather than treating the AI as a black box I can't control.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The model can change. The provider can change. The core idea doesn't have to.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Back to the Friend I Built It For
&lt;/h2&gt;

&lt;p&gt;CP Compass started with a problem my friend and I experienced during that 45-day challenge, so it felt fitting that the first person I wanted to give the finished version to was them.&lt;/p&gt;

&lt;p&gt;What began as:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"We really should update that spreadsheet..."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;eventually became a tool that imports the boring parts automatically, keeps the reflection that actually matters, and uses AI to turn it into something actionable. Here's what my friend said &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;bro this is literally what we needed during that 45 day challenge 😭 I remember we just stopped updating the excel after a point. importing everything directly makes it so much easier. also the green/yellow/red thing is actually useful because just seeing AC tells you nothing about how you solved it. AI analysis was pretty cool too, especially seeing which topics I keep struggling with&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;This is only the first version.&lt;/p&gt;

&lt;p&gt;I'd like to expand CP Compass with &lt;strong&gt;contest tracking, progress visualizations, more competitive programming platforms, and better analysis across ratings and topics&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The part I'm most interested in is making the AI Coach better at distinguishing &lt;em&gt;why&lt;/em&gt; someone couldn't solve a problem- missing knowledge, difficulty finding the observation, implementation mistakes, or simply attempting problems above their current level.&lt;/p&gt;

&lt;p&gt;But for now, CP Compass solves the problem that started all of this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We can keep solving problems without maintaining another Excel sheet afterward.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Build for a friend&lt;/li&gt;
&lt;/ul&gt;

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