[{"data":1,"prerenderedAt":390},["ShallowReactive",2],{"navigation":3,"/docs/guides/taskview-for-freelancers":156,"/docs/guides/taskview-for-freelancers-surround":386},[4,23,83,103,118,133,141],{"title":5,"path":6,"stem":7,"children":8,"icon":22},"Getting Started","/docs/getting-started","docs/1.getting-started/1.index",[9,12,17],{"title":10,"path":6,"stem":7,"icon":11},"What is TaskView","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Installation","/docs/getting-started/installation","docs/1.getting-started/2.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"Quick Start","/docs/getting-started/usage","docs/1.getting-started/3.usage","i-lucide-rocket",false,{"title":24,"icon":22,"path":25,"stem":26,"children":27,"page":22},"Features","/docs/features","docs/2.features",[28,33,38,43,48,53,58,63,68,73,78],{"title":29,"path":30,"stem":31,"icon":32},"Projects and Lists","/docs/features/projects-and-lists","docs/2.features/1.projects-and-lists","i-lucide-folder",{"title":34,"path":35,"stem":36,"icon":37},"Organizations","/docs/features/organizations","docs/2.features/10.organizations","i-lucide-building-2",{"title":39,"path":40,"stem":41,"icon":42},"SSO (Single Sign-On)","/docs/features/sso","docs/2.features/11.sso","i-lucide-shield-check",{"title":44,"path":45,"stem":46,"icon":47},"Tasks","/docs/features/tasks","docs/2.features/2.tasks","i-lucide-check-square",{"title":49,"path":50,"stem":51,"icon":52},"Kanban Board","/docs/features/kanban","docs/2.features/3.kanban","i-lucide-columns-3",{"title":54,"path":55,"stem":56,"icon":57},"Dependency Graph","/docs/features/graph","docs/2.features/4.graph","i-lucide-git-branch",{"title":59,"path":60,"stem":61,"icon":62},"Dashboard","/docs/features/dashboard","docs/2.features/5.dashboard","i-lucide-layout-dashboard",{"title":64,"path":65,"stem":66,"icon":67},"Notifications","/docs/features/notifications","docs/2.features/6.notifications","i-lucide-bell",{"title":69,"path":70,"stem":71,"icon":72},"Webhooks","/docs/features/webhooks","docs/2.features/7.webhooks","i-lucide-webhook",{"title":74,"path":75,"stem":76,"icon":77},"API Tokens","/docs/features/api-tokens","docs/2.features/8.api-tokens","i-lucide-key-round",{"title":79,"path":80,"stem":81,"icon":82},"Sessions & Devices","/docs/features/sessions","docs/2.features/9.sessions","i-lucide-monitor-smartphone",{"title":84,"icon":22,"path":85,"stem":86,"children":87,"page":22},"Integrations","/docs/integrations","docs/3.integrations",[88,93,98],{"title":89,"path":90,"stem":91,"icon":92},"GitHub & GitLab Setup","/docs/integrations/setup","docs/3.integrations/1.setup","i-lucide-git-pull-request",{"title":94,"path":95,"stem":96,"icon":97},"MCP Server","/docs/integrations/mcp","docs/3.integrations/2.mcp","i-lucide-bot",{"title":99,"path":100,"stem":101,"icon":102},"Telegram & Slack Setup","/docs/integrations/messaging","docs/3.integrations/3.messaging","i-lucide-send",{"title":104,"icon":22,"path":105,"stem":106,"children":107,"page":22},"Configuration","/docs/configuration","docs/4.configuration",[108,113],{"title":109,"path":110,"stem":111,"icon":112},"Environment Variables","/docs/configuration/environment-variables","docs/4.configuration/1.environment-variables","i-lucide-settings",{"title":114,"path":115,"stem":116,"icon":117},"Authentication","/docs/configuration/authentication","docs/4.configuration/2.authentication","i-lucide-lock",{"title":119,"icon":22,"path":120,"stem":121,"children":122,"page":22},"Collaboration","/docs/collaboration","docs/5.collaboration",[123,128],{"title":124,"path":125,"stem":126,"icon":127},"Team Members","/docs/collaboration/members","docs/5.collaboration/1.members","i-lucide-users",{"title":129,"path":130,"stem":131,"icon":132},"Roles and Permissions","/docs/collaboration/roles-and-permissions","docs/5.collaboration/2.roles-and-permissions","i-lucide-shield",{"title":134,"path":135,"stem":136,"children":137,"icon":22},"FAQ","/docs/faq","docs/6.faq/1.index",[138],{"title":139,"path":135,"stem":136,"icon":140},"Frequently Asked Questions","i-lucide-circle-help",{"title":142,"icon":22,"path":143,"stem":144,"children":145,"page":22},"Guides","/docs/guides","docs/7.guides",[146,151],{"title":147,"path":148,"stem":149,"icon":150},"Deploy TaskView on a VPS with Nginx","/docs/guides/deploy-vps-nginx","docs/7.guides/1.deploy-vps-nginx","i-lucide-server",{"title":152,"path":153,"stem":154,"icon":155},"TaskView for Freelancers","/docs/guides/taskview-for-freelancers","docs/7.guides/2.taskview-for-freelancers","i-lucide-briefcase",{"id":157,"title":152,"body":158,"description":380,"extension":381,"meta":382,"navigation":383,"path":153,"seo":384,"stem":154,"__hash__":385},"docs/docs/7.guides/2.taskview-for-freelancers.md",{"type":159,"value":160,"toc":366},"minimark",[161,165,181,186,221,225,229,232,246,250,257,272,275,279,282,286,289,321,325,328,355,359],[162,163,164],"p",{},"TaskView works well for freelancers who juggle multiple clients and need a simple way to track tasks, deadlines, and money - without paying for a SaaS subscription.",[166,167,170],"callout",{"color":168,"icon":169},"warning","i-lucide-scale",[162,171,172,173,180],{},"TaskView is source-available software. Before using it, please review the ",[174,175,179],"a",{"href":176,"rel":177},"https://github.com/Gimanh/taskview-community/blob/main/LICENSE.md",[178],"nofollow","license"," to make sure your use case is covered. Freelancers may use TaskView for their own task management (Internal Use), but providing access to clients or third parties is not permitted under the community license.",[182,183,185],"h2",{"id":184},"why-taskview-for-freelancing","Why TaskView for freelancing",[187,188,189,197,203,209,215],"ul",{},[190,191,192,196],"li",{},[193,194,195],"strong",{},"No per-seat costs"," - it's free and self-hosted",[190,198,199,202],{},[193,200,201],{},"Financial tracking built in"," - attach income/expense amounts to tasks",[190,204,205,208],{},[193,206,207],{},"One project per client"," - keep work separated with independent permissions",[190,210,211,214],{},[193,212,213],{},"Full data ownership"," - your client data stays on your server",[190,216,217,220],{},[193,218,219],{},"Deadline tracking"," - the dashboard shows what's due today and what's coming up",[182,222,224],{"id":223},"setting-up-for-client-work","Setting up for client work",[226,227,207],"h3",{"id":228},"one-project-per-client",[162,230,231],{},"Create a separate project for each client. This gives you:",[187,233,234,237,240,243],{},[190,235,236],{},"Independent task lists (e.g., \"Website\", \"Marketing\", \"Maintenance\")",[190,238,239],{},"Client-specific tags (\"urgent\", \"waiting-for-feedback\", \"billable\")",[190,241,242],{},"Separate Kanban workflows per project",[190,244,245],{},"Clean separation when archiving completed client work",[226,247,249],{"id":248},"track-income-per-task","Track income per task",[162,251,252,253,256],{},"Use the ",[193,254,255],{},"financial amount"," field on tasks to log what each piece of work is worth:",[258,259,260,263,266],"ol",{},[190,261,262],{},"Open a task",[190,264,265],{},"Set the financial amount",[190,267,268,269],{},"Mark it as ",[193,270,271],{},"income",[162,273,274],{},"This gives you a per-project view of expected and completed revenue. While TaskView isn't accounting software, it's enough to see at a glance how much a project is worth.",[226,276,278],{"id":277},"use-deadlines-consistently","Use deadlines consistently",[162,280,281],{},"Set deadlines on every task that has a due date. The dashboard widgets - \"Today's tasks\" and \"Upcoming deadlines\" - become your daily planner across all clients.",[226,283,285],{"id":284},"kanban-for-workflow-stages","Kanban for workflow stages",[162,287,288],{},"Set up Kanban columns that match your freelance workflow:",[187,290,291,297,303,309,315],{},[190,292,293,296],{},[193,294,295],{},"Backlog"," - ideas and future work",[190,298,299,302],{},[193,300,301],{},"To Do"," - committed work for this week/sprint",[190,304,305,308],{},[193,306,307],{},"In Progress"," - actively working on",[190,310,311,314],{},[193,312,313],{},"Waiting for Feedback"," - sent to client, waiting for response",[190,316,317,320],{},[193,318,319],{},"Done"," - completed and delivered",[226,322,324],{"id":323},"tags-for-cross-project-filtering","Tags for cross-project filtering",[162,326,327],{},"Create consistent tags across projects:",[187,329,330,340,345,350],{},[190,331,332,336,337],{},[333,334,335],"code",{},"billable"," / ",[333,338,339],{},"non-billable",[190,341,342],{},[333,343,344],{},"urgent",[190,346,347],{},[333,348,349],{},"recurring",[190,351,352],{},[333,353,354],{},"blocked",[182,356,358],{"id":357},"backing-up-your-work","Backing up your work",[162,360,361,362,365],{},"Since TaskView is self-hosted, you're responsible for backups. Set up a regular PostgreSQL backup (daily ",[333,363,364],{},"pg_dump"," to a separate location) so you never lose client data.",{"title":367,"searchDepth":368,"depth":368,"links":369},"",2,[370,371,379],{"id":184,"depth":368,"text":185},{"id":223,"depth":368,"text":224,"children":372},[373,375,376,377,378],{"id":228,"depth":374,"text":207},3,{"id":248,"depth":374,"text":249},{"id":277,"depth":374,"text":278},{"id":284,"depth":374,"text":285},{"id":323,"depth":374,"text":324},{"id":357,"depth":368,"text":358},"How freelancers can use TaskView for project management, client work tracking, budget and income tracking, and task organization. Free self-hosted alternative to paid tools.","md",{},{"icon":155},{"title":152,"description":380},"KwK1aaKG_mooZYvyZ5LRIeNkhKrkYX9eQr-v0u3NOxU",[387,389],{"title":147,"path":148,"stem":149,"description":388,"icon":150,"children":-1},"Step-by-step guide to deploy TaskView on a VPS with Nginx reverse proxy, SSL certificates via Let's Encrypt, and Docker Compose. Production-ready self-hosted setup.",null,1783289464129]