İş Hesaplama: labor-law calculators that show their source
Astro · TypeScript · Static site · SEO
The problem
Turkish workers search for overtime, notice-period and annual-leave math, and find calculators that give a number with no reason to trust it.
What I built
Five free calculators: overtime, weekly working hours, notice period, annual leave and a monthly timesheet, plus explainer articles. Each tool prints the law article it implements and the date it was last checked. When the law or a parameter changes, that date changes with it.
Key decisions
- Trust is a component. A required legal-basis line sits on every tool page, so no calculator can ship without naming its source.
- No third-party requests. Fonts are self-hosted. Analytics run on my own Umami server behind the site’s own domain, so the visitor’s browser never calls an outside service and no cookie banner is needed.
- Turkish type that never breaks. İ and ı live in different font subsets; if one drops, headings show empty boxes. A build script checks that every character in real product strings has a glyph, and a development-only page lets me check them by eye.
- Ads never split the form from the result. It is written into the product rules, not left to taste.
- Accessible contrast. The original orange accent failed WCAG AA on white for text; it was replaced by a darker token, and the decision is recorded so it doesn’t come back.
- Moved without losing search traffic. The calculators started on msclabs.tr and moved to their own domain; every old URL has a 301 redirect, tracked in a redirect map.
Proof
- The overtime logic is covered by 15 unit tests.
- Type checks and tests run in CI on every push.
- The site builds to static HTML served by nginx.
Stack: Astro, TypeScript, self-hosted fonts and Umami, nginx, design tokens shared with the apps
Need this kind of work on your app? Email muhammedsaidcakir@msclabs.tr.