Building Progressive Web Apps That Feel Native
Practical techniques for building PWAs that feel native: service workers, app manifests, touch interactions, performance budgets, and install prompts.
By Janez M. · 6 min read | March 14, 2026
RatataLabs articles
The RatataLabs blog collects original guides, case studies, and product notes from the studio. Topics include Plokk strategy, privacy-first browser apps, AI-assisted development workflows, product design, and lessons from building small tools that need to be useful on the first visit.
These are working notes from building and maintaining a small set of browser-first products. The case studies walk through real engineering decisions - how EdImport turns broker PDF statements into FURS-compliant tax XML entirely in the browser, and how the same privacy-first, local-processing approach keeps sensitive data on the user's own device across the studio's apps.
The development and design articles are practical rather than theoretical: prompt engineering techniques that survive contact with production traffic, patterns for building progressive web apps that feel native, and a detailed guide to designing dark-mode-first interfaces. Each piece is written from first-hand work on shipping software rather than summarized from elsewhere.
New articles are added only when there is something genuinely worth documenting - a problem that was hard to solve, a pattern that paid off, or a decision worth explaining. Accuracy and usefulness matter more here than publishing volume.
Practical techniques for building PWAs that feel native: service workers, app manifests, touch interactions, performance budgets, and install prompts.
By Janez M. · 6 min read | March 14, 2026
How to build AI-powered web apps that keep user data local: browser-based processing, BYOK API keys, client-side PDF parsing, and Google Drive storage.
By Janez M. · 5 min read | March 10, 2026
A practical guide to designing dark-mode-first web apps: color systems, typography, glass morphism, glow effects, and accessibility pitfalls to avoid.
By Janez M. · 5 min read | March 8, 2026
Practical prompt engineering techniques for production web apps: structured JSON output, temperature tuning, chain-of-thought reasoning, and edge case handling.
By Janez M. · 6 min read | March 4, 2026
How EdImport turns broker PDF statements into FURS-compliant tax XML files entirely in the browser, saving Slovenian investors hours of manual work.
By Janez M. · 5 min read | March 4, 2026