Skip to content

Repository files navigation

As We May Think

An implementation of Vannevar Bush's Memex. Simple optional scrolling RSS feed reader (no CSS or real parsing!), note taking and retrieval, and a local LLM assistant that can answer questions based on your notes.

Structure

The frontend is located in lib, the backend is located in backend. Place LLM GGUFs in backend/models. Backend is a FastAPI project running SQLite as a local database, frontend is Flutter. Descriptions of architecture and features are located in descriptions.

Getting Started

Prerequisites

  • Python 3.10+
  • Flutter SDK (latest stable)

1. Run the Backend

  1. Navigate to the backend directory:
    cd backend
  2. Create and activate a virtual environment with uv:
    uv venv
    source .venv/bin/activate
  3. Install dependencies and sync environment:
    uv sync
  4. Start the backend server:
    uv run uvicorn main:app --reload
    The backend will run on http://localhost:8000 by default.

2. Run the Frontend

  1. Return to the project root:
    cd ..
  2. Get Flutter packages:
    flutter pub get
  3. Run the app (choose your platform):
    • Mobile (Android/iOS):
      flutter run
    • Web:
      flutter run -d chrome
    • Desktop (Linux/Mac/Windows):
      flutter run -d linux
      # or -d macos / -d windows

Vibe Coding

What's more interesting than the software itself is its development process. I pick a feature from the handwritten "roadmap" in descriptions/main.md and specify its functional requirements to an LLM. To meet non-functional requirements, I specify certain implementation details (such as names of API endpoints and their functions) and pitfalls to avoid. I ask the LLM to write a detailed document for the implementation, and I review it. The LLM writes a first draft of these functions and their tests, fully covering the desired behavior. I then iterate through a test-driven development loop until the tests pass, and finally manually QA myself.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages