TAM — Project Management SaaS
Scalable task management with drag-and-drop timelines and infinite-scroll data.
- Duration
- Ongoing
- Year
- 2023 — Present
- Role
- Full Stack Developer
- Team
- Product team @ SoftyLines
Project overview
Teams needed to manage thousands of tasks and records in one place, with fast filtering and a visual timeline — without the dashboard grinding to a halt under the data volume.
A production project-management SaaS that stayed fast and intuitive as teams scaled their number of tasks and records.
As a full stack developer at SoftyLines, I built core data-management features, the timeline view and shared UI components.
- Handle thousands of records with smooth filtering & sorting
- Deliver an interactive, editable timeline view
- Cut redundant API traffic and keep the dashboard responsive
- Build a reusable component system to speed up delivery
What I built
Scalable data system
A records system supporting thousands of items with optimized filtering, sorting and infinite scrolling that stays smooth as data grows.
Interactive timeline
A drag-and-drop timeline with task resizing workflows, letting users reschedule and rescope work directly on the canvas.
Caching & query management
Reduced repeated API requests and improved dashboard responsiveness through optimized caching and query management with React Query.
Reusable UI components
Designed a reusable component library that cut code duplication and accelerated feature development across the product.
Architecture
Frontend
Component-driven React SPA.
- React + TypeScript
- Redux
- React Query
- Tailwind CSS
Data fetching
Cache-first query layer.
- Query caching
- Deduped requests
- Infinite scroll
- Optimistic UI
Backend
REST API services.
- Node.js
- REST APIs
- Pagination
- Filtering & sorting
UI system
Shared, reusable components.
- Design tokens
- Composable components
- Accessibility
Technologies used
Frontend
Data
Backend
Interaction
Challenges & solutions
Rendering and interacting with thousands of records made the dashboard sluggish.
Combined infinite scrolling with optimized filtering/sorting and query caching so only what's needed is fetched and rendered.
Repeated API requests were hurting responsiveness.
Introduced React Query caching and query management to dedupe requests and serve data instantly from cache.
My responsibilities
Gallery & feature walkthrough
Thousands of records with filtering & infinite scroll
Results & impact
Lessons learned
At scale, the data-fetching layer is the product. Getting caching and query management right — not just the UI — is what kept TAM feeling instant as record counts grew into the thousands.
Like what you see?
Let's build your next product with the same rigor.