· fredrik
Lägesrapport 2026-04-11 Lördag
Det går fortfarande mycket bra. Andra åtaganden har uppgatig min tid så som förväntat, men jag har samtidigt fortsatt med detta projekt.
Jag är mycket nöjd med hur programmet fungerar nu. Programmet har rätt känsla på grund av en uppsjö tekniska beslut som jag ihärdigt har kämpat med.
Programmet är dock inte stabilt än. Jag kommer under dagarna fortsätta arbeta mot att färdigställa en första stabil version.
Jag bygger in en rad andra funktioner som kalender, todo-lista m.m. Min avsikt är att fylla alla grundläggande behov som jag själv har. En uppsjö olika funktioner ställer krav på modulär och standardiserad systemdesign, vilket ökar programmets bärkraft och kvalitet. Exempelvis blir det tydligt huruvida standardiseringen för visuella komponenter (knappar, data-fält etc) är bra samt vad som behöver förbättras. Min metod är alltså att arbeta växelvis: stundom direkt med mat-funktionerna, stundom med kringliggande funktioner. Ett tillvägagångssätt om växelverkan motverkar hemmablindhet och konceptuell stelhet---två aspekter som är viktiga för hållbar utveckling över tid.
Kryptering: Data som lagras i exempelvis kalender och todo-lista är krypterat och inte ens servern kan öppna det. Användaren kan alltså välja ett separat lösenord för all sådan data. Kryptering och de-kryptering sker på klientens egen enhet. Servern lagrar bara den krypterade datan. Anledningen är att jag själv inte vill att min mer personliga data (som exempelvis vad jag skriver i mina todo-listor) ligger i klartext på servern. För mat-programmet är det inte lika känsligt, exempelvis vilka namn på livsmedel man har, och det krypteras inte.
Ett intressant citat vad gäller design av gränssnitt för datorporgram:
\"Det handlar egentligen om hundratals experiment, och nästan varje experiment misslyckas på ett eller annat sätt. Därför har de som lyckas med detta verktyg som låter dem prova tio olika slags saker om dagen.\" Det sa Alan Kay (född 1940) var en pionjär inom grafiska användargränssnitt, särskilt kring idéer om direkt manipulation, persondatorn och användarvänlig interaktion.(1:35:59, History of The Graphical User Interface (GUI): A Wonderful Curse)
Med hjälp av AI är det lättare än någonsin att testa otaliga idéer och se vad som fungerar.
På tal om AI: jag har lyckats få en fungerande metod för agentisk AI, vilket inte verkar vara en självklarhet. I andra projekt där jag startar från noll blir det snabbt ett ohållbart resultat. Hemligheten är att själv medvetet utarbeta en gedigen grundstruktur, vilket jag väl hade gjort, eller i alla falla använda AI för att göra det, och sedan låta AI arbeta modulärt inom den under uppsikt och vägledning. Grundstrukturen för AI-agenternas stödstruktur måste också uppdateras i takt med att applikationen växer, för att AI-agenterna ska kunna arbeta i rätt del av systemet, ostört av andra irrelevanta aspekter. Det krävs en sorts intuition kombinerat, teknisk kunskap och praktisk erfarenhet av systemutveckling för att kunna utarbeta och tillämpa bra metoder för AI inom större projekt.
Sedan den 14 mars har jag inte behövt läsa någon programkod alls, och det rör sig om flera tio-tusentals rader kod, vilket är mycket faschinerande.
Nuvarande statistik på mängd textrader av programkod:
backend: 9 587 rader fördelade på 27 filer frontend: 71 384 rader fördelade på 347 filer
Frontend per typ:
JavaScript: 53 802 rader fördelade på 183 filer Stilmallar (css): 10 909 rader fördelade på 74 filer PHP: 4 051 rader fördelade på 20 filer Konfiguration/data: 1 400 rader fördelade på 4 filer HTML/mallar: 1 147 rader fördelade på 65 filer
Backend per type:
Allt är node JS kod. Databas struktur tillkommer.