In Development
2024 — Present

StudyMap Visual Knowledge
Platform

An interactive canvas where concepts connect, resources attach, and knowledge gaps become visible. Built with Clean Architecture, React Flow, and Supabase — designed to replace the fragmented mess of Google Drive tabs, scattered PDFs, and disconnected bookmarks.

Product Engineering Real-time AI-ready Clean Architecture
4 Architecture Layers Clean Architecture adapted for frontend
6wk MVP Timeline Phased delivery across 4 milestones
React 19 Framework Latest React with concurrent features
100% TypeScript End-to-end type safety

Study materials
scattered everywhere

Students juggle Google Drive folders, PDF downloads, browser bookmarks, and note-taking apps — all disconnected from each other. There's no way to see how concepts relate, no single place to attach resources to the topics they belong to, and no visibility into what you actually understand versus what you've only skimmed.

The result: time wasted searching for materials, difficulty building mental models of a subject, and no structured way to collaborate or ask questions in context.

Fragmented across platforms
No concept relationships
Invisible knowledge gaps
No contextual collaboration

One canvas for
everything you study

StudyMap gives learners a zoomable, interactive canvas where they map courses as hierarchical concept trees. Each concept node is a container: attach resources, write learning objectives, ask questions, and see the full structure of what you're learning at a glance.

Visual Knowledge Map

Zoom-based navigation across a hierarchical concept tree. See the big picture or dive into details.

Resource Attachments

Attach files, links, PDFs, and videos directly to concepts. Everything lives where it belongs.

Question Board

Ask questions tied to specific concepts. Community voting surfaces the most valuable answers.

Clean Architecture
for the frontend

The codebase is structured in concentric layers where dependencies always point inward. Business logic knows nothing about React or Supabase — making the system testable, flexible, and built to evolve.

Domain

Business entities and repository interfaces. Framework-agnostic core that defines what a Concept, Resource, and Question look like.

Application

Use cases and business logic. Operations like creating a concept, attaching a resource, or voting on a question live here.

Infrastructure

Supabase implementations and factories. Concrete adapters that fulfill repository interfaces against the real database.

Presentation

React components, pages, and hooks. The UI layer that consumes use cases and renders the interactive canvas experience.

Project Structure
src/
├── domain/           # Entities & repository interfaces
├── application/      # Use cases (business operations)
├── infrastructure/   # Supabase adapters & factories
├── presentation/     # React components, pages, hooks
└── shared/           # Common utilities & types

Phased delivery,
clear milestones

Phase 1

Core Platform

Weeks 1-3
  • Visual knowledge map with zoom navigation
  • Concept CRUD operations
  • User authentication & profiles
  • Routing & navigation
Phase 2

Content Layer

Weeks 4-5
  • Learning objectives per concept
  • Resource attachments (files, links)
  • PDF preview & video embeds
  • Rich text editing
Phase 3

Community

Weeks 6-7
  • Question board functionality
  • Community voting system
  • Question filtering & sorting
Phase 4

Discovery

Week 8
  • Global search
  • Mobile responsive design
  • Performance optimization
React 19TypeScriptViteReact FlowTailwind CSSshadcn/uiTanStack QuerySupabaseReact Router v6Vercel

Why these
tradeoffs

01

Vite over Next.js

Authentication-gated app means no SEO benefit from SSR. Vite's instant HMR enables faster iteration on the interactive canvas experience.

02

React Flow for Canvas

Out-of-the-box zoom/pan, performant with large node counts, and a React-native API — superior to a custom D3.js implementation for this use case.

03

Supabase as Backend

Consolidates auth, PostgreSQL, real-time, and file storage in one platform — eliminating weeks of backend work to prioritize product differentiation.

04

Clean Architecture

Decouples business logic from framework code. Supabase could be swapped for Firebase without touching a single use case or component.

Actively
in development

StudyMap is a solo portfolio project being built in the open. The architecture is in place, the canvas is functional, and content features are being added phase by phase.

Post-MVP roadmap
Progress tracking Study timer PDF export AI flashcards Spaced repetition Mobile app