<?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: Typre</title>
    <description>The latest articles on DEV Community by Typre (@typre).</description>
    <link>https://dev.to/typre</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%2F4083534%2Fb5e78adb-8046-4fcd-835e-42684e2c940a.png</url>
      <title>DEV Community: Typre</title>
      <link>https://dev.to/typre</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/typre"/>
    <language>en</language>
    <item>
      <title>Every typing site makes you type prose. I built one that makes you type code.</title>
      <dc:creator>Typre</dc:creator>
      <pubDate>Sun, 30 Aug 2026 05:50:08 +0000</pubDate>
      <link>https://dev.to/typre/every-typing-site-makes-you-type-prose-i-built-one-that-makes-you-type-code-1b0d</link>
      <guid>https://dev.to/typre/every-typing-site-makes-you-type-prose-i-built-one-that-makes-you-type-code-1b0d</guid>
      <description>&lt;p&gt;I have been typing for twenty years and I still slow down on =&amp;gt;.&lt;/p&gt;

&lt;p&gt;Not on words. Words are fine. It is {}, [], &amp;amp;&amp;amp;, ::, ?., !== — the keys my fingers only ever meet inside code, and never inside the paragraphs every typing trainer feeds you.&lt;/p&gt;

&lt;p&gt;So I built the one I wanted: Typre. It only serves real code.&lt;/p&gt;

&lt;p&gt;Free, no account needed, open source.&lt;/p&gt;

&lt;p&gt;What it actually is&lt;br&gt;
2,170 hand-picked snippets across 14 languages, in 15, 30 and 60 second runs.&lt;/p&gt;

&lt;p&gt;Everything is real code you would plausibly write — a Go error check, a SQL join, a React hook, a Rust match. Nothing generated, nothing padded with filler to hit a character count.&lt;/p&gt;

&lt;p&gt;const results = await Promise.all(&lt;br&gt;
  urls.map((url) =&amp;gt; fetch(url).then((r) =&amp;gt; r.json())),&lt;br&gt;
)&lt;br&gt;
That is a snippet. You type it exactly, brackets and all.&lt;/p&gt;

&lt;p&gt;Four things I made sure to get right&lt;br&gt;
No repeated snippets. Snippets come from a shuffle bag — you go through the entire pool before seeing any of them twice, and that survives a page reload. Most trainers pick at random, so you hit the same line three times in ten runs and start typing from memory instead of reading.&lt;/p&gt;

&lt;p&gt;A separate pool per run length. A 15 second run gives you one short idiom, not the first three lines of something longer that you never get to finish. Each language has its own short, medium and long pools.&lt;/p&gt;

&lt;p&gt;A drill of nothing but punctuation. {} [] &amp;lt;&amp;gt; | ~ ^ &amp;amp;&amp;amp; =&amp;gt; !== ?. ?? &amp;lt;=&amp;gt; and nothing else. This is the one I use most.&lt;/p&gt;

&lt;p&gt;A shortcut trainer. 61 VS Code and Vim shortcuts, where you actually press the chord and it checks the modifiers. Vim sequences like dd, gg, :wq are handled as sequences, not chords.&lt;/p&gt;

&lt;p&gt;Plus the usual: WPM, raw WPM, accuracy, consistency, the characters you mistype most, XP and levels, a daily streak, per-language leaderboards, real-time races against another person, and challenge links to beat someone's score.&lt;/p&gt;

&lt;p&gt;Two technical decisions worth explaining&lt;br&gt;
Every snippet ships in the bundle. All 2,170 of them. That is most of why the JavaScript is 269 KB gzipped rather than something smaller — and it is deliberate. It means the whole app works with no network at all. Install it, get on a plane, keep practising. A typing trainer that needs a round trip to give you the next line is a typing trainer that stutters.&lt;/p&gt;

&lt;p&gt;Syntax highlighting is real TextMate grammars, loaded per language. Shiki, the engine VS Code uses. Naively imported it costs about 11 MB across 309 files. Using createHighlighterCore with the JavaScript regex engine instead of the Oniguruma WASM build, plus a dynamic import per language, brings first load down to roughly 69 KB — core, one grammar, one theme. You only pay for the languages you actually open.&lt;/p&gt;

&lt;p&gt;What is not good about it&lt;br&gt;
Fair is fair:&lt;/p&gt;

&lt;p&gt;WPM is measured client-side. Anyone with DevTools can submit a fake score for their own account. The database rejects impossible values and RLS stops you writing as someone else, but there is no server-side verification of a run. Treat the leaderboard as a bit of fun, not a record book.&lt;br&gt;
It needs a physical keyboard. On a phone there is nothing to practise on, so it says so rather than pretending.&lt;br&gt;
It has 2 users. I am one of them.&lt;br&gt;
What I would like from you&lt;br&gt;
Sixty seconds and an honest opinion.&lt;/p&gt;

&lt;p&gt;Not "nice project" — I mean the thing that annoyed you. The snippet that felt wrong for the language. The metric you did not understand. The moment you almost closed the tab.&lt;/p&gt;

&lt;p&gt;There is a report button inside the app: it captures the last few console errors, the build hash, your viewport and browser, and mails it to me the second you hit send. One click, no form, no account.&lt;/p&gt;

&lt;p&gt;typre.dev — and the source is MIT if you want to see how any of it works.&lt;/p&gt;

&lt;p&gt;Built with React 19, TypeScript, Vite, Tailwind v4, Zustand, Shiki and Supabase.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>webdev</category>
      <category>react</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Typre.dev – A code typing platform to boost speed &amp; master syntax in 14 languages</title>
      <dc:creator>Typre</dc:creator>
      <pubDate>Tue, 18 Aug 2026 16:10:45 +0000</pubDate>
      <link>https://dev.to/typre/typredev-a-code-typing-platform-to-boost-speed-master-syntax-in-14-languages-1aaa</link>
      <guid>https://dev.to/typre/typredev-a-code-typing-platform-to-boost-speed-master-syntax-in-14-languages-1aaa</guid>
      <description>&lt;p&gt;Hey DEV Community! 👋&lt;/p&gt;

&lt;p&gt;Whether you are just writing your first lines of code or spent thousands of hours inside VS Code, one thing is clear: &lt;strong&gt;typing programming syntax is completely different from typing regular prose.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Special characters like &lt;code&gt;{ } [ ] &amp;lt; &amp;gt; =&amp;gt; ; ::&lt;/code&gt; can slow down your coding rhythm and break your flow state.&lt;/p&gt;

&lt;p&gt;That's why I created &lt;strong&gt;Typre.dev&lt;/strong&gt; – a minimal, fast, and interactive code typing platform built to help both beginners and experienced developers master code syntax and typing speed!&lt;/p&gt;




&lt;h3&gt;
  
  
  🎯 Who is Typre.dev for?
&lt;/h3&gt;

&lt;h4&gt;
  
  
  1. 🐣 Programming Beginners
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Master Syntax Faster:&lt;/strong&gt; Learn where special characters are on the keyboard without staring at your keys.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build Muscle Memory:&lt;/strong&gt; Get comfortable with real code structures in 14 programming languages before diving deep into complex projects.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2. ⚡ VS Code &amp;amp; IDE Power Users
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Regain &amp;amp; Upgrade Speed:&lt;/strong&gt; Flex your fingers and sharpen your muscle memory to keep up with your brain's pace.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stay in the Flow State:&lt;/strong&gt; Eliminate those subtle micro-pauses when typing tricky syntax or long method signatures.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ✨ Key Features:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;💻 &lt;strong&gt;14 Languages Supported:&lt;/strong&gt; Practice real syntax in JavaScript, Python, C#, C++, Go, Rust, TypeScript, and more!&lt;/li&gt;
&lt;li&gt;📊 &lt;strong&gt;Real-time Stats:&lt;/strong&gt; Track your WPM (Words Per Minute), accuracy, and consistency.&lt;/li&gt;
&lt;li&gt;🎨 &lt;strong&gt;Clean &amp;amp; Minimal UI:&lt;/strong&gt; Zero distractions, fast loading, designed for pure focus.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🔗 Give it a try!
&lt;/h3&gt;

&lt;p&gt;Check it out at &lt;strong&gt;&lt;a href="https://www.typre.dev/" rel="noopener noreferrer"&gt;https://www.typre.dev/&lt;/a&gt;&lt;/strong&gt; and let me know what you think!&lt;/p&gt;

&lt;p&gt;I'd love to hear your feedback:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What languages or specific code snippet categories (e.g., LeetCode patterns, algorithms) should I add next?&lt;/li&gt;
&lt;li&gt;How does your code typing WPM compare to your regular prose WPM?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Happy coding! 💻✨&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>productivity</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
