Curious Paul



How we built Ventor using HarperDB, Flutter, and Python

How we built Ventor using HarperDB, Flutter, and Python


Curious Paul's photo
Curious Paul
·Jul 1, 2021·

2 min read

What is Ventor?

Ventor is a social media for events, allowing users to experience events as they happen even in isolation. The pandemic has forced the human race to look for new ways to adapt in society as the majority of physical affairs have been thwarted. Seun and I(Paul) have basically built a platform that connects like-minded people, who are interested in similar events and programs. With Ventor's live comment feature users get an actual feel for events happening in real-time.

The platform features two kinds of users:

  • Event Moderators: These users sign up on the platform and have the option of scheduling events.
  • Regular Users: These users sign up on the platform to join events and experience it live as it happens via the feeds from users at the venue. This implies that some users may be at the venue while others may not be, however Ventor helps bridge the gap.

Feature Pages

Sign-Up/Sign-In Page

Here the user signs up, with their personal info, and get to decide if they need to create events or not.


Event Details

Users can preview the details of an event before the event premiers.


Live Feeds

Users on an event room, get live feeds from users at the event.



Paul: Technically speaking I'm generally new to the concept of sockets, and building a live feed section proved to be a tasking job, as well as implementing a scheduler to check when events are supposed to go live and then ping the mobile app, while still using sockets - doing all that was quite the task. But it was definitely worth it and challenging enough, I now have more confidence in my abilities. However, HarperDB really eased off my workload as I didn't have to bother about setting up a new db and making the right configs to get things started. Kudos! to the team at HarperDB.

Seun: Dealing with state management proved to be a daunting task, instead, I resorted to using providers to store the state of the mobile app.




Share this