<?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: Shiv Rai (S_RAI)</title>
    <description>The latest articles on DEV Community by Shiv Rai (S_RAI) (@rai_shiv).</description>
    <link>https://dev.to/rai_shiv</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%2F3772695%2F2e3d2879-a059-4490-8c06-86b081eef8e5.png</url>
      <title>DEV Community: Shiv Rai (S_RAI)</title>
      <link>https://dev.to/rai_shiv</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rai_shiv"/>
    <language>en</language>
    <item>
      <title>Pegasus: Your Document's Language Passport, Powered by Lingo.Dev</title>
      <dc:creator>Shiv Rai (S_RAI)</dc:creator>
      <pubDate>Mon, 16 Mar 2026 12:56:40 +0000</pubDate>
      <link>https://dev.to/rai_shiv/pegasus-your-documents-language-passport-powered-by-lingodev-19h1</link>
      <guid>https://dev.to/rai_shiv/pegasus-your-documents-language-passport-powered-by-lingodev-19h1</guid>
      <description>&lt;p&gt;If I asked you "How many languages are there in the world?", what will you say? "500"? "1000"? "5000"? Still not there yet. There are 7000+ languages in the world. Yet, most of us can name around 10-20. English, being the most common, since it is used globally. However, there are people who do not speak English and there are places, where English is not the preferred language for documents. And that is totally fine. Its a wide world. People are free to speak the language they choose. &lt;/p&gt;

&lt;p&gt;However, this creates a gap in communication. One or sometimes more than one party, has to use a translator in order to communicate. People often use tools like Google Translate in such situations. But, what about documents?&lt;br&gt;
Imagine you sent a pdf or docx to someone in English. That person requested a French version. What will you do ? you copy paste your content into a translator, copy paste the response back into your docx, save it, and share it back to the person. This was a single request. For 1 language. There are more than 20 languages spoken by more than half of the world’s population. Let's assume that just half of them requested a version in their language, which means 10. Are you going to repeat the process 10 times ? That's not sensible, right ? Let's assume you are a hard-worker and did it 10 times. Hurray! But wait... you just noticed there is a small change that needs to be done. You made the change in the original document. And then you realize, you have to do the translations again for the 10 requests. &lt;/p&gt;

&lt;p&gt;At this point you are putting in more effort for preparing document for sharing than doing something productive. But what's the solution to this problem? What if you could just make a single file, with all the translations, rendered according to user's preference? Imagine how easy it would be. Create your file, add translations, share a single file, and you are done. Sounds simple, right? Worry not, it is simple with Pegasus.&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.amazonaws.com%2Fuploads%2Farticles%2F428g6k741adjbs88gpdy.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%2F428g6k741adjbs88gpdy.png" alt="Pegasus" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What is Pegasus?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Imagine an app through which you can create a single file with all the required language translations you want, share it with your team, and they can view it in their preferred language, without even needing internet. How amazing would that be? Pegasus is that app!&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.amazonaws.com%2Fuploads%2Farticles%2Fz2hpdqhb8uiio6aqc46b.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%2Fz2hpdqhb8uiio6aqc46b.png" alt="Doc View" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;How Pegasus works?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;You choose your document (txt, docx, pdf), select the languages you want the translations of, add lingo dev API key, choose the output folder. And that's it. You get a .pgs file which you can share with whoever you want and they can open Pegasus, open this .pgs file, and view it in their language (without API key).&lt;/p&gt;

&lt;p&gt;What if someone got the file but their language translation wasn't available? They can add the translations of their language within the .pgs file following the same steps to create the file. The best part, the current translations available aren't removed. New translations are added along with existing translations. &lt;/p&gt;

&lt;p&gt;The app only requires internet connection when you need translations. Otherwise, it can be used to view files and their translations without the need of internet. Reason, the single file contains all the data required. &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.amazonaws.com%2Fuploads%2Farticles%2Fw9yd7fiebey2kmyqqhzc.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%2Fw9yd7fiebey2kmyqqhzc.png" alt="Language Selection" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;How it's made?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;It's made using Electron.js + Vite + react in typescript, along with tailwindCSS and powered by Lingo.Dev&lt;br&gt;
Lingo Dev's API is used for document content translation while Lingo Dev's Compiler is used to translate the UI content of Pegasus app.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;GitHub Repo&lt;/u&gt;: &lt;a href="https://github.com/ShivRaiGithub/pegasus" rel="noopener noreferrer"&gt;https://github.com/ShivRaiGithub/pegasus&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.amazonaws.com%2Fuploads%2Farticles%2Fdxbfm3xq2mn8ac9uvwe5.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%2Fdxbfm3xq2mn8ac9uvwe5.png" alt="Conversion page 2" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Problem Pegasus solves&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;BILLIONS of digital documents require translations EVERYDAY. Business contracts, government papers, product manuals, etc are examples of some documents whose digital versions need various translations for multiple languages. Large companies usually maintain more than 5 language versions of same document. This piles up in costs, leading to thousands of dollars just to maintain few documents. These costs can be reduced multi-fold. What do you think is the market size of multilingual document translation ? More than $60B. But now,&lt;br&gt;
&lt;u&gt;Instead of&lt;/u&gt;:&lt;br&gt;
policy_en.pdf&lt;br&gt;
policy_fr.pdf&lt;br&gt;
policy_es.pdf&lt;br&gt;
policy_de.pdf&lt;br&gt;
policy_hi.pdf&lt;br&gt;
&lt;u&gt;There can be a single&lt;/u&gt;:&lt;br&gt;
policy.pgs&lt;/p&gt;

&lt;p&gt;Costs reduced. Inefficiencies decreased. All through a single and simple app.&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.amazonaws.com%2Fuploads%2Farticles%2F21cr81lp37y4ewr0o5ij.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%2F21cr81lp37y4ewr0o5ij.png" alt="View doc in translated languages" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;More about Pegasus and my experience&lt;/u&gt;&lt;/strong&gt;&lt;br&gt;
1) At first, Pegasus worked only for txt files. I later added features for it to work with docx files as well as pdf files. There were so many issues that arose while working with docx and pdf files. The reason for that is, unlike txt files, docx and pdf files have a structure and a layout. I tried few ways to ensure that the translations follow the actual layout as much as possible. Eventually I reached a satisfiable outcome for pdfs and docs too.&lt;br&gt;
2) I wanted to make PPTs work with Pegasus too, but due to the time constraint, I wasn't able to. Working with PPTs requires better ways to extract text and place them back while making sure the bg is not affected. Working with PPTs and other file formats is something that can be done in the future.&lt;br&gt;
3) Working with Hindi. Hindi characters weren't visible. I had to download another npm package that can be used to display devnagari script.&lt;br&gt;
4) Due to time constraints, I wasn't able to make dedicated download files (like exe for windows). But the repo is self sufficient to build and run the application. All the steps are in the readme.&lt;br&gt;
5) I wanted to try something new for demo video, so I created the demo video using AI generated clips + screen recordings.&lt;br&gt;
6) I have done most of the app building and testing on WSL. I did test the app on windows, but not on iOS.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Study Table: Task-focused environment</title>
      <dc:creator>Shiv Rai (S_RAI)</dc:creator>
      <pubDate>Sun, 01 Mar 2026 17:52:41 +0000</pubDate>
      <link>https://dev.to/rai_shiv/study-table-task-focused-environment-2j95</link>
      <guid>https://dev.to/rai_shiv/study-table-task-focused-environment-2j95</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/weekend-2026-02-28"&gt;DEV Weekend Challenge: Community&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Community
&lt;/h2&gt;

&lt;p&gt;I built &lt;strong&gt;StudyTable&lt;/strong&gt; for students, developers, and builders who regularly participate in focused study or work sessions — especially people who learn independently or work on side projects.&lt;/p&gt;

&lt;p&gt;Many communities today (open-source contributors, students preparing for exams, hackathon participants, self-learners, etc.) struggle not with &lt;em&gt;starting&lt;/em&gt; work, but with maintaining structured, distraction-free focus.&lt;/p&gt;

&lt;p&gt;StudyTable is designed for anyone who values deep work and intentional learning.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;StudyTable&lt;/strong&gt; is a frontend-only web app that helps users run structured focus sessions.&lt;/p&gt;

&lt;p&gt;Instead of being just another timer, StudyTable treats work as a &lt;strong&gt;guided session&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Users create sessions with tasks with custom durations.&lt;/li&gt;
&lt;li&gt;Each task runs as a timed focus block.&lt;/li&gt;
&lt;li&gt;After completion, users intentionally transition into breaks or extend work time.&lt;/li&gt;
&lt;li&gt;Sessions generate time reports showing how time was actually spent on the work.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The experience is designed to feel simple and calm — reducing decision fatigue while working.&lt;/p&gt;

&lt;p&gt;Core idea:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Most productivity apps track time.&lt;br&gt;
StudyTable helps users &lt;strong&gt;utilize time intentionally&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;Website: &lt;a href="https://studytable-psi.vercel.app/" rel="noopener noreferrer"&gt;https://studytable-psi.vercel.app/&lt;/a&gt;&lt;br&gt;
Youtube: &lt;a href="https://youtu.be/dbjE8EMlAHI" rel="noopener noreferrer"&gt;https://youtu.be/dbjE8EMlAHI&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Github Repo: &lt;a href="https://github.com/ShivRaiGithub/studytable" rel="noopener noreferrer"&gt;https://github.com/ShivRaiGithub/studytable&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;StudyTable is intentionally built &lt;strong&gt;without a backend&lt;/strong&gt;, keeping the architecture lightweight and accessible.&lt;/p&gt;

&lt;h3&gt;
  
  
  Technologies Used
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Next.js (App Router)&lt;/strong&gt; — application structure and routing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;React&lt;/strong&gt; — UI and state management&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TypeScript&lt;/strong&gt; — safer and maintainable code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tailwind CSS&lt;/strong&gt; — styling and layout&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Solo Member: Shiv Rai (S_RAI)&lt;br&gt;
Dev.to: &lt;a href="https://dev.to/rai_shiv"&gt;https://dev.to/rai_shiv&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Ouija Terminal - GitHub Copilot CLI Challenge</title>
      <dc:creator>Shiv Rai (S_RAI)</dc:creator>
      <pubDate>Sun, 15 Feb 2026 12:42:36 +0000</pubDate>
      <link>https://dev.to/rai_shiv/ouija-terminal-github-copilot-cli-challenge-3no9</link>
      <guid>https://dev.to/rai_shiv/ouija-terminal-github-copilot-cli-challenge-3no9</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-01-21"&gt;GitHub Copilot CLI Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;A fun little project built &lt;strong&gt;fully using Github Copilot CLI only&lt;/strong&gt;. &lt;br&gt;
&lt;u&gt;"Ouija Terminal"&lt;/u&gt;, a terminal which seems normal at first, but all interaction ultimately lead to the paranormal. &lt;br&gt;
There are various interactions you can do with the terminal through commands like saving name, changing theme of terminal, get current status, get time and date, etc. But each command changes it's behavior as you interact more.&lt;br&gt;
&lt;u&gt;Try it for yourself&lt;/u&gt;: &lt;a href="https://ouija-terminal.vercel.app/" rel="noopener noreferrer"&gt;https://ouija-terminal.vercel.app/&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Demo&lt;/strong&gt;: &lt;a href="https://youtu.be/FMNh3W5Ccuw" rel="noopener noreferrer"&gt;https://youtu.be/FMNh3W5Ccuw&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Website&lt;/strong&gt;: &lt;a href="https://ouija-terminal.vercel.app/" rel="noopener noreferrer"&gt;https://ouija-terminal.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vibe coding video&lt;/strong&gt;: &lt;a href="https://youtu.be/LeKYyDMaXN0" rel="noopener noreferrer"&gt;https://youtu.be/LeKYyDMaXN0&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Images
&lt;/h2&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.amazonaws.com%2Fuploads%2Farticles%2Ft2op32by3lwc1oy5hwm1.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%2Ft2op32by3lwc1oy5hwm1.png" alt="Ouija Terminal" width="800" height="314"&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.amazonaws.com%2Fuploads%2Farticles%2Fwkivnm845k42gobeb31f.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%2Fwkivnm845k42gobeb31f.png" alt="Ouija Terminal Interactions 1" width="800" height="416"&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.amazonaws.com%2Fuploads%2Farticles%2Fsmalfxy05fk45nhqmb11.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%2Fsmalfxy05fk45nhqmb11.png" alt="Ouija Terminal Interactions 2" width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience with GitHub Copilot CLI
&lt;/h2&gt;

&lt;p&gt;This was actually the &lt;strong&gt;first time I used an AI from CLI&lt;/strong&gt;. I haven't even used Claude Code before. I usually use Copilot Agent.&lt;br&gt;
Using CLI felt a little slower as compared to Copilot Agent on the file generation and editing part. But at the same time I never had to click "Continue" anywhere which usually appears when working with Agent.&lt;br&gt;
Also, there were different options available when executing a command which allowed you to set the permission to execute the commands for the entire CLI session which is a nice touch.&lt;/p&gt;

&lt;h2&gt;
  
  
  Team Members
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Solo member&lt;/strong&gt;: Shiv Rai (S_RAI) &lt;a class="mentioned-user" href="https://dev.to/rai_shiv"&gt;@rai_shiv&lt;/a&gt; &lt;br&gt;
&lt;a href="https://dev.to/rai_shiv"&gt;https://dev.to/rai_shiv&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>cli</category>
      <category>githubcopilot</category>
    </item>
  </channel>
</rss>
