It seems that basically you want a web application backed by a database. And have a separate process for filing this database.
This seems a perfectly fine design to me. I would suggest to use separate processes for the social website collecting part and the web part. You could then in the future combine both using threads, but using two separate processes in the beginning makes it easier to keep their function modular.
So before diving into details of how to use threads or how to manage concurrent users (maybe separate interps are already enough), I would first think about what should be in the database and what type of commands you can run. So look at the bigger picture first.
Hope this helps,
Mark