<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Pratik Prasad</title>
    <description>The latest articles on DEV Community by Pratik Prasad (@folio).</description>
    <link>https://dev.to/folio</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4226632%2Ff77503aa-0ea4-40d4-bdca-6dabb12d4f38.jpg</url>
      <title>DEV Community: Pratik Prasad</title>
      <link>https://dev.to/folio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/folio"/>
    <language>en</language>
    <item>
      <title>Building an Open Source Workspace with Next.js 16 and PostgreSQL: Meet Folio</title>
      <dc:creator>Pratik Prasad</dc:creator>
      <pubDate>Wed, 04 Nov 2026 15:44:47 +0000</pubDate>
      <link>https://dev.to/folio/building-an-open-source-workspace-with-nextjs-16-and-postgresql-meet-folio-1hkb</link>
      <guid>https://dev.to/folio/building-an-open-source-workspace-with-nextjs-16-and-postgresql-meet-folio-1hkb</guid>
      <description>&lt;p&gt;Every workday used to start the exact same way for me: opening four different browser tabs.&lt;br&gt;
A kanban board for active sprint tasks.&lt;br&gt;
An over-engineered Notion workspace for long-term project notes.&lt;br&gt;
Google Calendar to figure out meeting slots and real working hours.&lt;br&gt;
An AI chat window to help brainstorm or organize ideas.&lt;br&gt;
Instead of actually working, I spent the first 30 minutes of my day doing meta-work—syncing notes between tools, updating statuses in multiple places, and suffering from constant context-switching fatigue.&lt;br&gt;
Most modern productivity tools fall into one of two extremes:&lt;br&gt;
• Enterprise monoliths (Jira, ClickUp): Slow, cluttered with hundreds of configuration menus, and built for management rather than personal flow.&lt;br&gt;
• Blank-canvas wikis (Notion): Flexible, but require endless template tweaking and lack focused, high-speed execution interfaces.&lt;br&gt;
I wanted something clean, opinionated, fast, and most importantly, 100% open source and privacy-conscious.&lt;br&gt;
So I built Folio.&lt;br&gt;
What is Folio?&lt;br&gt;
Folio is a unified personal management studio designed around one philosophy: "One home for your everyday. Less switching, more doing."&lt;br&gt;
Instead of isolating your workflow into silos, Folio brings your core daily operations into a single cohesive interface:&lt;br&gt;
• Projects &amp;amp; Milestones: Track real execution roadmaps and deliverables without enterprise complexity.&lt;br&gt;
• Dynamic Task Views: Seamlessly toggle between visual workflow boards and high-density, keyboard-friendly task lists.&lt;br&gt;
• Native Google Calendar Integration: Your real-world schedule sits right alongside your to-dos, so you never overcommit your time.&lt;br&gt;
• Idea Incubator: A scratchpad to capture fleeting ideas with a one-click action to promote them into active, roadmapped projects.&lt;br&gt;
• Folio AI: An ambient, context-aware assistant to break down broad initiatives into concrete, actionable tasks.&lt;br&gt;
The Tech Stack&lt;br&gt;
I chose a modern, performance-first stack to keep the platform fast, responsive, and easy for other developers to self-host:&lt;br&gt;
• Framework: Next.js 16 (App Router + Turbopack)&lt;br&gt;
• Language: TypeScript (strict type checking across client &amp;amp; server)&lt;br&gt;
• Styling: Tailwind CSS &amp;amp; Lucide Icons (clean, dark-mode-first aesthetic)&lt;br&gt;
• Database &amp;amp; ORM: PostgreSQL &amp;amp; Drizzle ORM&lt;br&gt;
• Deployment: Netlify&lt;br&gt;
Why Drizzle ORM over Prisma?&lt;br&gt;
When building a high-speed workspace, database latency matters. Drizzle gives two distinct benefits:&lt;br&gt;
Lightweight serverless performance: Drizzle has negligible cold-start overhead compared to heavier query engines.&lt;br&gt;
Schema transparency: Everything is typed directly in TypeScript schema definitions, making database migrations predictable and painless.&lt;br&gt;
An Interesting Engineering Challenge: Edge vs. Node Runtimes&lt;br&gt;
One of the biggest hurdles during development involved Next.js Edge Middleware vs. Database Drivers.&lt;br&gt;
In Next.js, proxy or middleware routes often execute on Edge runtimes. If your authentication logic in middleware accidentally imports database models that rely on standard Node.js TCP drivers (like the "pg" library), the Edge bundler will crash because native Node socket bindings cannot run in lightweight Edge environments.&lt;br&gt;
The solution was strict architectural separation:&lt;br&gt;
• Middleware (proxy.ts): Only handles lightweight, zero-dependency cookie inspection and routing redirects.&lt;br&gt;
• Server Components &amp;amp; API Routes: Handle session verification and full database queries within the standard Node.js runtime.&lt;br&gt;
Keeping the Edge layers completely decoupled from the database layer dramatically improved routing speeds and deploy reliability.&lt;br&gt;
Why Make It Open Source?&lt;br&gt;
Productivity software holds your most sensitive data: personal schedules, proprietary ideas, upcoming project deadlines, and daily habits.&lt;br&gt;
Walled-garden platforms can change their pricing, monetize your data, or shut down tomorrow. By making Folio 100% open source under the MIT License, anyone can:&lt;br&gt;
• Inspect the database queries and authentication flow.&lt;br&gt;
• Self-host an instance on their own infrastructure.&lt;br&gt;
• Build custom integrations tailored to their exact workflow.&lt;br&gt;
Try It Out &amp;amp; Contribute&lt;br&gt;
Folio is live, free to use, and completely open source.&lt;br&gt;
• Live Web App: &lt;a href="https://folio-management-studio.netlify.app" rel="noopener noreferrer"&gt;https://folio-management-studio.netlify.app&lt;/a&gt;&lt;br&gt;
• GitHub Repository: &lt;a href="https://github.com/PratikPrasad1813/FOLIO" rel="noopener noreferrer"&gt;https://github.com/PratikPrasad1813/FOLIO&lt;/a&gt;&lt;br&gt;
If you're an open-source contributor or developer looking to get involved:&lt;br&gt;
• Drop a star on GitHub if you like the project!&lt;br&gt;
• Feel free to submit an issue, propose new integrations (e.g., GitHub Issues sync, Notion import, Outlook Calendar), or open a PR.&lt;br&gt;
I would love to hear your feedback: What is the biggest friction point in your current daily productivity stack? Let's discuss in the comments below!&lt;/p&gt;

</description>
      <category>database</category>
      <category>nextjs</category>
      <category>opensource</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
