Taskly is an opinionated Agile project management (PM) application. It offers a simplified featureset and experience, to compete against the dominant PM solutions in the market. My capstone team and I built the project over our senior year.

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

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

    00