<?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: Shoaeeb Osman</title>
    <description>The latest articles on DEV Community by Shoaeeb Osman (@shoaeeb_osman_e3e2ae43910).</description>
    <link>https://dev.to/shoaeeb_osman_e3e2ae43910</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%2F3096636%2F99e18ca9-55bd-41f3-b7aa-2a8749d4684c.jpg</url>
      <title>DEV Community: Shoaeeb Osman</title>
      <link>https://dev.to/shoaeeb_osman_e3e2ae43910</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shoaeeb_osman_e3e2ae43910"/>
    <language>en</language>
    <item>
      <title>Practice NSE Trading for Free in India (No Real Money Needed)</title>
      <dc:creator>Shoaeeb Osman</dc:creator>
      <pubDate>Wed, 10 Dec 2025 12:23:05 +0000</pubDate>
      <link>https://dev.to/shoaeeb_osman_e3e2ae43910/practice-nse-trading-for-free-in-india-no-real-money-needed-3o88</link>
      <guid>https://dev.to/shoaeeb_osman_e3e2ae43910/practice-nse-trading-for-free-in-india-no-real-money-needed-3o88</guid>
      <description>&lt;p&gt;If you want to learn stock trading in India without risking real money, paper trading is the best way to start. It lets you buy and sell stocks with virtual money while watching real market prices. This is perfect for beginners, students, or anyone who wants to test strategies safely.&lt;/p&gt;

&lt;p&gt;One of the easiest tools for this is PaperTrade India (papertrade-india.vercel.app). It’s a simple, fast, and free NSE paper trading simulator made for Indian traders.&lt;/p&gt;

&lt;p&gt;✅ Why beginners should paper trade&lt;/p&gt;

&lt;p&gt;No real-money risk&lt;/p&gt;

&lt;p&gt;Learn intraday and delivery trading&lt;/p&gt;

&lt;p&gt;Understand how orders, P&amp;amp;L, and market moves work&lt;/p&gt;

&lt;p&gt;Build confidence before entering the real market&lt;/p&gt;

&lt;p&gt;🚀 Features of PaperTrade India&lt;/p&gt;

&lt;p&gt;Real-time NSE stock prices&lt;/p&gt;

&lt;p&gt;Buy/sell with virtual balance&lt;/p&gt;

&lt;p&gt;Intraday &amp;amp; delivery modes&lt;/p&gt;

&lt;p&gt;Leaderboard to track performance&lt;/p&gt;

&lt;p&gt;🎯 Start your trading journey safely&lt;/p&gt;

&lt;p&gt;If you want to practice trading before opening a Demat account or risking savings, paper trading is the smartest first step. Use it daily to build consistency and understand the market better.&lt;/p&gt;

&lt;p&gt;👉 Try it here: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.tourl"&gt;papertrade-india.vercel.app&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
    </item>
    <item>
      <title>🧠 Is This Normal? — A Place to Find Out</title>
      <dc:creator>Shoaeeb Osman</dc:creator>
      <pubDate>Thu, 17 Jul 2025 02:25:40 +0000</pubDate>
      <link>https://dev.to/shoaeeb_osman_e3e2ae43910/is-this-normal-a-place-to-find-out-4n4c</link>
      <guid>https://dev.to/shoaeeb_osman_e3e2ae43910/is-this-normal-a-place-to-find-out-4n4c</guid>
      <description>&lt;p&gt;Have you ever wondered whether something you're thinking or doing is... well, normal?&lt;/p&gt;

&lt;p&gt;I recently launched Is This Normal? — a simple, anonymous platform where people can ask questions about their habits, thoughts, or situations and get feedback from the community through voting: “Normal” or “Not Normal.”&lt;br&gt;
Check it out:&lt;a href="https://is-this-normal.onrender.com/" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://is-this-normal.onrender.com/" rel="noopener noreferrer"&gt;https://is-this-normal.onrender.com/&lt;/a&gt;&lt;br&gt;
🔍 Features&lt;br&gt;
No sign-up needed to ask or vote&lt;/p&gt;

&lt;p&gt;Vote anonymously on others' questions&lt;/p&gt;

&lt;p&gt;Browse by categories: social, work, relationships, etc.&lt;/p&gt;

&lt;p&gt;Comment and start discussions&lt;/p&gt;

&lt;p&gt;Search functionality + dark mode support&lt;/p&gt;

&lt;p&gt;SEO optimized for search visibility&lt;/p&gt;

&lt;p&gt;🛠️ Built with:&lt;br&gt;
React • Node.js • Express • MongoDB • Render • React Helmet (SEO)&lt;/p&gt;

&lt;p&gt;Check it out:&lt;a href="https://is-this-normal.onrender.com/" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let me know what you think — and feel free to drop a weird question of your own 😄&lt;/p&gt;

</description>
      <category>isthisnormal</category>
      <category>react</category>
      <category>node</category>
      <category>webdev</category>
    </item>
    <item>
      <title>I Built a Drag-and-Drop React Form Builder with Zod &amp; React Hook Form – Here’s How</title>
      <dc:creator>Shoaeeb Osman</dc:creator>
      <pubDate>Tue, 15 Jul 2025 11:05:48 +0000</pubDate>
      <link>https://dev.to/shoaeeb_osman_e3e2ae43910/i-built-a-drag-and-drop-react-form-builder-with-zod-react-hook-form-heres-how-3bc4</link>
      <guid>https://dev.to/shoaeeb_osman_e3e2ae43910/i-built-a-drag-and-drop-react-form-builder-with-zod-react-hook-form-heres-how-3bc4</guid>
      <description>&lt;p&gt;Like many React devs, I often found myself rebuilding forms again and again — manually wiring up inputs, validations, conditional fields, and handling submission logic. It got repetitive and frustrating.&lt;/p&gt;

&lt;p&gt;So I decided to build something to fix that.&lt;/p&gt;

&lt;p&gt;🎯 The Goal:&lt;br&gt;
Create a visual form builder using React that allows developers to:&lt;/p&gt;

&lt;p&gt;Drag and drop form fields&lt;/p&gt;

&lt;p&gt;Edit their properties visually&lt;/p&gt;

&lt;p&gt;Preview the final form live&lt;/p&gt;

&lt;p&gt;Export the form as a ready-to-use React component with:&lt;/p&gt;

&lt;p&gt;Zod validation&lt;/p&gt;

&lt;p&gt;React Hook Form integration&lt;/p&gt;

&lt;p&gt;TypeScript types&lt;/p&gt;

&lt;p&gt;And so, FormCraft was born.&lt;/p&gt;

&lt;p&gt;🔨 Tech Stack&lt;br&gt;
React 18 with hooks and concurrent features&lt;/p&gt;

&lt;p&gt;TypeScript for full type safety&lt;/p&gt;

&lt;p&gt;Zustand for global state management&lt;/p&gt;

&lt;p&gt;@dnd-kit for drag-and-drop&lt;/p&gt;

&lt;p&gt;React Hook Form for performant form handling&lt;/p&gt;

&lt;p&gt;Zod for schema validation&lt;/p&gt;

&lt;p&gt;Tailwind CSS + shadcn/ui for styling&lt;/p&gt;

&lt;p&gt;The app is bundled with Vite for blazing-fast dev experience.&lt;/p&gt;

&lt;p&gt;🧪 Features at a Glance&lt;br&gt;
✅ Core Features:&lt;br&gt;
Drag &amp;amp; Drop interface (powered by @dnd-kit)&lt;/p&gt;

&lt;p&gt;Live preview panel&lt;/p&gt;

&lt;p&gt;Export as:&lt;/p&gt;

&lt;p&gt;JSON Schema&lt;/p&gt;

&lt;p&gt;React + Zod + RHF component&lt;/p&gt;

&lt;p&gt;Built-in templates: Contact, Registration, Survey, etc.&lt;/p&gt;

&lt;p&gt;🔧 Advanced Features:&lt;br&gt;
Multi-step forms (with step navigation)&lt;/p&gt;

&lt;p&gt;Conditional fields (e.g., "show field X if option Y is selected")&lt;/p&gt;

&lt;p&gt;Field-level validation with:&lt;/p&gt;

&lt;p&gt;Min/max length&lt;/p&gt;

&lt;p&gt;Custom regex&lt;/p&gt;

&lt;p&gt;Custom error messages&lt;/p&gt;

&lt;p&gt;Dark/Light theme (based on system preference or manual toggle)&lt;/p&gt;

&lt;p&gt;📦 Form Field Types Supported&lt;br&gt;
Text, Email, Password, Number, Tel, URL&lt;/p&gt;

&lt;p&gt;Textarea, Select, Radio, Checkbox&lt;/p&gt;

&lt;p&gt;Date, Time, File Upload&lt;/p&gt;

&lt;p&gt;🧱 How It Works Behind the Scenes&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Form Schema State&lt;br&gt;
All forms are stored as JSON schemas in Zustand. Each field has a unique ID, type, label, validation config, and conditional logic (if applicable).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Drag &amp;amp; Drop UI&lt;br&gt;
Using @dnd-kit, users can drag field types from the left panel into the form canvas. Fields can be reordered and grouped into steps.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Live Preview&lt;br&gt;
The right panel renders a functional React Hook Form version of the form using the internal schema.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Export Options&lt;br&gt;
When ready, users can export:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The raw form schema (JSON)&lt;/p&gt;

&lt;p&gt;A working .tsx component with all field logic and Zod validation baked in&lt;/p&gt;

&lt;p&gt;Here’s a sample generated form export:&lt;/p&gt;

&lt;p&gt;tsx&lt;br&gt;
Copy&lt;br&gt;
Edit&lt;br&gt;
const schema = z.object({&lt;br&gt;
  email: z.string().email(),&lt;br&gt;
  name: z.string().min(2),&lt;br&gt;
});&lt;/p&gt;

&lt;p&gt;const { register, handleSubmit, formState: { errors } } = useForm({&lt;br&gt;
  resolver: zodResolver(schema),&lt;br&gt;
});&lt;br&gt;
Pretty slick, right?&lt;/p&gt;

&lt;p&gt;🌐 Try the Demo&lt;br&gt;
👉 Live Demo -&lt;a href="https://form-craft.onrender.com/" rel="noopener noreferrer"&gt;https://form-craft.onrender.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No sign-up needed. Just open it and start building.&lt;/p&gt;

&lt;p&gt;🙏 Why I Built It&lt;br&gt;
I wanted to prove to myself that I could:&lt;/p&gt;

&lt;p&gt;Build something useful from scratch&lt;/p&gt;

&lt;p&gt;Work with modern React tools (like RHF, Zod, Zustand)&lt;/p&gt;

&lt;p&gt;Make something other devs could actually use&lt;/p&gt;

&lt;p&gt;Honestly, if even a few developers find it helpful, that’s a win for me.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>nocode</category>
      <category>react</category>
      <category>typescript</category>
    </item>
    <item>
      <title>I Built a US News Aggregator Website Using Gemini AI (No Manual Coding!)</title>
      <dc:creator>Shoaeeb Osman</dc:creator>
      <pubDate>Sun, 27 Apr 2025 15:31:56 +0000</pubDate>
      <link>https://dev.to/shoaeeb_osman_e3e2ae43910/i-built-a-us-news-aggregator-website-using-gemini-ai-no-manual-coding-51oa</link>
      <guid>https://dev.to/shoaeeb_osman_e3e2ae43910/i-built-a-us-news-aggregator-website-using-gemini-ai-no-manual-coding-51oa</guid>
      <description>&lt;p&gt;Hi everyone! 👋&lt;/p&gt;

&lt;p&gt;I recently completed a simple US News Aggregator website — and here's the interesting part: I didn't write a single line of code myself!&lt;br&gt;
I used Gemini AI to guide me through the entire process.&lt;/p&gt;

&lt;p&gt;It was a really cool experience where I combined AI's coding capabilities with my ideas to bring a small project to life. 🚀&lt;/p&gt;

&lt;p&gt;🌟 What the Website Does&lt;br&gt;
It shows news articles from different sources.&lt;/p&gt;

&lt;p&gt;You can filter news based on categories like technology, sports, health, etc.&lt;/p&gt;

&lt;p&gt;Clicking on a news article redirects you to the original source to read the full story.&lt;/p&gt;

&lt;p&gt;Users can comment on any news article — but for that, they need to log in (either using username/password or Google Login). 🔒&lt;/p&gt;

&lt;p&gt;🔧 Tech Stack&lt;br&gt;
I (well, Gemini AI and I) used the MERN stack:&lt;/p&gt;

&lt;p&gt;MongoDB (Database)&lt;/p&gt;

&lt;p&gt;Express.js (Server-side framework)&lt;/p&gt;

&lt;p&gt;React.js (Frontend)&lt;/p&gt;

&lt;p&gt;Node.js (Backend runtime)&lt;/p&gt;

&lt;p&gt;🤖 How AI Helped&lt;br&gt;
I relied entirely on Gemini AI for:&lt;/p&gt;

&lt;p&gt;Setting up the backend and frontend structure&lt;/p&gt;

&lt;p&gt;Writing all the code for authentication, fetching news, filtering by categories&lt;/p&gt;

&lt;p&gt;Handling Google login integration&lt;/p&gt;

&lt;p&gt;Deploying the app&lt;/p&gt;

&lt;p&gt;It was more about collaborating with AI — giving it clear instructions and guiding the overall flow — rather than writing code line-by-line myself.&lt;/p&gt;

&lt;p&gt;🎯 Why I Did This&lt;br&gt;
I wanted to see how far AI can go in helping a beginner or non-coder build something real.&lt;br&gt;
It turned out to be an amazing learning experience, and it boosted my confidence that with the right tools, building things is becoming more accessible to everyone.&lt;/p&gt;

&lt;p&gt;🔗 Project Link&lt;br&gt;
If you're curious, here's the live site:&lt;br&gt;
👉 &lt;a href="https://ai-news-aggregator-frontend.onrender.com/" rel="noopener noreferrer"&gt;US News Aggregator&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>gemini</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
