Inspiration
The existential anxiety of learning in the AI era—where a programmer can ask ChatGPT 50 questions daily yet experience no genuine improvement. Palimflow emerged from recognizing that traditional note-taking is becoming obsolete unless it captures uniquely human cognitive processes. Inspired by Deleuze & Guattari's rhizomatic philosophy and neuroscience research on attention patterns, we envisioned a system that makes authentic human progress visible through deliberate friction and preserved cognitive traces.
What it does
Palimflow enforces a transformative learning workflow: users deeply read materials (marking but not note-taking), then synthesize understanding without viewing sources, forcing genuine comprehension. The system meticulously records all interactions—reading patterns, thinking pauses, attention shifts—creating an irreducible record of human cognition. AI generates minimal questions that organize content fragments into explorable "plateaus," while maintaining clear boundaries between human and machine-generated content.
How we built it
Built as a Vue 3 + TypeScript monorepo with Vite, using Pinia for state management and vue-query for data persistence. The architecture prioritizes event-driven design where every user interaction is captured as first-class data. We implemented custom event listeners for granular interaction tracking, a highlight rendering system that preserves authentic reading traces, and a modular component structure ready for AI tool integration.
Challenges we ran into
First-time TypeScript full-stack development proved challenging—configuring the monorepo, TypeScript configs, Vite setup, CSS imports, and package exports consumed significant time. Setting up the devcontainer environment required deep diving into Docker configurations. The previous repository (https://github.com/whyXVI/exp-1) suffered from chaotic git history due to lack of commit standards, making it difficult to track progress or understand architectural decisions. After weeks of struggling with both technical debt and disorganized version control, we decided to completely refactor with proper architecture and development practices.
Accomplishments that we're proud of
Despite refactoring for less than a day, we've already surpassed weeks of progress from the old project—correctly implementing highlight event capture, rendering, and Pinia stores. We established a clean, minimal dependency structure (no bloated ESLint, just Prettier, Husky, and TypeScript). Our git commits now follow conventional standards with clear, atomic changes—a stark contrast to the previous chaos. Most importantly, we crystallized the philosophical framework that guides every technical decision: preserving human cognitive authenticity in an AI-saturated world.
What we learned
Understanding devcontainer and Dockerfile configurations opened new development possibilities (soon integrating Claude MCP for multi-worktree parallel development and Playwright testing). We discovered TypeScript's true power—not just type safety but architectural clarity through proper config. Learned monorepo best practices, the importance of pre-commit hooks with Husky for maintaining code quality, and how disciplined git practices transform project maintainability. Most crucially: AI's boundaries. We now know which generated code requires verification, when to consult documentation directly, and how to balance AI assistance with deep understanding.
What's next for palimflow
Immediate roadmap includes implementing the blind synthesis dialog system, persisting interaction data through vue-query, and creating mock AI-generated questions for testing. Long-term vision involves developing visualization tools that mirror neurocognitive processes, integrating bionic reading support for neurodivergent users, and exploring how iterative palimpsests can make learning progress tangible. This remains an artistic experiment—prioritizing philosophical depth over market viability.
Built With
- docker
- esbuild
- fastly
- pnpm
- postgresql
- typescript
- vite
- vue
Log in or sign up for Devpost to join the conversation.