Recipi combines structured recipes with a social experience. Cooks publish ingredients, ordered steps, images and cooking details; readers discover posts through filtered feeds, follow other users, comment and save recipes into named collections. Private accounts and per-post visibility shape what each person can access.
My contributions include responsive interfaces, recipe creation and editing, image handling, and incremental loading across feeds, profiles and social lists. I also corrected privacy and access behaviour, extracted feed and recipe logic into services, and introduced Jest/jsdom infrastructure alongside expanded Django tests.
Built by a four-person team using Python, Django, server-rendered templates and modular browser JavaScript. Service and repository boundaries keep domain logic separate from request handling. Personalised feed ranking uses deterministic tag matching, while ingredient-linked shopping provides discovery rather than a checkout flow.