<?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: PRIYANSHU SINGH</title>
    <description>The latest articles on DEV Community by PRIYANSHU SINGH (@priyanshu_singh_a546c21fc).</description>
    <link>https://dev.to/priyanshu_singh_a546c21fc</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%2F3319452%2F10911020-5ece-46f2-940d-a546e028f1c1.png</url>
      <title>DEV Community: PRIYANSHU SINGH</title>
      <link>https://dev.to/priyanshu_singh_a546c21fc</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/priyanshu_singh_a546c21fc"/>
    <language>en</language>
    <item>
      <title>I Built a Real‑Time Academic Battle Platform at 14 — Here's How</title>
      <dc:creator>PRIYANSHU SINGH</dc:creator>
      <pubDate>Sat, 07 Mar 2026 15:06:54 +0000</pubDate>
      <link>https://dev.to/priyanshu_singh_a546c21fc/i-built-a-real-time-academic-battle-platform-at-14-heres-how-fpe</link>
      <guid>https://dev.to/priyanshu_singh_a546c21fc/i-built-a-real-time-academic-battle-platform-at-14-heres-how-fpe</guid>
      <description>&lt;p&gt;Hey Dev.to community! 👋&lt;/p&gt;

&lt;p&gt;I'm Priyanshu, a 14‑year‑old developer from India. For the past few months, I've been building Dheeyuddha — a platform where schools battle each other in real‑time academic wars. Think Clash of Clans meets education.&lt;/p&gt;

&lt;p&gt;I wanted to share the journey, the tech stack, the failures, and what I've learned so far. Hopefully, this helps someone else building their first serious project.&lt;/p&gt;

&lt;p&gt;🧠 The Idea&lt;br&gt;
It started with a simple observation: learning apps are boring.&lt;/p&gt;

&lt;p&gt;You answer questions, earn points, maybe keep a streak. But there's no real reason to come back except fear of losing that streak. I wanted to build something that felt like competition. Like pride. Like war.&lt;/p&gt;

&lt;p&gt;So I asked: What if studying felt like a sport?&lt;/p&gt;

&lt;p&gt;What if your school had a live scoreboard? What if you could challenge a rival school to a real‑time battle and watch the scores update as answers came in? What if winners could repost their victory screens to Instagram and flex on their friends?&lt;/p&gt;

&lt;p&gt;That's how Dheeyuddha (धीयुद्ध — "War of Intellect") was born.&lt;/p&gt;

&lt;p&gt;🏗️ The Tech Stack&lt;br&gt;
I chose tools that would let me move fast and build real‑time features without managing servers.&lt;/p&gt;

&lt;p&gt;Technology  Why I Chose It&lt;br&gt;
Next.js (App Router)    React framework with SSR, API routes, and easy deployment&lt;br&gt;
Supabase    Auth, PostgreSQL database, and real‑time subscriptions out of the box&lt;br&gt;
Tailwind CSS    Rapid UI development without leaving my JSX&lt;br&gt;
Framer Motion   Smooth animations for the trailer and UI&lt;br&gt;
Vercel  One‑click deploys from GitHub&lt;br&gt;
🔥 The Core Features&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Real‑Time School Wars
Two schools enter a war room via invite code. Students solve teacher‑verified questions, and the scoreboard updates instantly using Supabase Realtime.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;js
// Subscribe to war room updates
const warRoomSubscription = supabase
  .channel('war-room')
  .on(
    'postgres_changes',
    { event: 'UPDATE', schema: 'public', table: 'war_rooms', filter: `id=eq.${warId}` },
    (payload) =&amp;gt; {
      // Update score display in real time
    }
  )
  .subscribe()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Fair Matchmaking (The "War Weight" Formula)
Inspired by Clash of Clans, I designed a formula that calculates a team's strength so that opponents are fairly matched.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Team Weight = (Average Class × 100) + (Average Points × 0.1) – (Number of Distinct Classes × 5)
Class × 100 – Class level is the strongest factor

Points × 0.1 – Points fine‑tune strength (1000 points ≈ one class step)

Distinct Classes × –5 – Small penalty encourages class diversity (your war rule)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If no match is found immediately, the search range expands over time — just like in Clash of Clans.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Never See the Same Question Twice
I track every question interaction in a separate table. When a student requests a new question, the query filters out any they've already seen.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sql
SELECT q.*
FROM questions q
WHERE q.class &amp;lt;= :user_class
  AND NOT EXISTS (
    SELECT 1 FROM user_question_interactions uqi
    WHERE uqi.question_id = q.id AND uqi.user_id = :user_id
  )
ORDER BY random()
LIMIT 1;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Repost Feature (Built‑In Virality)
After a war ends, winners get a victory screen with one‑click sharing to Instagram/WhatsApp. This creates a viral loop: win → share → friends see → join → war again.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;🎬 The Trailer — Coded, Not Edited&lt;br&gt;
I wanted a cinematic trailer but didn't have video editing software. So I built it in React using Framer Motion.&lt;/p&gt;

&lt;p&gt;The entire trailer is a single Next.js page with:&lt;/p&gt;

&lt;p&gt;Animated steps (intro → sign in → dashboard → repost → challenge → match found → outro)&lt;/p&gt;

&lt;p&gt;A fake cursor that moves and clicks automatically&lt;/p&gt;

&lt;p&gt;Real‑time typing effects&lt;/p&gt;

&lt;p&gt;A "Match Found" explosion with pulsing glows&lt;/p&gt;

&lt;p&gt;📉 The Struggles (Because It Wasn't Easy)&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The Name Pivot&lt;br&gt;
Originally, I called it Manthan. Then I discovered multiple companies and a government platform already using that name. I had to rebrand everything — codebase, logo, pitch. That hurt. But I learned: check your name early.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reddit Bans&lt;br&gt;
Tried promoting on Reddit. Got multiple accounts banned. Learned the hard way about shadowbanning and IP flags. Now I'm focusing on LinkedIn, Twitter, and Dev.to.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Loneliness&lt;br&gt;
Building alone at 14 is isolating. Most people my age don't understand why I spend nights coding. But I've learned that the work itself becomes the company.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;YouTube Algorithm&lt;br&gt;
My trailer got 20 views in 24 hours. It's easy to feel invisible. But I've learned that consistency beats virality. I'm posting more Shorts and improving hooks.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;🧠 What I've Learned&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Ship Fast, Iterate Faster&lt;br&gt;
My first war system was over‑engineered. I spent weeks on auto‑matchmaking before realising I could launch with invite codes and add complexity later. Start simple.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Database Indexes Matter&lt;br&gt;
Early on, queries were slow. Adding indexes on foreign keys and frequently queried columns made a huge difference.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`sql
CREATE INDEX idx_war_queue_weight ON war_queue (team_weight);
CREATE INDEX idx_user_interactions_user_question ON user_question_interactions(user_id, question_id);`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Community &amp;gt; Code&lt;br&gt;
I spent months coding in isolation. When I finally started posting on LinkedIn and engaging with founders, everything changed. Feedback, encouragement, even critique — all of it made the project better.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Your Age Can Be an Advantage&lt;br&gt;
At first, I hid that I was 14. Now I lead with it. People root for young builders. They offer advice, mentorship, and opportunities. Don't hide what makes you different.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;📊 Current Status&lt;br&gt;
✅ Authentication (Supabase)&lt;/p&gt;

&lt;p&gt;✅ War lobby with invite codes&lt;/p&gt;

&lt;p&gt;✅ Real‑time score updates&lt;/p&gt;

&lt;p&gt;✅ Question selection + opponent targeting&lt;/p&gt;

&lt;p&gt;✅ Trailer (coded in React)&lt;/p&gt;

&lt;p&gt;✅ Team weight formula designed&lt;/p&gt;

&lt;p&gt;✅ Repost feature (win → share)&lt;/p&gt;

&lt;p&gt;In progress:&lt;/p&gt;

&lt;p&gt;🔄 Teacher verification flow&lt;/p&gt;

&lt;p&gt;🔄 Auto‑matchmaking queue&lt;/p&gt;

&lt;p&gt;🔄 Weekly reports + badges&lt;/p&gt;

&lt;p&gt;🛣️ What's Next&lt;br&gt;
Launch beta — I'm looking for students, teachers, and schools to test Dhiyuddha. If you're interested, drop a comment or DM me.&lt;/p&gt;

&lt;p&gt;Improve matchmaking — Implement the expanding search range and fine‑tune the weight formula.&lt;/p&gt;

&lt;p&gt;Monetization — Freemium model (Pro badges) and school tournament licenses.&lt;/p&gt;

&lt;p&gt;Keep building in public — More posts, more transparency, more engagement.&lt;/p&gt;

&lt;p&gt;💬 Questions for the Community&lt;br&gt;
If you've made it this far, I'd love your honest feedback:&lt;/p&gt;

&lt;p&gt;Does the stack (Next.js + Supabase) make sense for scaling real‑time features?&lt;/p&gt;

&lt;p&gt;Any gotchas with Supabase Realtime at higher concurrency?&lt;/p&gt;

&lt;p&gt;The gamification angle — is this actually useful or just another distraction?&lt;/p&gt;

&lt;p&gt;What would you do differently if you were building this?&lt;/p&gt;

&lt;p&gt;🔗 Links&lt;br&gt;
Live beta: &lt;a href="https://manthan-beta-c975.vercel.app/" rel="noopener noreferrer"&gt;https://manthan-beta-c975.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Trailer: &lt;a href="https://www.youtube.com/watch?v=cEzUVo3kE8I" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=cEzUVo3kE8I&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub: Not public yet (cleaning up), but happy to share specific code snippets&lt;/p&gt;

&lt;p&gt;🙏 Final Thought&lt;br&gt;
I don't know if Dheeyuddha will become big. But I do know this:&lt;/p&gt;

&lt;p&gt;Every line of code taught me more than any textbook could. Every rejection taught me resilience. Every view — even 20 — taught me that someone, somewhere, saw what I built.&lt;/p&gt;

&lt;p&gt;If you're a young developer reading this: build the thing. It won't be perfect. People might ignore it. But you'll come out the other side a different person.&lt;/p&gt;

&lt;p&gt;Thanks for reading. Roast me, encourage me, or just say hi. I'm here for all of it.&lt;/p&gt;

&lt;h1&gt;
  
  
  nextjs #supabase #react #tailwindcss #realtime #edtech #buildinpublic #indianstartup #webdev
&lt;/h1&gt;

</description>
      <category>beginners</category>
      <category>showdev</category>
      <category>sideprojects</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Hey guys, I need your support.</title>
      <dc:creator>PRIYANSHU SINGH</dc:creator>
      <pubDate>Sun, 06 Jul 2025 11:40:51 +0000</pubDate>
      <link>https://dev.to/priyanshu_singh_a546c21fc/hey-guys-i-need-your-support-3a70</link>
      <guid>https://dev.to/priyanshu_singh_a546c21fc/hey-guys-i-need-your-support-3a70</guid>
      <description>&lt;p&gt;It happened to pass almost a month since I created my blog.&lt;br&gt;
It's best place for readers and I have added all necessary features but I need my first viewer.&lt;/p&gt;

&lt;p&gt;I request you guys to visit it once and review it.&lt;br&gt;
I'll be glad if I get even one review.&lt;br&gt;
Thanks for your time &lt;br&gt;
Link - &lt;a href="https://ghoopstheblog.me" rel="noopener noreferrer"&gt;https://ghoopstheblog.me&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>rust</category>
    </item>
    <item>
      <title>bnbnbn b</title>
      <dc:creator>PRIYANSHU SINGH</dc:creator>
      <pubDate>Sat, 05 Jul 2025 11:16:34 +0000</pubDate>
      <link>https://dev.to/priyanshu_singh_a546c21fc/bnbnbn-b-3nbk</link>
      <guid>https://dev.to/priyanshu_singh_a546c21fc/bnbnbn-b-3nbk</guid>
      <description>&lt;p&gt;hgjgjhgjnnn&lt;/p&gt;

</description>
    </item>
    <item>
      <title>I Built a Developer Blog Using Next.js App Router, Velite, and Firebase — Here's How</title>
      <dc:creator>PRIYANSHU SINGH</dc:creator>
      <pubDate>Thu, 03 Jul 2025 11:51:41 +0000</pubDate>
      <link>https://dev.to/priyanshu_singh_a546c21fc/i-built-a-developer-blog-using-nextjs-app-router-velite-and-firebase-heres-how-55b2</link>
      <guid>https://dev.to/priyanshu_singh_a546c21fc/i-built-a-developer-blog-using-nextjs-app-router-velite-and-firebase-heres-how-55b2</guid>
      <description>&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%2Fukwmu6gg0iv7ngjfci08.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%2Fukwmu6gg0iv7ngjfci08.png" alt="Image description" width="800" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hey everyone! 👋&lt;/p&gt;

&lt;p&gt;Over the past couple of months, I’ve been working on building my own blog — not with WordPress or a headless CMS, but from scratch using tools I enjoy. I wanted something fast, fully under my control, and fun to build.&lt;/p&gt;

&lt;p&gt;The result? &lt;a href="https://ghoops.me" rel="noopener noreferrer"&gt;&lt;strong&gt;ghoops.me&lt;/strong&gt;&lt;/a&gt; — a minimal blog for writing about AI tools, productivity workflows, and web dev insights.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚧 Why I Built It Instead of Using Dev.to or Hashnode
&lt;/h2&gt;

&lt;p&gt;Dev.to and similar platforms are great, but I wanted:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Full control over content structure
&lt;/li&gt;
&lt;li&gt;Markdown with MDX component support
&lt;/li&gt;
&lt;li&gt;Custom metadata (likes, views, author profiles)
&lt;/li&gt;
&lt;li&gt;A playground for trying out tools like Firebase, analytics, and SEO experiments&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧰 The Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Next.js App Router&lt;/strong&gt; — for routing and static site generation
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Velite&lt;/strong&gt; — markdown-first content manager (a lightweight alternative to Contentlayer)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Firebase Firestore&lt;/strong&gt; — to store likes, views, and author data
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TailwindCSS&lt;/strong&gt; — for a clean, mobile-first UI
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Framer Motion&lt;/strong&gt; — subtle page transitions
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Supabase&lt;/strong&gt; — used for tracking trending posts via page views
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📚 Some Articles I’ve Published So Far
&lt;/h2&gt;

&lt;p&gt;Here are a few posts you might like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://ghoops.me/blogs/10-ai-tools-that-can-replace-80-percent-of-your-routine-work" rel="noopener noreferrer"&gt;10 AI Tools That Can Replace 80% of Your Routine Work&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://ghoops.me/blogs/best-chrome-extensions-powered-by-ai" rel="noopener noreferrer"&gt;Best Chrome Extensions Powered by AI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ghoops.me/blogs/automating-repetitive-tasks-productivity-hacks-for-developers" rel="noopener noreferrer"&gt;Automating Repetitive Tasks – Productivity Hacks for Developers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💡 Lessons I Learned
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Firebase is great for micro features like likes and view tracking
&lt;/li&gt;
&lt;li&gt;Velite + MDX is powerful and intuitive for managing blog content
&lt;/li&gt;
&lt;li&gt;App Router in Next.js requires a bit of learning, but works well for static blogs
&lt;/li&gt;
&lt;li&gt;SEO is a long game — but you have more power when you own your platform&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🙌 Your Feedback Is Welcome
&lt;/h2&gt;

&lt;p&gt;If you have a moment, I’d love feedback on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Blog performance (speed, responsiveness)
&lt;/li&gt;
&lt;li&gt;Design simplicity or readability
&lt;/li&gt;
&lt;li&gt;Any bugs or improvements you notice&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can check it out at &lt;strong&gt;&lt;a href="https://ghoops.me" rel="noopener noreferrer"&gt;ghoops.me&lt;/a&gt;&lt;/strong&gt; — open to suggestions and collaboration!&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 TL;DR
&lt;/h2&gt;

&lt;p&gt;Built a static developer blog using Next.js App Router, Velite, Firebase, and Tailwind. It’s SEO-friendly, fast, and fun to hack on. I’ll keep publishing articles around AI tools, indie dev workflows, and productivity systems.&lt;/p&gt;

&lt;p&gt;Thanks for reading 🙌&lt;/p&gt;

</description>
      <category>cnc2018</category>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
