(define-map follows {follower: principal, following: principal} bool)
(define-map follower-count principal uint)
(define-read-only (is-following (follower principal) (following principal)) (default-to false (map-get? follows {follower: follower, following: following})))
(define-public (follow (user principal))
(begin (map-set follows {follower: tx-sender, following: user} true) (ok true)))
(define-public (unfollow (user principal))
(begin (map-set follows {follower: tx-sender, following: user} false) (ok true)))