Overview
Taskly is an Agile project management app designed to be simpler than existing complex solutions. It aims to reduce onboarding time and improve efficiency for businesses, especially small ones. The project was developed by a capstone team over their senior year.
OurOuropinionatedopinionateddesigndesignapproachapproachemphasizesemphasizessimplicitysimplicitytotominimizeminimizelearninglearningcurvescurvesandandmaximizemaximizeefficiencyefficiencyandandsuccess.success.
Despite never gaining traction the project was a successful learning experience for the whole team, and has future potential with the right direction.
Development
- Initial Planning
Our team researched project management, set goals, and created an action plan. We chose technologies, designed the system, established communication guidelines, assigned responsibilities, and created UI mockups.
- Active Development
This phase involved creating and executing sprints with specific goals. We worked hard to move the project forward, resulting in an MVP with core features by the end of winter term. While functional, the project was still incomplete and needed refinement.
- Refinement
We focused on completing the project by adding missing features, improving the UI, enhancing stability and performance, and optimizing for SEO. We also iterated on existing features. The result was a fully functional project management solution, validated through our team's own use.
Challenges
The road to production wasn't always straightforward, and we faced a number of challenges.
- 3rd Party Authentication
Implemented Clerk for secure authentication, including Google OAuth. Addressed database sync challenges by integrating webhooks for production and utilizing Next.js instrumentation hook for development server sync.
- Realtime Web-Based Collaboration
Implemented polling with React Query for real-time updates, overcoming Vercel's serverless environment limitations. Retrospectively, a real-time database solution like Convex or Supabase could have been more efficient, but we were committed to Drizzle ORM.
Future Improvements
The project has lots of room for future improvement. Some key features and focuses would be the following.
- 1. Emphasis on Real Customers Focus on acquiring and learning from actual users to drive product development.
- 2. WebSockets Implement for true real-time collaboration, improving upon the current polling solution.
- 3. Improved UI Responsiveness Optimize the interface for various devices and screen sizes.
- 4. Better Text Editor Integration Improve the built-in editor for more efficient task and project documentation, and implement it in all text areas across the application.
- 5. Custom Views Allow users to create personalized dashboards and task views.
Lessons Learned
This project was an invaluable learning experience that significantly contributed to my growth as both a developer and an individual. While I gained technical skills like implementing optimistic updates with Zustand, React Query, and Next.js, the lessons learned went far beyond just coding.
Working on Taskly with my teammates provided a real-world environment to apply and expand upon the knowledge gained throughout my degree. It challenged me to integrate various tools and concepts, pushing the boundaries of my capabilities and understanding of software development.
The project served as a bridge between academic learning and professional practice, offering insights into team dynamics, project management, and problem-solving in a practical setting. This experience has better prepared me for the challenges and opportunities in my future career as a software developer.
The Team
- - My Role:Project Lead
- - Teammates: Cameron Hollis and Yash Sankanagouda
Features
Artificial Intelligence
User-Centric Design
Notifications
Documentation
Markdown Editor
Global Search
Drag and Drop
GitHub Integration
frontend
Next.js
React
ShadcnUI
Tailwind CSS
ReCharts
Framer Motion
state
Zustand
Context API
backend
Drizzle
PostgreSQL
Redis
S3
OpenAI API
GitHub API
Clerk
Resend
testing
Jest
Cypress
tools
VS Code
GitHub
Figma
Linear
Linux / WSL
NPM
Analytics
10 Stars
0