<?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: ohDev</title>
    <description>The latest articles on DEV Community by ohDev (@ohdev).</description>
    <link>https://dev.to/ohdev</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%2F3957838%2Fe24f5372-5850-4f51-a827-b2aca3b4fac1.png</url>
      <title>DEV Community: ohDev</title>
      <link>https://dev.to/ohdev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ohdev"/>
    <language>en</language>
    <item>
      <title>How I Practice TOEFL Listening — and Why I Built DailyWordtoon</title>
      <dc:creator>ohDev</dc:creator>
      <pubDate>Sun, 27 Sep 2026 13:25:40 +0000</pubDate>
      <link>https://dev.to/ohdev/how-i-practice-toefl-listening-and-why-i-built-dailywordtoon-2884</link>
      <guid>https://dev.to/ohdev/how-i-practice-toefl-listening-and-why-i-built-dailywordtoon-2884</guid>
      <description>&lt;p&gt;I built &lt;a href="https://dailywordtoon.com/" rel="noopener noreferrer"&gt;DailyWordtoon&lt;/a&gt; because I kept seeing the same problem among TOEFL learners:&lt;/p&gt;

&lt;p&gt;They know they need to practice English, but they don't have enough time to study every day.&lt;/p&gt;

&lt;p&gt;And listening is especially difficult.&lt;/p&gt;

&lt;p&gt;You can read an English sentence several times and understand it perfectly. But when you hear the same sentence once in a real conversation, you may suddenly think:&lt;/p&gt;

&lt;p&gt;"Wait... what did they say?"&lt;/p&gt;

&lt;p&gt;That's why I wanted to build something that makes TOEFL practice short, focused, and easy to repeat every day.&lt;/p&gt;

&lt;p&gt;In this post, I'll share how I recommend practicing TOEFL Listening and how I designed DailyWordtoon around this approach.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Don't Try to Understand Every Word&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One of the biggest mistakes I see in listening practice is trying to catch every word.&lt;/p&gt;

&lt;p&gt;You don't need to translate everything in your head.&lt;/p&gt;

&lt;p&gt;Instead, try to understand the structure of what you're hearing.&lt;/p&gt;

&lt;p&gt;For a campus conversation, for example, ask yourself:&lt;/p&gt;

&lt;p&gt;Why are they talking?&lt;br&gt;
What problem does the student have?&lt;br&gt;
What does the other person suggest?&lt;br&gt;
What is the important information?&lt;br&gt;
What will probably happen next?&lt;/p&gt;

&lt;p&gt;This is much closer to what you actually need to do during a TOEFL Listening task.&lt;/p&gt;

&lt;p&gt;That's also why the Listening practice in DailyWordtoon focuses on understanding the message, rather than simply testing whether you can recognize individual words.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Short Practice Is Easier to Repeat&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I used to think good test preparation meant studying for a long time.&lt;/p&gt;

&lt;p&gt;But for listening, consistency matters a lot.&lt;/p&gt;

&lt;p&gt;If you only practice when you have one free hour, you may end up practicing much less often than you planned.&lt;/p&gt;

&lt;p&gt;So I designed DailyWordtoon's Practice section around short sets.&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%2Fsaypp7t2k6dn2wssfela.jpg" 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%2Fsaypp7t2k6dn2wssfela.jpg" alt=" " width="800" height="359"&gt;&lt;/a&gt;&lt;br&gt;
You can finish a set, check your answers, review your mistakes, and move on.&lt;/p&gt;

&lt;p&gt;A typical session can fit into:&lt;/p&gt;

&lt;p&gt;a commute&lt;br&gt;
a lunch break&lt;br&gt;
a coffee break&lt;br&gt;
10–20 minutes before bed&lt;/p&gt;

&lt;p&gt;The idea is simple:&lt;/p&gt;

&lt;p&gt;Don't wait until you have enough time. Use the time you already have.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Always Review Your Mistakes&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Doing listening questions is only half of the process.&lt;/p&gt;

&lt;p&gt;The more important question is:&lt;/p&gt;

&lt;p&gt;Why did I get this question wrong?&lt;/p&gt;

&lt;p&gt;When you make a mistake, try to identify the reason.&lt;/p&gt;

&lt;p&gt;Maybe you:&lt;/p&gt;

&lt;p&gt;didn't recognize a word&lt;br&gt;
misunderstood the sentence&lt;br&gt;
missed an important detail&lt;br&gt;
confused two answer choices&lt;br&gt;
forgot information from the beginning of the conversation&lt;/p&gt;

&lt;p&gt;This is why DailyWordtoon gives you an opportunity to review your answers after each practice set.&lt;/p&gt;

&lt;p&gt;The goal isn't just to know that an answer was wrong.&lt;/p&gt;

&lt;p&gt;The goal is to understand why.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Use Transcripts as a Learning Tool&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here's one of my favorite listening practice techniques:&lt;/p&gt;

&lt;p&gt;Listen first. Read later.&lt;/p&gt;

&lt;p&gt;Don't look at the transcript immediately.&lt;/p&gt;

&lt;p&gt;First, listen and answer the questions.&lt;/p&gt;

&lt;p&gt;Then check your answers.&lt;/p&gt;

&lt;p&gt;If you missed something important, look at the transcript and find the exact sentence you didn't understand.&lt;/p&gt;

&lt;p&gt;Then listen to it again.&lt;/p&gt;

&lt;p&gt;The sequence becomes:&lt;/p&gt;

&lt;p&gt;Listen → Answer → Check → Read → Listen Again&lt;/p&gt;

&lt;p&gt;This is much more useful than simply reading the transcript from the beginning.&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%2Fk7thcjgrj24wga4fipv5.jpg" 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%2Fk7thcjgrj24wga4fipv5.jpg" alt=" " width="800" height="1423"&gt;&lt;/a&gt;&lt;br&gt;
DailyWordtoon includes listening transcripts for this reason. I wanted learners to be able to move from "I didn't understand that" to "Oh, that's what the speaker actually said."&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Vocabulary Still Matters&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Of course, listening isn't only about listening.&lt;/p&gt;

&lt;p&gt;If you don't know enough vocabulary, comprehension becomes much harder.&lt;/p&gt;

&lt;p&gt;But I don't think vocabulary should always be learned as isolated word lists.&lt;/p&gt;

&lt;p&gt;For example, instead of only memorizing:&lt;/p&gt;

&lt;p&gt;assess = evaluate&lt;/p&gt;

&lt;p&gt;it's more useful to see it in a sentence:&lt;/p&gt;

&lt;p&gt;The researchers assessed the results of the experiment.&lt;/p&gt;

&lt;p&gt;Then when you hear assessed in another academic conversation, the word is easier to recognize.&lt;/p&gt;

&lt;p&gt;This is one reason DailyWordtoon combines vocabulary learning with TOEFL practice.&lt;/p&gt;

&lt;p&gt;I also added AWL (Academic Word List) vocabulary because academic vocabulary appears repeatedly across university-related English.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Learn Words in Context&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is also the idea behind the "Wordtoon" part of DailyWordtoon.&lt;/p&gt;

&lt;p&gt;Instead of giving learners a giant list of definitions, I wanted vocabulary to appear in stories, situations, and memorable contexts.&lt;/p&gt;

&lt;p&gt;A word is easier to remember when you can connect it with:&lt;/p&gt;

&lt;p&gt;meaning + situation + sentence + image&lt;/p&gt;

&lt;p&gt;This doesn't replace traditional vocabulary study.&lt;/p&gt;

&lt;p&gt;It simply gives learners another way to remember words and recognize them later.&lt;/p&gt;

&lt;p&gt;And that recognition is particularly important for listening.&lt;/p&gt;

&lt;p&gt;You don't have time to stop and think about a word during a listening passage.&lt;/p&gt;

&lt;p&gt;You need to recognize it almost automatically.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Practice and Practice Tests Are Different&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I also made a deliberate distinction between Practice and Practice Tests.&lt;/p&gt;

&lt;p&gt;Practice is for learning.&lt;/p&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;p&gt;complete a short set&lt;br&gt;
get immediate feedback&lt;br&gt;
review mistakes&lt;br&gt;
replay difficult sections&lt;br&gt;
read the transcript&lt;/p&gt;

&lt;p&gt;Practice Tests are for testing yourself.&lt;/p&gt;

&lt;p&gt;The experience should be closer to the actual TOEFL testing process, with fewer interruptions and a more realistic sequence of questions.&lt;/p&gt;

&lt;p&gt;So my recommended progression is:&lt;/p&gt;

&lt;p&gt;Practice → Review → Practice → Practice Test&lt;/p&gt;

&lt;p&gt;Don't use full practice tests as your only form of preparation.&lt;/p&gt;

&lt;p&gt;You need focused practice before you need simulation.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;My Simple Daily Listening Routine&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If I were starting TOEFL preparation today, I would keep the routine simple.&lt;/p&gt;

&lt;p&gt;20 minutes&lt;/p&gt;

&lt;p&gt;5 minutes — Vocabulary&lt;/p&gt;

&lt;p&gt;Review TOEFL vocabulary or AWL words.&lt;/p&gt;

&lt;p&gt;10 minutes — Listening Practice&lt;/p&gt;

&lt;p&gt;Complete a short DailyWordtoon Listening set.&lt;/p&gt;

&lt;p&gt;5 minutes — Review&lt;/p&gt;

&lt;p&gt;Check incorrect answers and listen again to difficult sections using the transcript.&lt;/p&gt;

&lt;p&gt;That's it.&lt;/p&gt;

&lt;p&gt;If you have more time, do another set.&lt;/p&gt;

&lt;p&gt;If you only have 10 minutes, do one short set.&lt;/p&gt;

&lt;p&gt;The important part is coming back tomorrow.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Why I Built DailyWordtoon&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;DailyWordtoon started from a simple observation:&lt;/p&gt;

&lt;p&gt;A lot of TOEFL learners don't necessarily need more content.&lt;/p&gt;

&lt;p&gt;They need a better way to use the content consistently.&lt;/p&gt;

&lt;p&gt;There are already countless vocabulary lists, listening videos, practice questions, and test-prep materials online.&lt;/p&gt;

&lt;p&gt;The problem is often putting everything together into a routine that is easy to follow.&lt;/p&gt;

&lt;p&gt;So I wanted DailyWordtoon to bring several parts of TOEFL preparation together:&lt;/p&gt;

&lt;p&gt;TOEFL Vocabulary&lt;br&gt;
AWL Academic Vocabulary&lt;br&gt;
Listening Practice&lt;br&gt;
Reading Practice&lt;br&gt;
Writing Practice&lt;br&gt;
Speaking Practice&lt;br&gt;
Practice Tests&lt;br&gt;
Transcripts and review&lt;/p&gt;

&lt;p&gt;And most importantly, I wanted the individual practice sessions to be small enough that you can actually finish them.&lt;/p&gt;

&lt;p&gt;Final Thoughts&lt;/p&gt;

&lt;p&gt;If you're preparing for TOEFL Listening, don't worry about studying for hours every day.&lt;/p&gt;

&lt;p&gt;Start smaller.&lt;/p&gt;

&lt;p&gt;Listen to something.&lt;/p&gt;

&lt;p&gt;Answer a few questions.&lt;/p&gt;

&lt;p&gt;Find out what you got wrong.&lt;/p&gt;

&lt;p&gt;Read the transcript.&lt;/p&gt;

&lt;p&gt;Listen again.&lt;/p&gt;

&lt;p&gt;Learn the vocabulary you missed.&lt;/p&gt;

&lt;p&gt;Then come back tomorrow.&lt;/p&gt;

&lt;p&gt;That's the practice loop I had in mind when I built DailyWordtoon.&lt;/p&gt;

&lt;p&gt;Listen. Practice. Review. Repeat.&lt;/p&gt;

&lt;p&gt;If you're preparing for the TOEFL, you can try DailyWordtoon and see whether this style of short, focused practice works for you.&lt;/p&gt;

&lt;p&gt;Try DailyWordtoon → &lt;a href="https://dailywordtoon.com/" rel="noopener noreferrer"&gt;https://dailywordtoon.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks for reading — and good luck with your TOEFL preparation!&lt;/p&gt;

</description>
      <category>buildinpublic</category>
      <category>learning</category>
      <category>showdev</category>
    </item>
    <item>
      <title>HEIC to PDF Without the Friction: Introducing HEICFlow</title>
      <dc:creator>ohDev</dc:creator>
      <pubDate>Fri, 29 May 2026 06:24:33 +0000</pubDate>
      <link>https://dev.to/ohdev/heic-to-pdf-without-the-friction-introducing-heicflow-3bm2</link>
      <guid>https://dev.to/ohdev/heic-to-pdf-without-the-friction-introducing-heicflow-3bm2</guid>
      <description>&lt;p&gt;If you use an iPhone regularly, you've probably run into HEIC files.&lt;/p&gt;

&lt;p&gt;On the phone, everything works perfectly.&lt;/p&gt;

&lt;p&gt;But the moment you need to actually &lt;em&gt;use&lt;/em&gt; those images somewhere else, things get awkward.&lt;/p&gt;

&lt;p&gt;Maybe:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a website only accepts PDF&lt;/li&gt;
&lt;li&gt;someone can't open the HEIC image&lt;/li&gt;
&lt;li&gt;you need to send multiple photos as a single file&lt;/li&gt;
&lt;li&gt;or you're trying to upload documents captured on your phone&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I kept hitting this problem often enough that I decided to build a small tool around it.&lt;/p&gt;

&lt;p&gt;That's how HEICFlow started.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why HEIC Can Be Frustrating
&lt;/h2&gt;

&lt;p&gt;HEIC is Apple's modern image format.&lt;/p&gt;

&lt;p&gt;It has real advantages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;better compression&lt;/li&gt;
&lt;li&gt;smaller files&lt;/li&gt;
&lt;li&gt;good image quality&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;From a storage perspective, it's great.&lt;/p&gt;

&lt;p&gt;But compatibility still creates friction.&lt;/p&gt;

&lt;p&gt;Many workflows still prefer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PDF&lt;/li&gt;
&lt;li&gt;JPG&lt;/li&gt;
&lt;li&gt;PNG&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;especially when images move beyond your phone.&lt;/p&gt;

&lt;p&gt;And in practice, most people aren't trying to "manage file formats."&lt;/p&gt;

&lt;p&gt;They're trying to complete a task.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Real-World HEIC Problem
&lt;/h2&gt;

&lt;p&gt;Here are some situations I kept seeing.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Document Uploads
&lt;/h3&gt;

&lt;p&gt;People use iPhones to photograph:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;passports&lt;/li&gt;
&lt;li&gt;receipts&lt;/li&gt;
&lt;li&gt;application forms&lt;/li&gt;
&lt;li&gt;IDs&lt;/li&gt;
&lt;li&gt;paperwork&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then they hit:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;PDF only&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now they need a quick conversion workflow.&lt;/p&gt;

&lt;p&gt;Not an editor.&lt;/p&gt;

&lt;p&gt;Not a design tool.&lt;/p&gt;

&lt;p&gt;Just something that works.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Sharing Multiple Photos
&lt;/h3&gt;

&lt;p&gt;This is surprisingly common.&lt;/p&gt;

&lt;p&gt;Imagine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;travel photos&lt;/li&gt;
&lt;li&gt;event pictures&lt;/li&gt;
&lt;li&gt;screenshots&lt;/li&gt;
&lt;li&gt;reports&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sending 15 separate images feels messy.&lt;/p&gt;

&lt;p&gt;A single PDF is cleaner.&lt;/p&gt;

&lt;p&gt;Easier to email.&lt;/p&gt;

&lt;p&gt;Easier to archive.&lt;/p&gt;

&lt;p&gt;And often easier for the recipient.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Workflows and Productivity
&lt;/h3&gt;

&lt;p&gt;HEIC files show up in work too.&lt;/p&gt;

&lt;p&gt;Things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;meeting whiteboards&lt;/li&gt;
&lt;li&gt;inspection photos&lt;/li&gt;
&lt;li&gt;invoices&lt;/li&gt;
&lt;li&gt;contracts&lt;/li&gt;
&lt;li&gt;project documentation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Combining images into one PDF usually fits these workflows better than sharing raw files.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building HEICFlow
&lt;/h2&gt;

&lt;p&gt;I wasn't trying to build another all-in-one image suite.&lt;/p&gt;

&lt;p&gt;There are already plenty of powerful tools.&lt;/p&gt;

&lt;p&gt;Instead, I wanted something focused:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HEIC → PDF&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Fast.&lt;/p&gt;

&lt;p&gt;Simple.&lt;/p&gt;

&lt;p&gt;Minimal steps.&lt;/p&gt;

&lt;p&gt;No feature overload.&lt;/p&gt;

&lt;p&gt;Just upload and convert.&lt;/p&gt;

&lt;p&gt;So I built HEICFlow.&lt;/p&gt;

&lt;p&gt;The current version focuses on a single workflow because I wanted to solve one problem well before adding complexity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Current and Future Plans
&lt;/h2&gt;

&lt;p&gt;Right now:&lt;/p&gt;

&lt;p&gt;✅ HEIC → PDF&lt;/p&gt;

&lt;p&gt;Planned next:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HEIC → JPG&lt;/li&gt;
&lt;li&gt;HEIC → PNG&lt;/li&gt;
&lt;li&gt;additional lightweight HEIC utilities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The idea is to keep HEICFlow small and practical.&lt;/p&gt;

&lt;p&gt;More workflow tool than software suite.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try HEICFlow
&lt;/h2&gt;

&lt;p&gt;If you regularly work with iPhone photos and run into HEIC compatibility issues, I'd appreciate feedback.&lt;/p&gt;

&lt;p&gt;You can try it here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://heicflow.org/" rel="noopener noreferrer"&gt;https://heicflow.org/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'm especially curious:&lt;/p&gt;

&lt;p&gt;What HEIC workflow frustrates you the most?&lt;/p&gt;

</description>
      <category>ios</category>
      <category>productivity</category>
      <category>showdev</category>
      <category>sideprojects</category>
    </item>
  </channel>
</rss>
