<?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>Forem: FreeSay</title>
    <description>The latest articles on Forem by FreeSay (@fasterwork_270c527e9f).</description>
    <link>https://forem.com/fasterwork_270c527e9f</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%2F3885811%2Fee705a1e-41bd-4cef-a29e-95689fd13052.png</url>
      <title>Forem: FreeSay</title>
      <link>https://forem.com/fasterwork_270c527e9f</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/fasterwork_270c527e9f"/>
    <language>en</language>
    <item>
      <title>Shipping FreeSay to 2GB-RAM Phones: What We Cut, What We Kept</title>
      <dc:creator>FreeSay</dc:creator>
      <pubDate>Fri, 24 Apr 2026 17:22:28 +0000</pubDate>
      <link>https://forem.com/fasterwork_270c527e9f/shipping-freesay-to-2gb-ram-phones-what-we-cut-what-we-kept-2oh2</link>
      <guid>https://forem.com/fasterwork_270c527e9f/shipping-freesay-to-2gb-ram-phones-what-we-cut-what-we-kept-2oh2</guid>
      <description>&lt;p&gt;I built FreeSay — an AI-powered speaking tutor — and a surprising amount of engineering time went into making it run well on cheap phones. This post is about what got cut and what survived, targeting devices with 2GB of RAM and flaky connections.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters
&lt;/h2&gt;

&lt;p&gt;Most of FreeSay's audience lives in markets where the median phone is not flagship-class. If the app chokes on a Samsung A03 or a Redmi 9A, we lose the exact users we were built for. So "runs on 2GB" was a hard constraint from day one, not a post-launch optimization.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we kept
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Real-time LLM-backed conversation in 15 target languages. Every turn goes to the cloud for quality; we gave up on fully offline speech-to-text because the accuracy gap was too large for beginners.&lt;/li&gt;
&lt;li&gt;Cloud TTS for the tutor voice. We tested Piper on-device for Android — the voice-quality drop was too jarring relative to the APK bloat.&lt;/li&gt;
&lt;li&gt;Aggressive per-turn caching on the server. Common corrections, translations, and vocabulary lookups are memoized so repeat learners pay close-to-zero latency on overlap.&lt;/li&gt;
&lt;li&gt;A bare-metal server in Korea instead of serverless. Regional subscription pricing cannot survive Lambda bills once conversation volume grows.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What we cut
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Heavy onboarding animations. Replaced with a single static screen and a play button. Every frame skipped was a frame the GPU did not have to allocate.&lt;/li&gt;
&lt;li&gt;Rich-text chat bubbles. We tried markdown rendering in the chat log, then fell back to plain text with a handful of explicit highlight types — correction, new word, translation.&lt;/li&gt;
&lt;li&gt;Pre-downloaded lesson content. Everything is fetched on demand; the APK ships small, and the first launch only downloads what the user actually opens.&lt;/li&gt;
&lt;li&gt;Optional in-app video demos. For slow connections, a 30-second video was the difference between "intrigued" and "gave up." We replaced them with text + a single still frame.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The stack, briefly
&lt;/h2&gt;

&lt;p&gt;React Native for a single codebase across iOS and Android. On-demand correction via LLM calls. Cloud TTS. A Puppeteer pipeline for localized Play Store / App Store screenshots.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I would do differently
&lt;/h2&gt;

&lt;p&gt;If I were starting again, I would benchmark the APK size and cold-start time on a 2GB device before writing a single feature. Almost every hard call we made later — TTS source, animation budget, bundle splitting — came back to that one number: how long until the learner can speak their first sentence?&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;Landing page: &lt;a href="https://fasterwork.net/freesay/" rel="noopener noreferrer"&gt;https://fasterwork.net/freesay/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feedback from anyone who has shipped consumer apps to low-end Android welcome — especially on the APK-size vs feature-richness tradeoff.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>mobile</category>
      <category>performance</category>
    </item>
    <item>
      <title>Learn 15 Languages with Unlimited AI Conversation — for the Price of a Monthly Coffee</title>
      <dc:creator>FreeSay</dc:creator>
      <pubDate>Fri, 24 Apr 2026 15:30:42 +0000</pubDate>
      <link>https://forem.com/fasterwork_270c527e9f/learn-15-languages-with-unlimited-ai-conversation-for-the-price-of-a-monthly-coffee-1lji</link>
      <guid>https://forem.com/fasterwork_270c527e9f/learn-15-languages-with-unlimited-ai-conversation-for-the-price-of-a-monthly-coffee-1lji</guid>
      <description>&lt;p&gt;I built &lt;strong&gt;FreeSay&lt;/strong&gt; — an AI-powered speaking tutor that lets you practice real-time voice conversations in 15 target languages, with unlimited daily practice priced at about what a monthly coffee costs.&lt;/p&gt;

&lt;p&gt;Live: &lt;a href="https://www.freesay.app" rel="noopener noreferrer"&gt;https://www.freesay.app&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I built it
&lt;/h2&gt;

&lt;p&gt;Traditional conversation tutoring is out of reach for most learners worldwide. A student in India, Indonesia, or Pakistan who wants to practice English speaking usually has two options: expensive human tutors or silent flashcard apps. No middle ground for &lt;em&gt;actually talking&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;With LLMs hitting "good enough" quality for conversational practice, the cost floor collapsed. I set out to build a tutor someone could afford to use every single day — priced roughly like a monthly cup of coffee.&lt;/p&gt;

&lt;h2&gt;
  
  
  What FreeSay does
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Unlimited voice + text conversation&lt;/strong&gt; with an AI tutor in your target language&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-time grammar and phrasing correction&lt;/strong&gt; as you speak&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Post-session learning report&lt;/strong&gt;: every mistake, every new vocabulary word, replayable&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;15 target languages&lt;/strong&gt; for speaking practice (English, Spanish, French, Mandarin, Japanese, Korean, and more)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;43-language UI&lt;/strong&gt; under the hood so learners can use the app in their native language&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optimized for low-end Android&lt;/strong&gt; — runs smoothly on 2GB-RAM phones&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Regional pricing&lt;/strong&gt; so the subscription makes sense relative to local income&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Tech stack notes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React Native&lt;/strong&gt; for a single codebase across iOS and Android&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;On-demand&lt;/strong&gt; correction + translation per turn via LLM calls (cached aggressively), rather than pre-translating everything&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bare-metal server&lt;/strong&gt; in Korea instead of serverless — deeply discounted regional pricing doesn't survive Lambda bills at scale&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TTS&lt;/strong&gt;: experimented with Piper on-device for Android, but voice-quality gap vs cloud TTS wasn't worth the APK bloat. iOS uses &lt;code&gt;AVSpeechSynthesizer&lt;/code&gt; with &lt;code&gt;setLanguageWithBestVoice&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Screenshots for 43 locales&lt;/strong&gt; automated with a Puppeteer pipeline — 8 screens × 43 languages = 344 images&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;Landing page + demo: &lt;a href="https://fasterwork.net/freesay/" rel="noopener noreferrer"&gt;https://fasterwork.net/freesay/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or search &lt;strong&gt;FreeSay&lt;/strong&gt; on Google Play or the App Store.&lt;/p&gt;

&lt;p&gt;Built solo. If you're learning a language — or know someone who is — I'd love your feedback.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>startup</category>
    </item>
  </channel>
</rss>
