<?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: akshat malik</title>
    <description>The latest articles on DEV Community by akshat malik (@akshat_dev).</description>
    <link>https://dev.to/akshat_dev</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%2F4159758%2F091a3b75-337d-434a-9220-2ca05ed6189b.jpg</url>
      <title>DEV Community: akshat malik</title>
      <link>https://dev.to/akshat_dev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/akshat_dev"/>
    <language>en</language>
    <item>
      <title>I built an email writer for my father</title>
      <dc:creator>akshat malik</dc:creator>
      <pubDate>Sun, 04 Oct 2026 07:25:41 +0000</pubDate>
      <link>https://dev.to/akshat_dev/i-built-an-email-writer-for-my-father-333a</link>
      <guid>https://dev.to/akshat_dev/i-built-an-email-writer-for-my-father-333a</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;When I went home recently, my father showed me his daily routine. He is a general manager overseeing chemical processing plants, and he deals with dozens of operational emails every day: requesting weekly glycol readings, sending maintenance directives to plant teams, following up with vendors, and replying to executive queries.&lt;/p&gt;

&lt;p&gt;He knows exactly what needs to be said, but he thinks in Hindi and Hinglish. To write formal English emails, he had to copy text into web-based AI tools, write prompts, paste the results back into Outlook, and then worry whether the AI had invented a deadline or a number. For someone who isn't comfortable with AI tools, that was tiring and tedious.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;Correspond (Email Writer)&lt;/strong&gt;, a small personal assistant that runs entirely on his own machine. He types a quick note in Hindi, Hinglish or casual English. The app pulls context about the recipient from a local database, drafts a formal email, cross-checks the key facts, shows a short Hindi summary so he can confirm the meaning at a glance, and creates the draft in Outlook with one click.&lt;/p&gt;

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

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/p8KM_Qgps8M" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;The video shows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Hinglish input:&lt;/strong&gt; a casual prompt like &lt;em&gt;"Sharma ji ko mail karo — operations team se glycol readings maango for last week, by Friday 5pm"&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local streaming generation:&lt;/strong&gt; the subject, formal English body and Hindi summary generated on-device by Gemma&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fact guard:&lt;/strong&gt; dates, actions and recipient details checked against his original note&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One-click Outlook draft:&lt;/strong&gt; no browser needed&lt;/li&gt;
&lt;/ol&gt;

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


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/akshatmalik-bruh" rel="noopener noreferrer"&gt;
        akshatmalik-bruh
      &lt;/a&gt; / &lt;a href="https://github.com/akshatmalik-bruh/correspond" rel="noopener noreferrer"&gt;
        correspond
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;✉️ Correspond — Local AI Email Workspace&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://ollama.com/library/gemma3:4b" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/ab8e6b807382a994b7ef3b62c218f832064edaa49987e8fe902516ecdce59225/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d6f64656c2d47656d6d612d2d332d2d34422d3845373546463f7374796c653d666f722d7468652d6261646765266c6f676f3d676f6f676c65266c6f676f436f6c6f723d7768697465" alt="Gemma 3"&gt;&lt;/a&gt;
&lt;a href="https://ollama.com" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/9a355dc9b0e7a471c905d43166139bc15abd30c41266ba85ec7acefe232cb7e1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f456e67696e652d4f6c6c616d612532304c6f63616c2d626c61636b3f7374796c653d666f722d7468652d6261646765266c6f676f3d6f6c6c616d61266c6f676f436f6c6f723d7768697465" alt="Ollama"&gt;&lt;/a&gt;
&lt;a href="https://python.org" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/20f9a4b8adda309053d0e39c314ba969d3a00891f9f1a6a4d84cf5a93ff5c751/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f507974686f6e2d332e31302b2d3337373641423f7374796c653d666f722d7468652d6261646765266c6f676f3d707974686f6e266c6f676f436f6c6f723d7768697465" alt="Python"&gt;&lt;/a&gt;
&lt;a href="https://outlook.office.com" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/534752dc258c3d2cc7dda3419f84207a3a8592fd4a01aad3d7a5e21d8df7b806/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f496e746567726174696f6e2d4d6963726f736f66742532304f75746c6f6f6b2d3030373844343f7374796c653d666f722d7468652d6261646765266c6f676f3d6d6963726f736f66746f75746c6f6f6b266c6f676f436f6c6f723d7768697465" alt="Outlook"&gt;&lt;/a&gt;
&lt;a href="https://github.com/akshatmalik-bruh/correspond/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/9218332452902d9e542a100d0af126fd3174a116456614d2cf093546a13783db/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e2e7376673f7374796c653d666f722d7468652d6261646765" alt="License"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Correspond&lt;/strong&gt; is a 100% offline, privacy-first desktop email assistant designed to help non-native English speakers draft, refine, and dispatch professional workplace emails.&lt;/p&gt;
&lt;p&gt;Built for the &lt;strong&gt;&lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01" rel="nofollow"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/strong&gt;, it turns quick notes dictated or typed in &lt;strong&gt;Hindi, Hinglish, or informal English&lt;/strong&gt; into polished, formal English communications using an on-device &lt;strong&gt;Gemma 3 (4B)&lt;/strong&gt; model.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🎬 Product Demo&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=p8KM_Qgps8M" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/42cae08a00f8f0b40907ccf785518f0c8a98150ec6512c76cec864ddcab1a5b8/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f70384b4d5f51677073384d2f6d617872657364656661756c742e6a7067" alt="Correspond Demo Video"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;📺 &lt;strong&gt;Watch the 47s Demo Video&lt;/strong&gt;: &lt;a href="https://www.youtube.com/watch?v=p8KM_Qgps8M" rel="nofollow noopener noreferrer"&gt;youtube.com/watch?v=p8KM_Qgps8M&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;✨ Key Features&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;🗣️ &lt;strong&gt;Hindi &amp;amp; Hinglish Prompting&lt;/strong&gt;: Type or dictate notes in natural Hindi/Hinglish (e.g. &lt;em&gt;"Sharma ji ko mail karo — operations team se glycol readings maango for last week, by Friday 5pm"&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;🧠 &lt;strong&gt;On-Device Gemma 3 Intelligence&lt;/strong&gt;: Runs &lt;code&gt;gemma3:4b&lt;/code&gt; locally via Ollama with structured JSON output schemas (&lt;code&gt;format: json_schema&lt;/code&gt;) for streaming responses.&lt;/li&gt;
&lt;li&gt;🛡️ &lt;strong&gt;Fact Check Guard&lt;/strong&gt;: Cross-verifies explicitly mentioned dates, recipient names, and action items against…&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/akshatmalik-bruh/correspond" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


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

&lt;p&gt;I kept the stack small and local:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Python (&lt;code&gt;pywebview&lt;/code&gt;)&lt;/strong&gt; wraps a vanilla HTML/CSS/JS interface into a simple desktop app&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SQLite&lt;/strong&gt; stores contacts, preferred salutations, templates, past style samples and draft history, so drafts stay personal&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gemma 3 (4B)&lt;/strong&gt; (&lt;code&gt;gemma3:4b&lt;/code&gt;), served locally through &lt;strong&gt;Ollama&lt;/strong&gt;, drafts the emails using structured JSON output (subject, body and Hindi summary)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;pywin32&lt;/code&gt;&lt;/strong&gt; connects to Outlook Desktop to create the draft&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The flow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;He types or pastes a note and chooses the recipient's details&lt;/li&gt;
&lt;li&gt;Gemma generates the formal English email draft and a Hindi summary on-device.&lt;/li&gt;
&lt;li&gt;A validation pass checks that dates, names and action items match his input, so nothing is invented.&lt;/li&gt;
&lt;li&gt;He reads the Hindi summary, edits if needed, and clicks &lt;strong&gt;Create Outlook draft&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Outlook opens with the recepient as well as the email present inside it &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Try it:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/akshatmalik-bruh/correspond 
&lt;span class="nb"&gt;cd &lt;/span&gt;email_writer
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
ollama pull gemma3:4b
python app.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;This project only makes sense because the model is open, lightweight and local.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Privacy:&lt;/strong&gt; His emails contain plant metrics, operational data and confidential contacts. With an open-weight model running locally, none of that leaves his computer. A closed API would mean sending private workplace communication to someone else's servers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Size:&lt;/strong&gt; Drafting and replying to emails doesn't need a giant model. A 4B-parameter model is fast, reliable with structured prompts, and runs on an ordinary laptop with no GPU server.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost:&lt;/strong&gt; There are no subscriptions, API keys or per-token fees. A tool built for a parent should be free to keep running.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Personalisation:&lt;/strong&gt; Because the model and the data are both local, I can shape the assistant around his greetings, contacts and signature, without sharing that profile with anyone.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ownership:&lt;/strong&gt; No API can be deprecated or repriced out from under him.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Open innovation made it possible to build a private, personal tool for one person, and that is what this challenge is about.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;Built with the &lt;strong&gt;Antigravity AI Assistant&lt;/strong&gt;, using subagents for UI design, SQLite schema management, Ollama JSON streaming integration, and the Playwright video pipeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Gemma:&lt;/strong&gt; built on-device with Gemma 3 4B via Ollama&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build for a Friend / Family:&lt;/strong&gt; made for my father, to simplify his daily workplace email workflow&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of ElevenLabs:&lt;/strong&gt; used elevenlabs for the youtube video demo for my project.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
