TomatoSoup is a hobby-focused community platform where people share posts, discover content, and connect around the things they love
TomatoSoup lets you:
- Choose your hobbies — Pick from a variety of topics
- Fill your Bowl — Your feed (“My Bowl”) shows posts from the hobbies you follow, newest first.
- See what’s hot — A spotlight section highlights popular or newest posts across the community.
- Post and comment — Create posts with titles, descriptions, and images, and join the conversation with comments.
- Build your profile — Sign up, set your interests, and have a place to share and discover.
It’s built with Django, with a custom Author model, hobby-based feeds, and a template system that keeps the UI consistent and easy to extend.
- Python 3
- Django project set up (see project root for
manage.py)
# Create and apply database migrations
python manage.py makemigrations Soup
python manage.py migrate
# Start the development server
python manage.py runserverFigma design: TomatoSoup (Figma)
- Base template: Extend
base.htmlat the top of every HTML file:{% extends 'base.html' %}
- Use
{% block head %}{% endblock %}and{% block content %}{% endblock %}for page-specific head and content. - See
home.htmlfor a full example.
If time allows:
- Filtering to allow users to peek at other hobbies.
- Dynamic topics (adding/removing hobby topics by the admin).
- Custom profile photo uploading.
- Hottest topic should be filtered to only show the most viewed from the past 7 days.
- Automate AI generation to follow specific frequencies (e.g. once per day, once per week, etc)
- Markdown support
- Chips for hobby identification on posts
- Get this bad boy up so that we don't have anymore db issues between the three of us
We love Tomato Soup.
@ 2019 Cult. of the Soup*
*Cult. is abbreviation for Culture