<?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: Anushka Bhardwaj</title>
    <description>The latest articles on DEV Community by Anushka Bhardwaj (@anushka_bhardwaj).</description>
    <link>https://dev.to/anushka_bhardwaj</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%2F3850765%2Fdd06f5c3-979c-4dd0-87c9-a927c42128f3.png</url>
      <title>DEV Community: Anushka Bhardwaj</title>
      <link>https://dev.to/anushka_bhardwaj</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/anushka_bhardwaj"/>
    <language>en</language>
    <item>
      <title>RepoJourney — Making Unfamiliar Codebases Make Sense</title>
      <dc:creator>Anushka Bhardwaj</dc:creator>
      <pubDate>Mon, 05 Oct 2026 06:51:04 +0000</pubDate>
      <link>https://dev.to/anushka_bhardwaj/repojourney-making-unfamiliar-codebases-make-sense-3o5b</link>
      <guid>https://dev.to/anushka_bhardwaj/repojourney-making-unfamiliar-codebases-make-sense-3o5b</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the&lt;/em&gt; &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;&lt;em&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Have you ever opened a GitHub repository, looked at dozens of folders and files, and thought:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“Where am I even supposed to start?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That was the problem behind &lt;strong&gt;RepoJourney&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I built RepoJourney for a friend — and, honestly, for any developer who is trying to understand someone else's codebase.&lt;/p&gt;

&lt;p&gt;When you're learning from open source, contributing to a new repository, or simply exploring how another developer built something, the hardest part often isn't reading the code. It's figuring out &lt;strong&gt;what to read first and how everything connects&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;RepoJourney turns a public GitHub repository into a guided journey through the codebase.&lt;/p&gt;

&lt;p&gt;Instead of randomly opening files, you can follow the project from:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Project Setup → Entry Points → Components → Data Flow → APIs → Architecture&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The goal is simple:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git clone&lt;/code&gt; → &lt;strong&gt;“I get it.”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;RepoJourney analyzes the repository structure and helps surface the important parts of the project so that understanding an unfamiliar codebase feels more like following a path than solving a puzzle.&lt;/p&gt;

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

&lt;p&gt;🌐 &lt;strong&gt;Live Demo:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://repo-journey-ten.vercel.app/" rel="noopener noreferrer"&gt;https://repo-journey-ten.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Paste a public GitHub repository URL and click &lt;strong&gt;Explore Journey&lt;/strong&gt; to try it.&lt;/p&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;💻 &lt;strong&gt;GitHub Repository:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/AnushkaBhardwaj15" rel="noopener noreferrer"&gt;
        AnushkaBhardwaj15
      &lt;/a&gt; / &lt;a href="https://github.com/AnushkaBhardwaj15/repo-journey" rel="noopener noreferrer"&gt;
        repo-journey
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;p&gt;This is a &lt;a href="https://nextjs.org" rel="nofollow noopener noreferrer"&gt;Next.js&lt;/a&gt; project bootstrapped with &lt;a href="https://nextjs.org/docs/app/api-reference/cli/create-next-app" rel="nofollow noopener noreferrer"&gt;&lt;code&gt;create-next-app&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Getting Started&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;RepoJourney currently supports a landing experience and bounded ingestion of
public GitHub repositories, deterministic repository intelligence, and a
personalized LEARN view grounded in repository evidence
See &lt;a href="https://github.com/AnushkaBhardwaj15/repo-journey/docs/repository-ingestion.md" rel="noopener noreferrer"&gt;the ingestion contract and setup&lt;/a&gt; and
&lt;a href="https://github.com/AnushkaBhardwaj15/repo-journey/docs/repository-intelligence.md" rel="noopener noreferrer"&gt;Phase 3 schema, evidence rules, acceptance results and limitations&lt;/a&gt;
Copy &lt;code&gt;.env.example&lt;/code&gt; to &lt;code&gt;.env.local&lt;/code&gt; to configure optional server-side
credentials. &lt;code&gt;GITHUB_TOKEN&lt;/code&gt; enables authenticated public-repository ingestion;
&lt;code&gt;GEMINI_API_KEY&lt;/code&gt; enables personalized teaching through the &lt;code&gt;gemma-3-27b-it&lt;/code&gt;
model. Neither key is exposed to the browser.&lt;/p&gt;
&lt;p&gt;Run &lt;code&gt;npm test&lt;/code&gt; for analyzer, teaching validation, and simulator tests, including
an actual SHA-pinned snapshot of hacktober-showcase. The suite requires Node
22.12+.&lt;/p&gt;
&lt;p&gt;First, run the development server:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;npm run dev
&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; or&lt;/span&gt;
yarn dev
&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; or&lt;/span&gt;
pnpm dev
&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; or&lt;/span&gt;
bun dev&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Open &lt;a href="http://localhost:3000" rel="nofollow noopener noreferrer"&gt;http://localhost:3000&lt;/a&gt; with your browser to see the result.&lt;/p&gt;
&lt;p&gt;You can start editing the page by modifying &lt;code&gt;app/page.tsx&lt;/code&gt;. The page auto-updates as you edit the…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/AnushkaBhardwaj15/repo-journey" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The project is open source, so you can explore how the repository analysis and journey generation work internally.&lt;/p&gt;

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

&lt;p&gt;RepoJourney is built with &lt;strong&gt;Next.js and TypeScript&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The first part of the system is deterministic repository analysis.&lt;/p&gt;

&lt;p&gt;Given a public GitHub repository, RepoJourney examines information such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repository structure&lt;/li&gt;
&lt;li&gt;Languages and technologies&lt;/li&gt;
&lt;li&gt;Dependencies&lt;/li&gt;
&lt;li&gt;Important files&lt;/li&gt;
&lt;li&gt;Entry points&lt;/li&gt;
&lt;li&gt;Imports and relationships between files&lt;/li&gt;
&lt;li&gt;Framework-specific signals&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That information is transformed into a structured representation of the project.&lt;/p&gt;

&lt;p&gt;Rather than sending an entire repository blindly to an AI model, RepoJourney first gathers evidence from the actual codebase and uses that context to construct the learning journey.&lt;/p&gt;

&lt;p&gt;For the AI layer, I used &lt;strong&gt;Gemma&lt;/strong&gt;, Google's open-weight model family, to help turn the analyzed repository information into explanations that are easier for a developer to understand.&lt;/p&gt;

&lt;p&gt;The important part for me was keeping the repository analysis separate from the AI explanation layer.&lt;/p&gt;

&lt;p&gt;The code provides the evidence.&lt;/p&gt;

&lt;p&gt;The model helps explain it.&lt;/p&gt;

&lt;p&gt;That approach makes RepoJourney much more useful than simply asking an AI model, &lt;em&gt;“What does this repository do?”&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;RepoJourney exists because of open source.&lt;/p&gt;

&lt;p&gt;The entire idea comes from something developers experience constantly: discovering an interesting repository, cloning it, and trying to understand how another person built it.&lt;/p&gt;

&lt;p&gt;Using an open model such as &lt;strong&gt;Gemma&lt;/strong&gt; also means the intelligence layer doesn't have to be permanently tied to one closed AI provider.&lt;/p&gt;

&lt;p&gt;Open-weight models create possibilities for developers to experiment with different inference providers, run models in different environments, inspect how their systems behave, and continue improving projects without designing everything around a single proprietary API.&lt;/p&gt;

&lt;p&gt;That matters especially for developer tools like RepoJourney.&lt;/p&gt;

&lt;p&gt;A project designed to help people explore &lt;strong&gt;open-source software&lt;/strong&gt; should itself embrace the same ideas: experimentation, transparency, learning, and the ability for other developers to build on top of it.&lt;/p&gt;

&lt;p&gt;Open innovation didn't just help me build RepoJourney.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It's the reason a project like RepoJourney can exist in the first place.&lt;/strong&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Build for a Friend&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Best Use of Gemma&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>I built a Hackathon Finder - with AI!</title>
      <dc:creator>Anushka Bhardwaj</dc:creator>
      <pubDate>Mon, 13 Jul 2026 06:59:35 +0000</pubDate>
      <link>https://dev.to/anushka_bhardwaj/findhackai-10bl</link>
      <guid>https://dev.to/anushka_bhardwaj/findhackai-10bl</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/weekend-2026-07-09"&gt;Weekend Challenge: Passion Edition&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;As a student developer, I constantly found myself searching across multiple platforms to discover hackathons, coding competitions, workshops, open-source programs, fellowships, and developer events.&lt;/p&gt;

&lt;p&gt;Then I stumbled upon the way Google Maps work. Then I realized- the problem wasn't a lack of opportunities — it was &lt;strong&gt;discoverability&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Important opportunities are scattered across different websites, communities, and social platforms, making it difficult for students to know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What opportunities are available right now?&lt;/li&gt;
&lt;li&gt;Which ones are relevant to one's skills?&lt;/li&gt;
&lt;li&gt;Which deadlines are approaching?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;HackFinder.ai&lt;/strong&gt; is a centralized opportunity discovery platform built to solve this problem.&lt;/p&gt;

&lt;p&gt;It helps students and developers discover relevant tech opportunities in one place through a clean, searchable dashboard.&lt;/p&gt;

&lt;p&gt;Users can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Explore curated hackathons, events, workshops, and programs&lt;/li&gt;
&lt;li&gt;Filter opportunities by category, mode, and tags&lt;/li&gt;
&lt;li&gt;Track upcoming deadlines&lt;/li&gt;
&lt;li&gt;Bookmark opportunities for later&lt;/li&gt;
&lt;li&gt;Get AI-powered explanations on why an opportunity matches their profile&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Make finding the next opportunity as easy as finding a place on Google Maps.&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/Nu8NUg4moeM"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

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


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/AnushkaBhardwaj15" rel="noopener noreferrer"&gt;
        AnushkaBhardwaj15
      &lt;/a&gt; / &lt;a href="https://github.com/AnushkaBhardwaj15/hackfinder.ai" rel="noopener noreferrer"&gt;
        hackfinder.ai
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;React + Vite&lt;/h1&gt;

&lt;/div&gt;
&lt;p&gt;This template provides a minimal setup to get React working in Vite with HMR and some Oxlint rules.&lt;/p&gt;
&lt;p&gt;Currently, two official plugins are available:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react" rel="noopener noreferrer"&gt;@vitejs/plugin-react&lt;/a&gt; uses &lt;a href="https://oxc.rs" rel="nofollow noopener noreferrer"&gt;Oxc&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc" rel="noopener noreferrer"&gt;@vitejs/plugin-react-swc&lt;/a&gt; uses &lt;a href="https://swc.rs/" rel="nofollow noopener noreferrer"&gt;SWC&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;React Compiler&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;The React Compiler is not enabled on this template because of its impact on dev &amp;amp; build performances. To add it, see &lt;a href="https://react.dev/learn/react-compiler/installation" rel="nofollow noopener noreferrer"&gt;this documentation&lt;/a&gt;.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Expanding the Oxlint configuration&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the &lt;a href="https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts" rel="noopener noreferrer"&gt;TS template&lt;/a&gt; for information on how to integrate TypeScript and Oxlint's TypeScript related rules in your project.&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/AnushkaBhardwaj15/hackfinder.ai" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


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

&lt;h2&gt;
  
  
  The Story Behind HackFinder.ai
&lt;/h2&gt;

&lt;p&gt;The idea came from my own experience as a student developer.&lt;/p&gt;

&lt;p&gt;While exploring hackathons, open-source programs, workshops, and developer events, I noticed that opportunities were everywhere — but discovering them was difficult. They were scattered across websites, communities, and social platforms.&lt;/p&gt;

&lt;p&gt;I realized many students don't miss opportunities because they lack skills, but because they never find the right opportunities at the right time.&lt;/p&gt;

&lt;p&gt;That became the motivation behind &lt;strong&gt;HackFinder.ai&lt;/strong&gt; — a platform to bring tech opportunities into one searchable space.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building the Product
&lt;/h2&gt;

&lt;p&gt;I started by defining a simple MVP:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Help students discover relevant opportunities in seconds."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I focused on building the core experience:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Search and filter opportunities&lt;/li&gt;
&lt;li&gt;View detailed opportunity information&lt;/li&gt;
&lt;li&gt;Bookmark interesting opportunities&lt;/li&gt;
&lt;li&gt;Get AI-powered explanations about why an opportunity matches their profile&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For the frontend, I built a responsive dashboard experience using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React.js&lt;/li&gt;
&lt;li&gt;Vite&lt;/li&gt;
&lt;li&gt;Tailwind CSS&lt;/li&gt;
&lt;li&gt;Lucide React&lt;/li&gt;
&lt;li&gt;Local Storage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The biggest UI challenge was keeping the experience simple while handling many categories of opportunities.&lt;/p&gt;

&lt;h2&gt;
  
  
  Backend &amp;amp; AI
&lt;/h2&gt;

&lt;p&gt;I built the backend using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Node.js&lt;/li&gt;
&lt;li&gt;Express.js&lt;/li&gt;
&lt;li&gt;MongoDB Atlas&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The backend manages opportunity data and creates a foundation for future features like user profiles and personalized recommendations.&lt;/p&gt;

&lt;p&gt;For AI, I focused on making it useful rather than adding AI just as a feature. HackFinder.ai helps users understand why an opportunity could be relevant to them and how it connects with their skills.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges &amp;amp; Learnings
&lt;/h2&gt;

&lt;p&gt;Building this project taught me how important product decisions are during development.&lt;/p&gt;

&lt;p&gt;The biggest challenges were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prioritizing features for an MVP&lt;/li&gt;
&lt;li&gt;Connecting frontend and backend smoothly&lt;/li&gt;
&lt;li&gt;Making AI add real value&lt;/li&gt;
&lt;li&gt;Building a polished experience within a limited timeframe&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This project helped me improve my full-stack development skills and taught me how to turn a personal problem into a usable product.&lt;/p&gt;

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

&lt;p&gt;Future improvements I would love to add:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User authentication and personalized profiles&lt;/li&gt;
&lt;li&gt;Email alerts for upcoming deadlines&lt;/li&gt;
&lt;li&gt;More automated opportunity discovery&lt;/li&gt;
&lt;li&gt;Better AI recommendations based on user goals and skills&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Best use of Google AI✨&lt;/p&gt;

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