This document provides an introduction to developing userspace filesystems using FUSE (Filesystem in Userspace). It discusses why filesystems are important in organizing data, and how FUSE allows filesystem development to occur in userspace rather than kernelspace. FUSE uses a POSIX-like API to handle filesystem operations and provides both high-level and low-level interfaces. The high-level interface is simpler but the low-level interface provides more control and potential performance benefits. Debugging, testing, and ensuring good performance of FUSE filesystems are also covered.