Author's Companion
Ein plattformübergreifender Schreibbegleiter, der Projektkontext im Gespräch behält.
// in brief// kurz gesagt
Flutter- und Supabase-Rebuild des Schreibbegleiters: plattformübergreifender Workspace, account-bewusster Sync, retrieval-getriebener Kontext, Spracheingabe und eine gemeinsame Produktschale für Desktop, Mobile und Web.
- RoleRolle
- Product Design + Cross-platform DevProduktdesign + Cross-platform Dev
- Built withEntwickelt mit
- Flutter · Dart · Supabase
- FormatFormat
- Product App
// the decisions behind the screen// die entscheidungen hinter dem screen
Keep story context in the eyelineStory-Kontext im Blick behalten
The active chapter, conversation, project context, and memory are visible in one working view. That reduces context reconstruction between a question and the next sentence.Aktives Kapitel, Konversation, Projektkontext und Memory sind in einer Arbeitsansicht sichtbar. Das reduziert den Wiederaufbau von Kontext zwischen einer Frage und dem nächsten Satz.
Progressive disclosureSchrittweise Offenlegung
Voice, drafting, critique, prompt templates, project notes, and system context are separate modes rather than one overloaded composer. The writer can expand the toolset only when the task calls for it.Voice, Drafting, Critique, Prompt-Templates, Projektnotizen und Systemkontext sind getrennte Modi statt eines überladenen Composers. Der Werkzeugkasten erweitert sich erst, wenn die Aufgabe es verlangt.
// a technical decision// eine technische entscheidung
Context before generation, across every platformKontext vor der Generierung, auf jeder Plattform
Before a response is requested, the companion brings together recent turns, the active chapter, and only the memories relevant to the current writing task.Bevor eine Antwort angefragt wird, führt der Companion die letzten Turns, das aktive Kapitel und nur die für die aktuelle Schreibaufgabe relevanten Memories zusammen.
final priorTurns = await _conversationRepository.fetchRecentTurns(
projectId: project.id,
chapterId: chapter?.id,
limit: 8,
);
final retrievedMemories = await _memoryNotesRepository
.retrieveRelevantMemories(
projectId: project.id,
chapterId: chapter?.id,
query: retrievalQuery,
configuration: settings.retrievalConfig,
);
final systemPrompt = ConversationPromptBuilder.systemPrompt(
project: project,
chapter: chapter,
retrievedMemories: retrievedMemories,
settings: settings,
);// outcome// ergebnis
Eine funktionierende plattformübergreifende Basis mit Authentifizierung, Workspace-Navigation, Conversation-Orchestrierung, Mobile-Smoke-Tests, Supabase-Migrationen, account-bewusster Ownership und einem klaren Release-Pfad für iOS, Android, Desktop und Web.
// selected screens// ausgewählte ansichten
18 Ansichten