Groselia
Sociala medier som sköter sig själva
Min roll
- Medgrundare
- Utveckling
- Produkt- och varumärkesdesign
Beskrivning
Groselia sköter sociala medier för techstartups i första hand, men också för företag i andra branscher och storlekar: strategi, design, publicering, svar på kommentarer och rapportering, i varje kanal, från en enda plattform.
Team
Danilo ParmegianiMedgrundare
Pedro CritchiMedgrundare
Bakgrund
Jag startade Groselia med Pedro, bara vi två. Han sköter marknadsföring, försäljning och drift; jag designade varumärket och produkten och byggde plattformen den körs på, från databasen till den sista animationen. Medan den var självbetjänad registrerade sig fler än 200 personer för att använda den, och i dag driver den våra kunders innehåll och sociala medier. I juni 2026 tog vi in en pre-seed på R$100k från Link Vector, acceleratorn hos Link School of Business, där jag tog examen, och två månader efter pivoten till en tjänst drar Groselia in mer än R$15 000 i månaden.
Verktyg
- Codex
- Claude Code
- Figma
- Adobe tools
Stack
React
Next.js
TypeScript
Tailwind
Supabase
Frontier LLMs
Trigger.dev
Stripe
Vercel
Tidslinje
- 2025–nu
I siffror
- R$180k+
- årlig run rate
- 200+
- konton skapade
- 350
- varumärken uppsatta
- 9,700+
- commits
- 520+
- pull requests
- 47
- edge functions
Utmaning
Att bygga slutade vara flaskhalsen. Att synas blev det.
AI fick kostnaden för att göra mjukvara att rasa. En grundare utan teknisk bakgrund kan i dag skeppa en produkt på en helg, och det kan alla andra också. Det som inte blev billigare var att få någon att lägga märke till den. Distribution är ett löpande arbete, inte en uppgift: publicera varje dag, på åtta nätverk som vill ha olika format, svara på varje kommentar och läsa siffror som varje app rapporterar på sitt eget sätt.
Startups betalar för det på ett av tre sätt. De anställer ett team de inte har råd med än, de lappar ihop ett dussin verktyg som löser var sin bit, eller så publicerar de ingenting och betalar med tillväxt. Groselia finns för att vara det fjärde alternativet.
Vägen hit
Groselia bytte skepnad fyra gånger innan det hittade vad det är. Varje vändning behöll det som fungerade och släppte resten.

Slutet av 2025 – feb 2026
Argibee
En AI-plattform för varumärkesdesign. Den började som en prototyp i slutet av 2025 och blev ett riktigt företag i februari 2026. Den hittade inte sin marknad, men dess brand kit-motor blev ryggraden i allt som kom efter.

Apr 2026
Motion-video
Groselia började som lanseringsvideor i Apple-stil gjorda från After Effects-mallar. Jag validerade hela flödet för hand och insåg sedan att det inte gick att skala upp till kvalitetsnivån.

Jun 2026
Pre-seed från Link Vector
Vi gick med i Link School of Business Startup School, ett 100 dagar långt program för grundare som filmades som en realityserie (se säsongen). Det avslutades med en demo day där jag pitchade Groselia på scen, och med vår pre-seed på R$100k från Link Vector, acceleratorn hos Link School of Business, där jag tog examen.
Aug 2026
Lovable för marknadsföring
En konversation i stället för ett formulär: beskriv kampanjen så planerar, skriver och publicerar Groselia den. En chattagent med verktyg, inte en samling bottar.
Sep 2026
En social media manager
Kunderna ville inte att AI skulle skapa deras innehåll. De ville att deras egna bilder skulle publiceras snyggt och att deras kommentarer blev besvarade. Vi tog bort genereringen och gick på djupet med att sköta kanalerna.

Nu
Service as a software
Vi säljer arbetet, inte verktyget. Vårt team sköter varje kunds sociala medier på plattformen, vilket gör att en person klarar det som förut krävde en hel byrå.
Byggt öppet
Vi byggde öppet från start. När det fortfarande hette Argibee delade vi resan på YouTube, från lanseringen av Argibees väntelista till den första videon där vi visade Groselia. Resten av historien, video för video, finns på vår kanal.
Varumärke
Jag ville att Groselias varumärke skulle vara djärvt: något som får folk att stanna upp och titta, på webbplatsen, i appen och i varje inlägg i våra sociala medier. Var man än möter det ska det imponera, väcka lite beundran och få en att vilja anlita oss på grund av det man just såg. Framför allt skulle det se fantastiskt ut för techstartups, det ekosystem vi är en del av och de kunder vi bygger för i första hand.
Jag designade hela varumärket med Figma-pluginet i Codex: logotypen, typografin och hur den låses ihop med symbolen i rätt proportioner, bildspråket, SVG-ikonbiblioteket, textstilarna och en ordnad färgpalett. Varje beslut hamnade på en och samma tavla, uppmätt, så att det gick att jämföra och diskutera.

Symbolen
Symbolen kom först och fick stanna. Tre mjuka kronblad som snurrar runt en mittpunkt; den följde med från företagets allra första version, och den nya logotypen byggdes runt den snarare än ovanpå: dess geometri kopierades och skalades, men ritades aldrig om.
Ordmärket
Ordmärket är satt i TT Commons Pro Bold, gemener, konverterat till vektorer så att det ser likadant ut överallt. Med sin naturliga spärrning kändes det glest bredvid symbolen, så jag stramade åt det till −4 % spärrning genom att flytta varje bokstav ytterligare 6,4 enheter åt vänster vid 160 px. Det låter som en liten sak; det tog ordet från 564 till 520 enheter brett och fick det att läsas som en enda form.
Ett rutnät av H
Allt mäts i H, ordmärkets synliga höjd, på ett rutnät av H/10. På så vis kan logotypen skalas utan att någon behöver ögonmåtta den igen.
För den staplade logotypen ritade jag sex alternativ, tre symbolstorlekar (1,50H, 1,75H, 2,00H) mot två avstånd (0,15H, 0,25H), och vi valde B: en symbol på 1,75H, 0,15H ovanför ordet. För den liggande jämförde jag avstånd från 0,20H till 0,35H och landade i en symbol på 1,10H med 0,35H avstånd.
Den staplade logotypen på sitt konstruktionsrutnät. H är ordmärkets höjd; rutnätet är H/10.
Liggande
Symbol 1,10H · avstånd 0,35H
Staplad
Symbol 1,75H · avstånd 0,15H
Symbol
Ursprungliga proportioner, 0,93 : 1
Colour
The palette is fifteen colours, loud on purpose. But the logo only ever comes in four treatments: blue symbol with black text, blue with white, all black and all white. The other colours are grounds, never the symbol.
To prove that, I put the symbol and both lockups on twelve backgrounds, 24 studies each, and kept the ones where its silhouette survives. On blue grounds the symbol goes monochrome. Click a colour to copy it.
Typografi
TT Commons Pro klarar alla uppgifter: sex vikter från Light till ExtraBold, en skala i elva steg från 12 till 96 px och äkta kursiver. Jag flyttade över alla 688 textlager i filen till den, så nu talar varumärkesboken, appen och webbplatsen med en och samma röst.
Primärt typsnitt
TT Commons
Pro
Appikon
Appikonen är det enda stället där varumärket blir 3D: symbolen i porslin, i lager, belyst ovanifrån och lite blank. I en senare uppfräschning krympte jag symbolen inuti med 10 % så att den får andas i sin ruta. Den har också en egen kombination med ordmärket, där rutan är 1,5H.
En värld av 3D-objekt
Runt logotypen bor en ensemble av 3D-objekt: ett hjärta med glosögon, pratbubblor, en hashtag, gnistor. De är varumärkets röst på webbplatsen och i våra inlägg, och de står aldrig still: de svävar, och på sajten reagerar de på muspekaren. Det gör de här också: knuffa dem, eller dra en bakåt och släpp.








Neo doodles
För allt platt finns Neo, vår ikonuppsättning: tjocka svarta konturer, fyllningar från paletten och en vit glansdetalj. På webbplatsen börjar varje ikon som en enkel linjeikon i en vit bricka och förvandlas till sin doodle när du hovrar över den, med delarna som kommer en i taget: skivan poppar upp, staplarna faller, glansen ritas fram. Det här är webbplatsens egna doodles och animationer, kopierade rakt av. Hovra över en.
Produkt
Allt i Groselia görs genom att skriva i en enda chatt. Du skriver vad som ska ut och när, och den schemalägger, publicerar, svarar på kommentarerna och berättar vad som fungerade. Arbetet kommer som en plan som ägaren godkänner, i stället för ett dussin skärmar att hantera.
En konversation, inte en dashboard
Groselia började som ett formulär: välj ett mål, fyll i fälten, få en kampanj. Ingen vill fylla i formulär om sitt eget företag, så nu har varje varumärke en konversation i stället.
Du öppnar ditt varumärke och skriver. Fråga vad du borde lägga upp den här veckan, släpp in bilder från mobilen eller skriv ”svara på gårdagens kommentarer”. Agenten tittar innan den svarar: din kalender, vad som har gått bra, varumärkets minne.
När den behöver något från dig ställer den en kort omgång frågor som du svarar på med ett tryck. Sedan föreslår den en plan: inläggen med datum och tid, svaren, eventuella ändringar. Du redigerar det du vill, godkänner och ser kalendern fyllas på.
Kortet här är den riktiga chatten, ombyggd i webbläsaren med appens egna tokens. Varsågod och testa.
Designad två gånger: för ägarna, sedan för oss
Den första målgruppen var småföretagare som sköter sina egna sociala medier. De tänker inte i kampanjer, trattar eller publiceringsrytm; de tänker ”vad ska jag lägga upp den här veckan?”. Så det svåra var att gömma maskineriet: onboarding på fyra frågor, ett brand kit som fylls i från en länk, en kalender man kan dra i, varje skärm på sjutton språk och användbar i mobilen.
Sedan insåg vi att kunderna inte ville sköta något verktyg alls, hur enkelt det än var. De ville att jobbet blev gjort. Så vi blev de främsta användarna. En person i vårt team sköter många varumärken, och samma app fick växa med arbetsytor för flera varumärken, cykler som börjar med ett möte och avslutas med en rapport, ett godkännandesteg för varje inlägg och en inkorg för alla nätverk. Kunderna loggar fortfarande in, men nu är appen platsen där de ser arbetet, inte där de gör det.
november 2026
Byggd för att läsas av agenter
Allt oftare är den första läsaren av ett varumärke eller en webbsida en AI. Så allt i Groselia är skrivet lika mycket för agenter som för människor. Ett varumärkes minne är en samling vanliga Markdown-dokument, med preferenser, gör och gör inte och fakta om varumärket, som agenten läser före varje svar och redigerar själv med fyra verktyg, på samma sätt som AI-assistenter håller sitt eget minne. Människor öppnar och redigerar exakt samma dokument i brand kit.
Insights går genom en gemensam kärna som både dashboarden och agenten läser, så när du frågar ”vad fungerar?” kommer svaret från siffrorna du ser. Och webbplatsen gör samma sak för assistenterna som folk frågar om oss: groselia.com serverar en llms.txt, en längre llms-full.txt och en jämförelsefil, alla genererade från en enda faktakälla i koden, så det en AI säger om våra priser eller vår säkerhet kan inte glida isär från sajten.
Engagemang över tid
Per vecka, senaste 30 dagarna, efter publiceringsdatum
Viktigaste funktionerna
Ett brand kit från en länk
Klistra in en webbplats och anslut dina konton. Groselia läser in sajten, går igenom dina tidigare inlägg och fyller själv i logotyp, färger, typsnitt, röst och målgrupp.
En konversation
En AI-agent med 41 verktyg skriver bildtexter till din media, väljer tider utifrån din egen engagemangsdata, läser statistik och skriver svarsutkast, och samlar sedan allt i en plan.
En kalender för åtta nätverk
Instagram, LinkedIn, TikTok, YouTube, X, Facebook, Threads och Reddit, var och en i sitt eget format, med tidigare inlägg importerade så att kalendern aldrig är tom.
Varje kommentar besvarad
Kommentarer och DM från alla nätverk i en inkorg, med svarsutkast i varumärkets röst och allt känsligt pausat för en människa.
Insikter i klartext
Räckvidd, visningar och engagemang över alla konton, ärligt om vad varje plattform rapporterar och inte rapporterar, och ett svar på ”vad fungerar?”.
Cykler och godkännanden
Arbetet sker i cykler. Varje cykel börjar med ett möte, avslutas med en rapport som AI:n skriver utifrån siffrorna, och varje inlägg kan vänta på kundens godkännande.
Byggt med AI-agenter
Jag byggde Groselia med AI-agenter som mitt utvecklingsteam. Codex och Claude Code skrev koden, varje ändring på en egen branch, medan jag designade, granskade varje pull request och bestämde vad som skulle ut.
Och de flesta av mina prompter talade jag in i stället för att skriva dem, med Wispr Flow. En bra prompt är en lång, detaljerad brief, och genom att prata kunde jag ge den lika snabbt som jag tänkte den.
Codex
Kodagent
Claude Code
Kodagent

Wispr Flow
Röstdiktering
Webbplats
Webbplatsen är där varumärket tar i som mest. Jag designade och byggde den i Next.js. Den finns på sjutton språk, och den skickar vidare varje besökares språk till appen när de registrerar sig.
En hero att leka med
Logotypen snurrar in medan sidan laddas, sedan kommer heron: 3D-rekvisita som svävar, lutar sig efter musen och knuffas runt av muspekaren, och en scrollscen som slutar i ”Made for you”.

Den riktiga appen, ombyggd
”Inside your Groselia” visar plattformen som den är, ombyggd i kod från appens egna skärmar med ett demovarumärke.

En blogg
Anteckningar om att sköta sociala medier. Inläggen är vanliga MDX-filer, en per språk, utan CMS, och varje inlägg får ett eget flöde och strukturerad data så att sökmotorer och AI-assistenter läser det rätt.

Ett formulär som kvalificerar leads
Varje ”Book a call” öppnar ett kort formulär före kalendern: vem du är, var du publicerar, vad du behöver och din budget. Varje steg sparas i vår databas medan du fyller i, så vi ser även halvfärdiga svar, och ett ifyllt formulär plingar till vårt team i Slack.

Responsiv, alltid
Varje sida är designad för mobilen också, inte bara krympt för att få plats. Där det inte finns hover vaknar sektionerna när de når mitten av skärmen.



Utveckling
Arkitektur
Jag byggde plattformen själv, med AI som parprogrammerare. Appen är React och Vite, landningssidan är Next.js, och båda ligger på ett och samma Supabase-projekt: Postgres med row-level security, auth, realtime och storage, och 47 edge functions. Allt som är långsamt eller schemalagt körs på Trigger.dev, de sociala nätverken kommer in via ett enda publicerings-API och Stripe sköter abonnemang, kort och brasiliansk boleto.
Det finns också en MCP-server och ett Codex-plugin, så att Groselia kan användas inifrån en AI-agent: samma varumärken, inlägg och utkast, som verktyg.
Där det används
Kärnan
Bakom det
Appen, webbplatsen och MCP-servern hostas på Vercel.
Hovra över eller tryck på en ruta för att se vad den gör och vad den pratar med.
Ett inläggs väg
Det bästa sättet att se hur delarna hänger ihop är att följa ett inlägg, från en mening i chatten till dess siffror i Insights. Klicka dig igenom stegen, eller låt dem spelas upp.
Webbapp
Ägaren frågar
”Lägg upp skördebilderna på fredag, på Instagram och LinkedIn.” Meddelandet går till agentens edge function, som strömmar tillbaka sitt svar.
Agenten
Agenten körs på de bästa modellerna på marknaden, från Anthropic, OpenAI och andra leverantörer, som en enda strömmande edge function med en verktygsloop. Modellen får 41 egna verktyg plus webbsökning och webbhämtning, upp till åtta steg per tur. Det svåra var aldrig modellen. Det var att se till att agenten alltid vet vad som gäller just nu.
Så vid varje tur, innan modellen ser meddelandet, bygger funktionen om kontexten från databasen: datum och tid i ägarens tidszon, varumärkets minnesdokument, live-kalendern, de öppna planerna, uppladdade dokument och en löpande sammanfattning av äldre meddelanden. Den stabila delen av prompten cachas i en timme; den här delen cachas aldrig, så den kan inte bli inaktuell.
Två regler formade resten. Allt som är offentligt eller oåterkalleligt hamnar i en plan som ägaren godkänner, aldrig direkt ut. Och ett inlägg finns bara om ett verktyg skapade det under den här turen, vilket satte stopp för tiden när agenten beskrev arbete den inte hade gjort. Agenten är inte heller låst till en modell: när en mindre och billigare blev tillräckligt bra flyttade jag chatten dit, för att sänka kostnaden per konversation.
Kontext, ombyggd varje tur
Verktygsanrop
Plan, väntar på godkännande
Skördevecka: 3 inlägg, 4 svar
// Volatile block: time + memory + live calendar + active plans + rolling summary. // Rebuilt each turn (never cached) so the agent always sees current state. const volatileSystem = () => { const parts = [ nowBlock, renderMemories(memories), renderCalendar(calendar, todayISO), renderPlans(plans), ] if (documents.length) parts.push(renderDocuments(documents)) if (rollingSummary) parts.push(`STORY SO FAR (summary of earlier messages in THIS conversation):\n${rollingSummary}`) // … then a line for each of the brand's other conversations return parts.join('\n\n') }
Datamodell
Ungefär 55 tabeller, i några tydliga grupper. En arbetsyta har medlemmar och varumärken; allt annat hänger på varumärket, så row-level security kan besvara en och samma fråga överallt: är den här personen medlem i det här varumärket?
Vem
- Arbetsytor
- Medlemmar
- Varumärkesroller
- Profiler
Varumärket
- Varumärken
- Färger, typsnitt, logotyper
- Produkter och personer
- Minnesdokument
- Varumärkesdokument
Chatt
- Konversationer
- Meddelanden
- Planer
- Planposter
Kalendern
- Inlägg
- Ett per nätverk
- Inläggsstatistik
- Inläggskommentarer
Kanaler
- Anslutna konton
- Daglig kontostatistik
- Kanalinställningar
Inkorg och cykler
- Inkorgstrådar
- Inkorgsmeddelanden
- Svarsutkast
- Cykler
- Cykelrapporter
Allt under ”Vem” bär ett varumärkes-id; row-level security kontrollerar det vid varje läsning och skrivning.
Tillförlitlighet och säkerhet
Groselia publicerar till riktiga konton, så de dyra felen är ett inlägg som går ut två gånger, eller ett inlägg som i tysthet aldrig går ut. Det är där det mesta av utvecklingsarbetet ligger.
1Godkänn två gånger, kör en gång
Planköraren gör anspråk på planen, och sedan på varje post, med en villkorlig uppdatering, och varje idempotensnyckel kommer från postens eget id. Ett dubbelklick eller ett nytt försök spelas upp igen i stället för att publicera en gång till.
2Webhooks signeras och spelas upp igen
Varje leverans från publicerings-API:t måste ha en giltig HMAC-signatur. Hanterarna är idempotenta eftersom leveranser kan komma mer än en gång, och ett jobb spelar upp missade händelser var tionde minut.
3Neka innan det köas
En gemensam regelfil anger vad varje nätverk accepterar (Instagram kräver media, YouTube kräver video, ingen blandning på Facebook). Schemaläggaren kontrollerar den innan något köas, och ett nekat inlägg kommer tillbaka som Misslyckades, med orsaken, i stället för att ligga kvar i kalendern som Schemalagt.
4Åtkomst kontrolleras vid varje anrop
Row-level security i Postgres, en rollkontroll i varje edge function och MCP-åtkomst via OAuth med PKCE, avgränsad per varumärke och per åtgärd, och återkallbar från en enda sida.
Under en period delade min lokala app och den skarpa en och samma produktionsdatabas, och en migrering som kördes före en deploy tömde en gång den skarpa Brand Kits-sidan. Sedan dess görs backendarbete först på en Supabase-branch och slås ihop med produktion tillsammans med koden som behöver det.
Kvalitet och arbetsflöde
Ungefär 1 000 testfall i 140 testfiler täcker appen, MCP-servern och edge functions. Vissa kontroller finns för att något gick sönder en gång: ett paritetstest stoppar bygget om något av de 17 språken saknar en nyckel, och databastesterna för MCP körs på syntetisk data och rullas tillbaka i slutet.
Agenten har egna evals. En av dem ställer en fast uppsättning frågor till den skarpa agenten om ett varumärkes resultat, var och en i en ny konversation, och kontrollerar att den läste Insights för rätt period och att svaret innehåller samma siffror som Insights-sidan visar.
En person skeppade 520+ pull requests genom att behandla AI-agenter som ett team. Varje ändring får en egen branch i ett eget git worktree, så att Claude Code och Codex kan jobba med flera saker samtidigt utan att trampa varandra på tårna. Var och en kör sina tester och typkontroller, öppnar en liten pull request, och inget mergas innan jag har läst det.
Tekniska utmaningar
Varje problem såg ut som en bugg i gränssnittet men visade sig vara något djupare: formen på en ström, en tidsstämpel, vad ett nätverk faktiskt rapporterar, en klocka.
Få genereringen att kännas levande · Realtime
Att generera en månad med inlägg innebar en spinner och sedan tolv inlägg som dök upp på en gång. Det kändes långsamt, men modellen var inte problemet. Granulariteten var det.
Jag ändrade modellens utdata till JSON Lines och strömmade den, och lade in varje inlägg i samma stund som dess rad var klar. Kalendern prenumererar på ändringar i Postgres via Supabase Realtime och ritar upp platshållare först, så inläggen skriver fram sig själva ett i taget.
Samma väntan känns nu som att se någon jobba.
Två tidsstämplar som aldrig matchade · Data
Supabase varnade för att databasen höll på att slå i taket för disk-IO. Läsningarna var okej. Något skrev om samma rader: 344 000 inserts för att lagra 83 000 meddelanden.
Inkorgssynken jämförde tidsstämpeln den sparade med den den läste tillbaka. Postgres returnerade den som +00:00 och vi skrev den som Z, så varje konversation såg ändrad ut och varje svep laddade ner den igen. Att jämföra tidpunkter i stället för strängar löste det.
export function sameInstant(a: string | null | undefined, b: string | null | undefined): boolean {
if (a == null && b == null) return true;
if (a == null || b == null) return false;
if (a === b) return true;
const ta = Date.parse(a);
const tb = Date.parse(b);
return Number.isFinite(ta) && Number.isFinite(tb) && ta === tb;
}Inserts för att lagra 83 000 meddelanden
344 000→en per nytt meddelande
Konversationer som lästes om vid varje svep
alla→de ändrade
Skrivtrycket upphörde, och inkorgshistoriker som aldrig blivit klara synkades för första gången.
En nolla är inte alltid en nolla · Analys
Vår analysleverantör returnerar samma format för alla nätverk och fyller i allt som ett nätverk inte rapporterar med 0. Instagram ”hade” noll klick på varje inlägg. Diagrammen ljög artigt.
Ett metrikregister per plattform som registrerar vad varje nätverk faktiskt rapporterar, sätter resten till null vid inläsning och låter varje diagram visa, nedgradera eller dölja ett mått på ett ärligt sätt.
Insikter över åtta nätverk som aldrig visar en siffra som ingen har mätt.
Utloggad av en klocka som gick för fort · Auth
Min medgrundare loggades ut i samma ögonblick som han loggade in: femton tokenförnyelser i sekunden, och sedan en rate limit. Ingen annan kunde återskapa det.
Klockan på hans dator gick över en timme före, så varje ny token såg utgången ut. Jag lindade in sessionslagringen så att utgångstiden förankras om till den lokala klockan när en session skrivs.
Tokenförnyelser per sekund
15→0
Inloggningen fungerar oavsett enhetens klocka, och konsolen säger till när en går fel.
Lärdomar
Smak är vallgraven
När AI gör det billigt att bygga kan alla skeppa, och det mesta ser likadant ut. Det som fortfarande är sällsynt är omdöme: att veta vad man ska utelämna, hur en skärm ska kännas, när en animation är en för mycket. För ett team på två som inte kan bjuda över någon är smaken det som får Groselia att se ut och fungera som något mycket större, och det är den enda delen jag aldrig skulle lämna över till en modell.
Sälj resultatet, inte verktyget
Ingen ville sköta ett marknadsföringsverktyg, hur bra det än var. De ville synas. Att sälja arbetet i stället för appen gjorde produkten viktigare, inte mindre viktig: den blev motorn vi kör varje dag, så varje skavank blev åtgärdad.
Kontext slår klyftighet
Agenten blev bättre när den visste mer, inte när prompten blev smartare. Att ge den live-kalendern, minnet och de öppna planerna vid varje tur, och att låta den fråga innan den agerar, gjorde mer än någon modelluppgradering.
AI ändrar storleken på teamet
När agenter skriver det mesta av koden parallellt har mitt jobb flyttat till att bestämma vad som ska byggas, granska varje ändring och hålla ribban högt. En person kan nu driva det som förut krävde ett team, så länge personen förblir redaktören.


