Dilekçem
A serverless tool that runs entirely in the browser: pick your problem, answer a few questions and a formally worded petition appears instantly. It downloads as PDF, Word or plain text, with where, when and with which documents to apply right beside it.
Problem, approach, evidence.
Problem
Writing a petition is hard to separate from finding out which authority to apply to, within how many days and with which documents. Most ready-made texts are scattered, their deadlines outdated, and they make you type your name, address and national ID number into someone else's server.
Approach
Everything runs in the browser: input is never sent anywhere. Texts are produced by pure functions independent of the interface. Deadlines, monetary limits and law articles live in data files that carry a source URL and a verification date instead of in code; anything that could not be verified shows a "Needs verification" badge.
Evidence
Measured live: Lighthouse 95 on mobile, 99–100 on desktop (accessibility 100, SEO 100); LCP 2.6 s on mobile, 0.7 s on desktop; layout shift 0. 248 unit and component tests, 40 PDF/Word tests and 112 end-to-end tests; a network-privacy test fails if even one request goes to another origin or carries what the user typed.
From problem to petition.
Consumer, public, personal data, work and school: 18 ready petitions, from cancelling a subscription to a data-protection request, from contesting a traffic fine to a resignation.
A4 PDF (embedded Turkish font), Word, plain text and print; all produced on the device.
Every template shows where to apply, the deadlines, the monetary limit, the documents needed and a deadline reminder you can add to your calendar (.ics).
A short decision tree leads you to the right template; optional drafts are kept only on this device.
Data lives apart from code.
↑ What you type never leaves the device; a network test verifies this on every change.
Let's do the next one together.
Write to me about a project, a collaboration or a technical chat. I reply within 24 hours on average.