Ditto: type it once, and Gemma 4 on your laptop fills every form after that A developer built Ditto, a Chrome extension that fills arbitrary web forms from a private profile using Gemma 4 running locally through Ollama. The tool reads form labels, sections and instructions to map fields, leaves unknown or free-text answers blank rather than guessing, and can learn new facts from manually typed entries for reuse on later forms. All profile data, including ID numbers, stays on the user's laptop. This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady https://dev.to/challenges/hacktoberfest-week3-2026-10-19 In school, when an answer was the same as the line above, you didn't write it again. You drew two little strokes, 〃 , the ditto mark , and moved on. The internet never learned that trick. Job portals, bank KYC forms, clinic intakes, college applications and rental forms all ask the same forty questions in slightly different words. Legal first name. Father's / Spouse's Name. Date of Birth DD/MM/YYYY . Aadhaar No. last 4 digits only . Is your correspondence address the same as your permanent address? Browser autofill handles your name and email, then gives up, and you type the rest again. Every form. Forever. So I built Ditto : a Chrome extension that fills any web form from a private profile, using Gemma 4 running on my own laptop through Ollama . Press Alt+Shift+. or click the toolbar button and a small open model reads the form the way you would labels, sections, instructions and fills it, field by field, at sloth speed, while you do nothing: It's designed to be safely lazy: Who gets to be lazier? Anyone who fills forms, which is everyone. Job seekers retyping their resume into applicant-tracking portals. Students on admission and scholarship forms. Parents on school forms. Patients at a new clinic. And anyone opening a bank account in India, where KYC is less a process and more a lifestyle. A real run on my laptop's CPU, with the waiting sped up 5×. Watch for the BLOCK LETTERS, the DD/MM/YYYY dates, "last 4 digits only" for Aadhaar, the income bracket picked from the salary, the permanent address Chennai kept apart from the current one Bengaluru , and the nominee section filled with Meera's mother, not Meera. The declaration checkbox is left for the human. 🌐 Website and five demo forms: dragon-slayer27.github.io/ditto https://dragon-slayer27.github.io/ditto/ . Install the extension, click Load Meera a fictional person with about 50 facts and try any of the forms. I removed three facts from Meera's profile blood group, allergies, emergency contact phone and opened a clinic form. Ditto left those fields empty instead of guessing. I typed them in by hand and clicked Remember what I typed : Ditto proposed exactly those three facts. It deliberately ignores free-text answers, like the reason for a clinic visit, because those only make sense once. Then I opened a completely different form, a hackathon registration, and the allergy and emergency contact phone filled themselves: That's the slow and steady part: every form you fill by hand is the last time you type those answers. A Chrome extension that fills any web form from your private profile, using Gemma 4 running on your own computer through Ollama. Job portals, bank KYC, clinic intake, rental applications, college forms: they all ask the same forty questions in slightly different words. Ditto answers them for you, and your passport number never leaves your laptop. A 26-field bank form filled by Gemma 4 E4B on a laptop CPU. Green came from the profile, amber means "please check", grey means "needs you". Website and demo forms: https://dragon-slayer27.github.io/ditto/ https://dragon-slayer27.github.io/ditto/ Browser autofill knows your name and email. It has no idea what "Father's / Spouse's Name", "Aadhaar No. last 4 digits only " or "Name as per PAN, in BLOCK LETTERS" means, so you type it all again, on every form, forever. You could paste the form into a cloud chatbot along with your ID numbers, address and… The open pieces: What happens when you press the shortcut: