Inspiration The inspiration for Family Helpdesk came from the chaos of managing household tasks in busy families. We noticed that chores and responsibilities often get lost in communication gaps, leading to frustration. We envisioned a centralized, user-friendly app to streamline task management, inspired by professional ticketing systems like Jira but tailored for home use, with seamless Google Calendar and Tasks integration to fit into users’ daily lives.
What it does Family Helpdesk is a web and mobile app that helps families manage household jobs. Users can create, assign, and track tasks with features like priority flags, bounties, and recurring jobs. It offers three dashboard views (chronological, Kanban, priority), integrates with Google Calendar and Tasks for scheduling, and uses Google Identity Services for secure login. Notifications keep everyone updated, and a child-job system links related tasks, making household coordination effortless.
How we built it We built Family Helpdesk using React with Tailwind CSS for a responsive web frontend, and React Native for iOS and Android apps. The backend is powered by Node.js with Express, connected to a PostgreSQL database for storing users, jobs, and child-job relationships. We integrated Google Identity Services for authentication and Google Calendar/Tasks APIs for scheduling. Nodemailer handles email notifications. The app follows RESTful API principles, with reusable components and secure OAuth flows.
Challenges we ran into We faced several challenges:
Google API integration: Resolving authentication errors (e.g., "Error 401: invalid_client" and "Error 403: access_denied") required meticulous configuration of OAuth credentials and scopes. Job creation bugs: Fixing "Failed to create job" errors involved debugging backend API endpoints and ensuring proper database queries. UI issues: Making the job creation form scrollable and ensuring the "Mark Complete" button was always visible required Tailwind CSS adjustments. Child-job relationships: Implementing a system where sub-jobs are full jobs linked via dependencies was complex, requiring updates to the database schema and UI. Accomplishments that we're proud of Successfully integrating Google Calendar and Tasks APIs to sync jobs seamlessly, enhancing user productivity. Building a responsive, intuitive UI with three distinct dashboard views (chronological, Kanban, priority) using Tailwind CSS. Overcoming authentication challenges to provide secure Google login with profile integration. Creating a child-job system that links tasks as dependencies, a unique feature for household task management. Implementing a functional search bar and notification system, improving usability. What we learned Deepened our understanding of OAuth 2.0 and Google API integrations, especially handling token refreshes and scope permissions. Gained expertise in React and React Native for cross-platform development, including offline caching with AsyncStorage. Learned to optimize PostgreSQL schemas for relational data, like linking parent and child jobs. Improved skills in debugging complex errors, such as API credential mismatches and backend-frontend data flow issues. Mastered Tailwind CSS for rapid, responsive UI development. What's next for Family Helpdesk Enhanced notifications: Add push notifications for mobile apps and in-app messaging for real-time updates. Advanced features: Introduce gamification (e.g., points for completed tasks) and analytics dashboards to track family productivity. Improved offline support: Expand offline capabilities for mobile apps to handle job creation and updates without internet. Third-party integrations: Add support for other calendar platforms (e.g., Outlook) and smart home devices (e.g., Alexa reminders). Scalability: Optimize the backend with caching (e.g., Redis) and deploy to a cloud platform like AWS for broader access.
Built With
- replit
Log in or sign up for Devpost to join the conversation.