Notes from building the products.
Design decisions, engineering trade-offs and lessons from active Nyfir Studios projects. These notes explain why the software is built the way it is, including the parts that are difficult or still evolving.
No entries match this filter.
Why the original currency amount should never disappear during bookkeeping
Real CODE59 evidence: 10.44 USD stays visible while the SEK booking and immutable FX provenance remain separately traceable.
DESIGN PRINCIPLESLocal-first software: what it changes in practice
Privacy is only one part of the decision. Reliability, hardware limits, updates and operating cost matter too.
DROIDBAKEWhy app generation needs more than templates
Different prompts should produce meaningfully different structures, interactions and visual systems—not the same shell with different text.
FIGUREDESK · CODE57 CASE STUDYFrom manual FX provenance to live ECB retrieval
Real CODE57 evidence: minimal-data ECB rate retrieval, verified PDF writes, and why the release gate still remains open.
FIGUREDESK · CODE56 CASE STUDYWhy 175 passing tests still did not make FigureDesk release-ready
Real CODE56 evidence: what passed, which lifecycle gaps kept the release gate open, and why test counts are not release decisions.
FIGUREDESKWhy bookkeeping features need verification gates
A development note on traceability, controlled scope and why unfinished accounting logic should not be presented as complete.
ANDROID DEVELOPMENTWhy real-device testing still matters
Emulators are essential, but physical phones expose touch, lifecycle, storage and performance issues that clean development environments can miss.
PRODUCT ENGINEERINGWhy development status should be explicit
A clear boundary between current capability and planned capability helps users and testers understand what the software actually does today.
LOCAL AIWhat local AI changes for a small software studio
Local models change recurring cost and control, while adding hardware limits, model management and recovery requirements.
ANDROID DEVELOPMENTAPK, AAB and source: three different deliverables
Editable source, directly testable packages and store distribution artifacts serve different jobs in an Android workflow.
LOCAL-FIRST DESIGNBackup and restore are product features, not housekeeping
Local ownership of important data makes recovery, integrity and migration part of the product itself.
GAME DEVELOPMENTDesigning third-person controls for a phone
Touch controls, camera behavior and screen space have to be designed together when mobile is the target platform.
FIGUREDESKWhy traceability matters in beginner-friendly bookkeeping
Guided input can simplify bookkeeping without hiding the resulting record, evidence or correction history.