<?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: Lex Valo</title>
    <description>The latest articles on DEV Community by Lex Valo (@lexvalo).</description>
    <link>https://dev.to/lexvalo</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%2F4032844%2F0cae1143-1102-4bbb-86ae-df8fa9b57c52.gif</url>
      <title>DEV Community: Lex Valo</title>
      <link>https://dev.to/lexvalo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lexvalo"/>
    <language>en</language>
    <item>
      <title>RiverScript's AI bot is live on Poe - TranscribeGPT</title>
      <dc:creator>Lex Valo</dc:creator>
      <pubDate>Thu, 06 Aug 2026 01:03:54 +0000</pubDate>
      <link>https://dev.to/lexvalo/riverscripts-ai-bot-is-live-on-poe-transcribegpt-32ae</link>
      <guid>https://dev.to/lexvalo/riverscripts-ai-bot-is-live-on-poe-transcribegpt-32ae</guid>
      <description>&lt;p&gt;Meet &lt;strong&gt;TranscribeGPT&lt;/strong&gt;, RiverScript's bot over on Poe. Ask it about RiverScript or &lt;a href="https://riverscript.com/" rel="noopener noreferrer"&gt;riverscript.com&lt;/a&gt; - how transcription works, pricing, which formats are supported, whatever you're curious about.&lt;/p&gt;

&lt;p&gt;RiverScript handles transcription and translation for audio and video. Through the desktop client you can process files up to 50GB and as long as 8 hours, in almost any format out there - basically whatever FFmpeg can decode, which covers close to everything (MP4, MOV, MKV, WAV, M4A, plus the odder codecs too). On top of a plain transcript, you can get it translated, get subtitles generated, or get a summary of the content. Students use it for lecture notes, creators for subtitles, professionals for turning long interviews or meetings into clean text.&lt;/p&gt;

&lt;p&gt;TranscribeGPT on Poe: &lt;a href="https://poe.com/TranscribeGPT" rel="noopener noreferrer"&gt;https://poe.com/TranscribeGPT &lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>RiverScript's first custom GPT is live in the ChatGPT GPT Store – Transcribe Audio &amp; Video to Text</title>
      <dc:creator>Lex Valo</dc:creator>
      <pubDate>Thu, 06 Aug 2026 01:02:35 +0000</pubDate>
      <link>https://dev.to/lexvalo/riverscripts-first-custom-gpt-is-live-in-the-chatgpt-gpt-store-transcribe-audio-video-to-text-4c9h</link>
      <guid>https://dev.to/lexvalo/riverscripts-first-custom-gpt-is-live-in-the-chatgpt-gpt-store-transcribe-audio-video-to-text-4c9h</guid>
      <description>&lt;p&gt;This is &lt;strong&gt;Transcribe Audio &amp;amp; Video to Text&lt;/strong&gt;, RiverScript's first custom GPT in the ChatGPT Store. Ask it anything about RiverScript or &lt;a href="https://riverscript.com/" rel="noopener noreferrer"&gt;riverscript.com&lt;/a&gt; – features, pricing, supported formats, how it works.&lt;/p&gt;

&lt;p&gt;RiverScript is a transcription and translation tool for audio and video. The desktop client handles files up to 50GB and up to 8 hours long, in pretty much any format – anything FFmpeg can decode, which covers nearly everything (MP4, MOV, MKV, WAV, M4A, and the usual pile of obscure codecs). Beyond a plain transcript, it can translate the output, generate subtitles, and summarize the content. Used by students transcribing lectures, creators making subtitles, and professionals who need clean text from long interviews or meetings.&lt;/p&gt;

&lt;p&gt;Open it in the ChatGPT GPT Store: &lt;a href="https://chatgpt.com/g/g-6a612ed9de0881919eddfdca44e53f19-transcribe-audio-video-to-text" rel="noopener noreferrer"&gt;RiverScript Transcribe Audio &amp;amp; Video to Text GPT&lt;/a&gt; &lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>whisper</category>
      <category>ai</category>
      <category>transcription</category>
    </item>
    <item>
      <title>My SaaS got only 62 clicks from Google in its first month. But ChatGPT and Perplexity have already started recommending it.</title>
      <dc:creator>Lex Valo</dc:creator>
      <pubDate>Thu, 30 Jul 2026 19:33:29 +0000</pubDate>
      <link>https://dev.to/lexvalo/in-its-first-month-my-saas-got-only-62-clicks-from-google-but-the-first-visits-from-chatgpt-and-oi2</link>
      <guid>https://dev.to/lexvalo/in-its-first-month-my-saas-got-only-62-clicks-from-google-but-the-first-visits-from-chatgpt-and-oi2</guid>
      <description>&lt;p&gt;So. Everyone writes when they become millionaires. I`ll write too, of course. But for now, I’ll note down the results of RiverScript ’s (an AI app that captures and transcribes system audio on Windows and Mac and files up to 50 GB) first month of work for myself.&lt;/p&gt;

&lt;p&gt;Let me remind that it has no advertising and is promoted entirely organically, so its gradual progress will be interesting to people like me – those who build and launch a project on their own.&lt;/p&gt;

&lt;p&gt;In its first month of existence, the &lt;a href="https://riverscript.com/" rel="noopener noreferrer"&gt;riverscript.com&lt;/a&gt; website received just over 1,000 impressions in Google so far. And 62 clicks, some of which were my own. Google is still only getting a taste of the site and placing rare materials in local languages in search results, and even for the branded query the site sometimes disappears from search results – that’s okay, it will stop soon.&lt;/p&gt;

&lt;p&gt;At the same time, the application was listed on dozens of websites and directories, with a certain amount of creativity, so also in some not entirely ordinary places. It got its first links and mentions.&lt;/p&gt;

&lt;p&gt;In the first month, 33 users registered, most of whom did not use the product, but that is normal for the first visitors. Some, of course, did use it, and the first scammer even appeared, who created five free accounts in a row and decided to farm transcription hours this way. For which he was successfully banned both by account and by IP address altogether.&lt;/p&gt;

&lt;p&gt;I consider this a success, because the user clearly needed my service and successfully reached the paywall. Had he been from a more prosperous country, perhaps he would have become the first paid subscriber.&lt;/p&gt;

&lt;p&gt;Those are some unimpressive stats, at first glance. In reality, everything is going more than according to plan. Because I created a small SEO factory, and it is actively working.&lt;/p&gt;

&lt;p&gt;With the help of some tools, I conduct SEO research for free, with the help of my own script I collect keyword autocomplete suggestions from Google, and I also write articles by hand. Then, with the help of another script of mine, I translate the articles into 14 languages of first-world countries and publish them.&lt;/p&gt;

&lt;p&gt;This is quite a slow pace, and in July only 8 articles were written and published – 2 per week. But they are very high-quality, hit the keywords, including ones that are not particularly difficult to rank for, and should work very well.&lt;/p&gt;

&lt;p&gt;And since they are in 14 languages, that makes as many as 112 separate pages for indexing. Pretty cool for the first month, in my opinion.&lt;/p&gt;

&lt;p&gt;And, by the way, the site has already received its first rare visits from AI recommendations – 1 visitor came from Perplexity and 4 came from ChatGPT. That is what matters most today, actually.&lt;/p&gt;

&lt;p&gt;We keep fucking grinding. In the second month, I hope for results several times higher than in the first.&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%2Fntstav898177l9ie66pz.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%2Fntstav898177l9ie66pz.png" alt="ChatGPT recommends the transcription app riverscript.com.&lt;br&gt;
" width="489" height="470"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>chatgpt</category>
      <category>saas</category>
      <category>seo</category>
    </item>
    <item>
      <title>Monitoring is worth every minute</title>
      <dc:creator>Lex Valo</dc:creator>
      <pubDate>Tue, 21 Jul 2026 16:07:22 +0000</pubDate>
      <link>https://dev.to/lexvalo/monitoring-is-worth-every-minute-35k8</link>
      <guid>https://dev.to/lexvalo/monitoring-is-worth-every-minute-35k8</guid>
      <description>&lt;p&gt;When you're building an app on your own, you'll never test absolutely everything.&lt;/p&gt;

&lt;p&gt;Today I released &lt;a href="https://riverscript.com/news/riverscript-desktop-client-update-1-1-0" rel="noopener noreferrer"&gt;RiverScript Desktop client 1.1&lt;/a&gt;, added several new features, and fixed the bugs that were discovered over the last nine days.&lt;/p&gt;

&lt;p&gt;Some of them were quite serious. For example, users couldn't sign in to the desktop app using Google Chrome on macOS. Yes, because I tested Safari on Mac, and Chrome on Windows. At the same time, Mac users are the first people to find my app, because Apple doesn't make it easy to record system audio on its devices, while my application can.&lt;/p&gt;

&lt;p&gt;I also found that some corporate email clients automatically open the authentication link before the user even sees the email, invalidating it before the user has a chance to click it.&lt;/p&gt;

&lt;p&gt;I noticed that my backend wasn't accepting OGA files for transcription, even though the application uses FFmpeg under the hood, and FFmpeg supports OGA – as well as hundreds of other formats – without any problems.&lt;/p&gt;

&lt;p&gt;All of these issues have now been identified and fixed.&lt;/p&gt;

&lt;p&gt;By the way, I found them thanks to the monitoring systems I built into RiverScript during development. Sentry reports errors and sends me an email whenever something goes wrong. Umami analytics shows unusual patterns, like three consecutive visits from the desktop client to the desktop sign-in page without a successful login. Sometimes PostHog also reveals interesting things about what users actually need and which features they use.&lt;br&gt;
All of this data is incredibly valuable.&lt;/p&gt;

&lt;p&gt;It's much better to fix the big problems of a solo project when only a few new users run into them instead of hundreds or thousands.&lt;/p&gt;

&lt;p&gt;By the way, even without any advertising, new users are now signing up every day, and they're coming from dozens of different countries.&lt;br&gt;
It's a great feeling to know that you've built something on your own that someone in Canada, Japan, Germany, or Australia is using while you're asleep.&lt;/p&gt;

&lt;p&gt;There's still a lot of work ahead, of course. At one point I thought I'd get a chance to rest a little after releasing the app. It turns out it's the opposite.&lt;br&gt;
But I enjoy doing it.&lt;/p&gt;

&lt;p&gt;There's a reason it's called a pet project. It really is like a pet – you have to look after it and take care of it, and in return it makes you happy.&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%2Fe2vw5yceoacirnay31iy.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%2Fe2vw5yceoacirnay31iy.png" alt="RiverScript Desktop client update and debug" width="691" height="654"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>sentry</category>
      <category>monitoring</category>
      <category>analytics</category>
      <category>founder</category>
    </item>
    <item>
      <title>Maintaining the code of the man who wrote "How To Write Unmaintainable Code"</title>
      <dc:creator>Lex Valo</dc:creator>
      <pubDate>Thu, 16 Jul 2026 23:03:52 +0000</pubDate>
      <link>https://dev.to/lexvalo/maintaining-the-code-of-the-man-who-wrote-how-to-write-unmaintainable-code-8pp</link>
      <guid>https://dev.to/lexvalo/maintaining-the-code-of-the-man-who-wrote-how-to-write-unmaintainable-code-8pp</guid>
      <description>&lt;p&gt;Today I accidentally became the maintainer of software that was already almost three decades old: reviving a 1990s Java utility to keep the last PAD submitter alive in 2026.&lt;/p&gt;

&lt;p&gt;I was looking for a way to submit my AI app RiverScript to old desktop software directories and ended up digging through the long-forgotten world of PAD files.&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%2Fj3k66g013364fzjyrj7q.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%2Fj3k66g013364fzjyrj7q.png" alt="Last PAD submitter" width="684" height="517"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There was one problem.&lt;/p&gt;

&lt;p&gt;The only batch submission tool I could find was a Java application that first appeared in the late 1990s. The last release was in 2017.&lt;/p&gt;

&lt;p&gt;It was written by Roedy Green of &lt;a href="https://mindprod.com/" rel="noopener noreferrer"&gt;Canadian Mind Products&lt;/a&gt; — a software developer who passed away in 2023. He spent decades writing and freely distributing Java utilities, and maintaining the widely-read &lt;a href="https://mindprod.com/jgloss/jgloss.html" rel="noopener noreferrer"&gt;Java Glossary&lt;/a&gt;. Roedy Green also wrote &lt;a href="https://github.com/droogans/unmaintainable-code" rel="noopener noreferrer"&gt;How To Write Unmaintainable Code&lt;/a&gt; — a famous satirical guide about writing code nobody can maintain. So, Roedy, today the code you wrote almost three decades ago was maintained.&lt;/p&gt;

&lt;p&gt;The tool still did exactly what it was supposed to do. Thank you.&lt;/p&gt;

&lt;p&gt;It just had absolutely no idea the modern web existed.&lt;/p&gt;

&lt;p&gt;It happily produced URLs like &lt;code&gt;http://https://riverscript.com&lt;/code&gt; instead of &lt;a href="https://riverscript.com" rel="noopener noreferrer"&gt;https://riverscript.com&lt;/a&gt;, disabled SNI globally (which was probably a perfectly reasonable workaround at some point), and couldn't cope with the fact that almost every website now redirects HTTP to HTTPS.&lt;/p&gt;

&lt;p&gt;So I dug through the legacy Java code, fixed the compatibility issues, and got it working again.&lt;/p&gt;

&lt;p&gt;I used it to submit my app to several software directories, then published the revived version on GitHub so anyone who still needs it can use it too.&lt;/p&gt;

&lt;p&gt;Maybe nobody will ever need it again. Maybe someone will.&lt;/p&gt;

&lt;p&gt;Either way, I'm happy this old thing works again.&lt;/p&gt;

&lt;p&gt;So today, the code of the man who wrote "How To Write Unmaintainable Code" is still being maintained even after he was gone.&lt;/p&gt;

&lt;p&gt;P.S. The public repository for &lt;a href="https://github.com/lexvalo/mini-pad-submitter-revived" rel="noopener noreferrer"&gt;Mini PAD Submitter 26.3 Revived — 2026 Community Fix&lt;/a&gt; is available and open to everyone.&lt;/p&gt;

</description>
      <category>java</category>
      <category>legacy</category>
      <category>opensource</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
