<?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: STACKFOLO</title>
    <description>The latest articles on DEV Community by STACKFOLO (@stackfolo).</description>
    <link>https://dev.to/stackfolo</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3812321%2Fa3402d43-27b9-4436-8355-76919d8f2785.png</url>
      <title>DEV Community: STACKFOLO</title>
      <link>https://dev.to/stackfolo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/stackfolo"/>
    <language>en</language>
    <item>
      <title>I Spent 35 Seconds Opening the Same 8 Tabs Every Morning. For a Year.</title>
      <dc:creator>STACKFOLO</dc:creator>
      <pubDate>Wed, 27 May 2026 05:08:33 +0000</pubDate>
      <link>https://dev.to/stackfolo/i-spent-35-seconds-opening-the-same-8-tabs-every-morning-for-a-year-4hga</link>
      <guid>https://dev.to/stackfolo/i-spent-35-seconds-opening-the-same-8-tabs-every-morning-for-a-year-4hga</guid>
      <description>&lt;h1&gt;
  
  
  I Spent 35 Seconds Opening the Same 8 Tabs Every Morning. For a Year.
&lt;/h1&gt;

&lt;p&gt;I timed it once, on a Tuesday, because I had a feeling it was worse than I thought.&lt;/p&gt;

&lt;p&gt;GitHub repo for the SaaS I am building. Vercel dashboard. Supabase console. Linear board. The doc with the architecture notes. Stripe test dashboard. localhost:3000. Slack for the client work that pays the bills.&lt;/p&gt;

&lt;p&gt;Eight tabs. 35 seconds of Cmd-T, click, paste, enter, Cmd-T, click, paste, enter. Every morning before I could write a single line of code.&lt;/p&gt;

&lt;p&gt;35 seconds is nothing. Until you multiply.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Math I Tried Not to Do
&lt;/h2&gt;

&lt;p&gt;Let me actually do the math, because the small numbers in this kind of thing are the ones that hide.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;35 seconds per morning to open the SaaS project tabs&lt;/li&gt;
&lt;li&gt;5 working days per week&lt;/li&gt;
&lt;li&gt;~50 working weeks per year&lt;/li&gt;
&lt;li&gt;= 145 minutes per year. About 2 hours and 25 minutes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is not the bad number. The bad number is what happens when I switch to my open source library at 2pm.&lt;/p&gt;

&lt;p&gt;That is another 4 to 5 tabs. Another 20-ish seconds. And by 4pm when I check in on the client work, that is another 6 tabs and another 25 seconds.&lt;/p&gt;

&lt;p&gt;A conservative day was about 90 seconds of "opening tabs to get to the work." Over a year, that is closer to 6 hours of pure tab-opening labor. None of it is the work.&lt;/p&gt;

&lt;p&gt;The worse part was not the time. The worse part was the inertia. By the time tab six is loading, I have already looked at one notification, half-read a Slack message, and forgotten what I actually wanted to do first.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Tried, In Order
&lt;/h2&gt;

&lt;p&gt;I am a developer. I do not just accept manual tab-opening. I tried things.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chrome bookmark folders.&lt;/strong&gt; I made a folder called "SaaS startup." I right-clicked it and chose "Open all." This actually works. The problem: every URL opens in a new tab in the current window, on top of whatever was already there. By Thursday I had 47 tabs and no idea which ones belonged to which project. Worse, when I closed Chrome and reopened, the project context was lost. The folder is a launcher, not a workspace.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;OneTab.&lt;/strong&gt; Saves all tabs to a list, restores them as a group. Good for archiving. Bad for daily morning startup because it merges with whatever I had before, and the saved groups become a graveyard fast. Mine had 200+ entries after three months. Restoring one was as much friction as just typing the URLs again.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chrome session restore.&lt;/strong&gt; I tried just never closing the browser. Mac sleep handles it. But updates, restarts, crashes, and accidentally hitting Cmd-Q during a 4pm yawn destroyed this strategy at least once a month. Also, my MacBook fans got loud enough that I felt morally obligated to actually close things sometimes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A bash script + AppleScript.&lt;/strong&gt; I am embarrassed to say I wrote this. It opened Chrome with specific URLs. It worked. But editing the URL list required opening the script, finding the right line, and pasting. And it could not handle "I want a different preset for Wednesday's client work." Adding a new preset meant duplicating the script, renaming it, and remembering which one was which.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Workona, Toby, Sidebery.&lt;/strong&gt; These are the workspace extensions. They are good. I used Workona for two months. The reason I stopped: it wanted to be my whole browser. New-tab override, sidebar, persistent UI. I wanted a launcher, not a workspace OS. Personal taste, not a judgement.&lt;/p&gt;

&lt;p&gt;The pattern I noticed across all of these: the tool either does too little (bookmarks) or wants to take over the browser (workspace apps). I just wanted a button I could click that would open my eight morning tabs and then get out of my way.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Actually Wanted
&lt;/h2&gt;

&lt;p&gt;Sitting with it for a while, I wrote down what a sane morning-launch system needed:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A preset is a named set of URLs.&lt;/li&gt;
&lt;li&gt;Clicking the preset opens all the URLs as a new group, not dumped on top of whatever else is open.&lt;/li&gt;
&lt;li&gt;I can have multiple presets per project (because "morning startup" and "deploy day" need different tabs).&lt;/li&gt;
&lt;li&gt;I can have project-agnostic presets too, like "AI tools" or "design references."&lt;/li&gt;
&lt;li&gt;Editing the preset takes seconds, not a context-switch into a separate app.&lt;/li&gt;
&lt;li&gt;It lives somewhere I am already going to be, like the new tab, so it does not become a thing I forget to open.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Number six is the one that I kept getting wrong with the other tools. The launcher needs to live where my eyes already go. Otherwise I forget it exists and start typing URLs again by habit.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Setup That Stuck
&lt;/h2&gt;

&lt;p&gt;I am the lead developer on STACKFOLO, which is a Chrome extension I have been building partly for this exact problem. I am going to describe the workflow honestly here. Use the same idea anywhere, the extension is just the implementation that fit how I work.&lt;/p&gt;

&lt;p&gt;The new tab is the dashboard. Each project has its own card. On each card, there is a Quick Open section with multiple preset groups.&lt;/p&gt;

&lt;p&gt;My SaaS project card has three presets:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Daily startup&lt;/strong&gt;: GitHub repo, Vercel, Supabase, Linear board, the architecture doc, Stripe test, localhost:3000, internal Slack channel.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deploy day&lt;/strong&gt;: GitHub releases page, Vercel deployments, status page, customer Slack channel, the monitoring dashboard.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customer call prep&lt;/strong&gt;: CRM, the specific customer's account, the support ticket history, my prep doc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Three buttons. Each one opens its set in a new window so the context stays clean. The "Daily startup" group I now hit once at 9am, and within two seconds I am where I need to be. The 35 seconds is back in my day.&lt;/p&gt;

&lt;p&gt;I also have one global Quick Open with five slots that are not tied to any project. Mine currently holds: my email, my calendar, my note inbox, Claude, and the writing app I draft posts in. These are the things I open across every project, and pinning them in the global slot meant I stopped re-pinning them inside each project's preset.&lt;/p&gt;

&lt;p&gt;Total time to set this up across four projects and the global slot: about 25 minutes one Saturday morning. Total time saved since: I have not measured it but my morning routine starts with the work now, not with the opening of the work.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Actually Changed
&lt;/h2&gt;

&lt;p&gt;Three things shifted that I did not expect to shift.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The project I was avoiding became easier to start.&lt;/strong&gt; I had one side project I kept putting off because "getting set up" felt expensive. It was an open source library with five very specific tabs I needed (GitHub, npm page, CodeSandbox, the test report dashboard, the issues triage page). Once those five lived behind a single button, I opened the project three times in the next week instead of two times in the previous month. The friction was the whole reason I was avoiding it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I stopped polluting one window with three projects.&lt;/strong&gt; Because each preset opens in its own window, I stopped having one mega-window with 38 tabs across 4 projects where I could never find anything. The window is the project now.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I started editing my presets weekly.&lt;/strong&gt; When a tool I need changes, I update the preset within the same minute. The cost of editing is so low that I treat it like a living config. Before, my "system" was implicit and lived in my head, which means it never actually adjusted to what I was doing.&lt;/p&gt;

&lt;h2&gt;
  
  
  If You Try This
&lt;/h2&gt;

&lt;p&gt;You do not need my exact setup. The idea is portable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pick the 5 to 8 URLs you open at the start of every working session for one specific project.&lt;/li&gt;
&lt;li&gt;Put them somewhere clickable as a group.&lt;/li&gt;
&lt;li&gt;Make sure that group opens in a new window so it does not merge with whatever else is going on.&lt;/li&gt;
&lt;li&gt;Edit the group when your workflow changes, not "later."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want it to live on your new tab next to the actual project, &lt;a href="https://chromewebstore.google.com/detail/stackfolo/gakjkkjgbekgmdkijbgdpdmmhenjejpb?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=2026-05-w22-quick-open-devto&amp;amp;utm_content=blog31-cta-bottom" rel="noopener noreferrer"&gt;STACKFOLO is on the Chrome Web Store&lt;/a&gt; and the free plan covers up to 5 projects with multiple presets each, which is enough for most people testing the idea. If you build your own, send me what you ship.&lt;/p&gt;

&lt;p&gt;The 35 seconds was never about the seconds. It was about the small repeating friction that quietly decided which projects I worked on and which ones I avoided. Removing it changed which projects I actually finished.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>webdev</category>
      <category>sideprojects</category>
      <category>developertools</category>
    </item>
    <item>
      <title>How to Make a Developer Learning Habit Actually Stick</title>
      <dc:creator>STACKFOLO</dc:creator>
      <pubDate>Fri, 22 May 2026 01:02:51 +0000</pubDate>
      <link>https://dev.to/stackfolo/how-to-make-a-developer-learning-habit-actually-stick-1n3m</link>
      <guid>https://dev.to/stackfolo/how-to-make-a-developer-learning-habit-actually-stick-1n3m</guid>
      <description>&lt;h1&gt;
  
  
  How to Make a Developer Learning Habit Actually Stick
&lt;/h1&gt;

&lt;p&gt;How many times have you decided to learn something this year, and quietly stopped a week or two in?&lt;/p&gt;

&lt;p&gt;A new framework. A systems design course. Forty-five minutes of algorithm practice every morning. The first few days feel great. You are focused, you are making notes, you can see the progress. Then a deadline lands, you skip one day, then two, and by the end of the second week the habit is gone. The course tab is still open. The streak is at zero. You are not sure when it ended because there was never a clear moment where you decided to quit.&lt;/p&gt;

&lt;p&gt;If that pattern feels familiar, you are not undisciplined. You are running a learning routine on top of a job that already fills most of your attention. The routine did not fail because you are lazy. It failed because nothing was holding it in place when the busy week arrived.&lt;/p&gt;

&lt;p&gt;This post is about what actually holds a learning habit in place. Not motivation, not a new productivity philosophy. A small set of structural choices that let a routine survive a hard week instead of competing with it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Learning Routines Are Harder Than They Look
&lt;/h2&gt;

&lt;p&gt;A learning habit has three properties that make it fragile, and most tools ignore all three.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It has no deadline.&lt;/strong&gt; A task like "fix the staging deploy" has a date attached, so it pushes its way to the front of your day. "Practice recursion for 30 minutes" has no date. It is important but never urgent, and important-but-not-urgent work is exactly what gets dropped first when the week gets tight.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It produces no visible artifact for a long time.&lt;/strong&gt; When you ship a feature, you can see it. When you spend three weeks learning Rust, you mostly have a vague sense that you understand more than before. Without a visible record, your brain quietly concludes that nothing happened, and a habit that feels like nothing is easy to skip.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It competes with work that pays you today.&lt;/strong&gt; Your day job has real consequences attached. Your learning routine has consequences that are real but a year away. When the two collide on a Tuesday evening, the one with the closer consequence always wins.&lt;/p&gt;

&lt;p&gt;So a learning habit that depends on willpower is fighting all three of these every single day. That is not a fair fight. The fix is to stop relying on willpower and put structure where willpower used to be.&lt;/p&gt;

&lt;h2&gt;
  
  
  Four Structural Fixes That Hold
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Give the routine a fixed place in time, not a fixed amount of effort
&lt;/h3&gt;

&lt;p&gt;"Study 30 minutes a day" is a goal, not a plan. A plan answers the question &lt;em&gt;when&lt;/em&gt;. "Algorithm practice, weekdays, 7:30 to 8:00, before standup" is a plan, because it names a slot that already exists in your day.&lt;/p&gt;

&lt;p&gt;The reason this matters: a routine without a time slot has to be re-decided every day, and every re-decision is a chance to skip. A routine with a slot only has to be decided once. After that you are not choosing whether to study, you are just doing the thing that happens at 7:30.&lt;/p&gt;

&lt;p&gt;This is why STACKFOLO models routines on a 7-day by 24-hour timetable grid instead of a flat checklist. You drag a routine onto an actual block of the week, and it stays there. A "Now line" moves across the grid through the day, so the current block is always visible. The routine stops being an abstract intention and becomes a place on a calendar you can point at.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Track the streak, because the streak is the only artifact you get
&lt;/h3&gt;

&lt;p&gt;Since a learning habit produces no early visible output, you have to manufacture one. The streak is that artifact.&lt;/p&gt;

&lt;p&gt;A streak is not about gamification or pressure. It is a single honest number that answers the question your brain keeps asking: &lt;em&gt;am I actually doing this, or do I just think I am?&lt;/em&gt; Seven days in a row is proof. A row of completed day-dots for the week is proof. Without that proof, two good weeks and two bad weeks feel identical in memory, and you lose the ability to tell whether the routine is working.&lt;/p&gt;

&lt;p&gt;STACKFOLO tracks a streak count and a 7-day completion view for every routine, so the record exists whether or not you remember the individual days. On a week you fall short, the gap is visible and specific instead of a vague sense of failure. Visible gaps are recoverable. Vague guilt is not.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Build the routine from the goal, not from a generic template
&lt;/h3&gt;

&lt;p&gt;Most habit advice hands you someone else's routine and tells you to adopt it. That rarely survives contact with a real schedule, because the routine was not built around what you are actually trying to learn.&lt;/p&gt;

&lt;p&gt;A learning routine should be derived from the goal. If the goal is "be comfortable with system design interviews in three months," the routine is not "study every day." It is a specific set of recurring behaviors: read one design breakdown on Monday and Thursday, do one mock problem on Saturday, review notes on Sunday. The routine is the goal broken into things small enough to repeat.&lt;/p&gt;

&lt;p&gt;STACKFOLO's AI routine recommendation does this step for you. You describe the goal, and it proposes a concrete set of habits with sensible frequencies. You are not staring at an empty habit screen trying to invent a study plan. You start from a draft and adjust it, which is a much lower-friction way to begin.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Let the schedule be built around your real constraints
&lt;/h3&gt;

&lt;p&gt;The last reason learning routines collapse is that they are placed at times you were never realistically going to use. A 6:00 AM study block is not a plan if you are not a 6:00 AM person. It is a wish.&lt;/p&gt;

&lt;p&gt;A routine has to fit the hours you actually have. That means placing learning blocks around your wake time, your sleep time, and your working hours, in the gaps that genuinely exist. STACKFOLO has an AI timetable feature for exactly this: you give it your wake time, sleep time, working hours, and a short description of what you want to fit in, and it places the routine blocks into the open slots on the grid. You can then drag anything that does not feel right. The point is to start from a schedule shaped by your real day instead of an idealized one.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a Week Looks Like When This Holds
&lt;/h2&gt;

&lt;p&gt;Here is the difference in practice. Before, a learning routine lived as a vague intention: &lt;em&gt;I should study more.&lt;/em&gt; It had no slot, no record, and no connection to a goal, so it lost every collision with a real deadline.&lt;/p&gt;

&lt;p&gt;After, the same routine is a block at 7:30 on weekday mornings, it has a streak count that tells the truth about whether you showed up, it was generated from an actual goal, and it sits in a gap that genuinely exists in your day. None of those four things is dramatic on its own. Together they move the routine from "thing I rely on willpower for" to "thing that is just part of the week."&lt;/p&gt;

&lt;p&gt;You will still miss days. A hard sprint, travel, a sick kid, all of it still happens. The difference is that a missed day is now a visible gap in a streak you can see, not the silent start of another abandoned habit. A visible gap gets closed. A silent one becomes a quit you never noticed.&lt;/p&gt;

&lt;p&gt;If you want a place to keep your goals, routines, and learning resources together in one view, STACKFOLO is a Chrome extension built around exactly that loop: set a goal, turn it into routines on a weekly timetable, and track the streak as you go. It also handles the related problem of &lt;a href="https://dev.to/stackfolo/why-i-moved-my-bookmarks-out-of-chrome-into-a-structured-archive-boj"&gt;keeping your study resources organized instead of scattered across browser bookmarks&lt;/a&gt;, so the material you are learning from lives next to the routine that uses it.&lt;/p&gt;

&lt;p&gt;A learning habit does not need more motivation. It needs a fixed slot, an honest record, a goal it is connected to, and a schedule shaped by your real day. Put those four in place and the habit stops depending on how you feel on any given Tuesday.&lt;/p&gt;

&lt;p&gt;Try STACKFOLO free on Chrome Web Store → &lt;a href="https://chromewebstore.google.com/detail/stackfolo/gakjkkjgbekgmdkijbgdpdmmhenjejpb?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=2026-05-w21-winner-stack&amp;amp;utm_content=blog21-cta-bottom" rel="noopener noreferrer"&gt;https://chromewebstore.google.com/detail/stackfolo/gakjkkjgbekgmdkijbgdpdmmhenjejpb?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=2026-05-w21-winner-stack&amp;amp;utm_content=blog21-cta-bottom&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>learning</category>
      <category>habits</category>
      <category>career</category>
    </item>
    <item>
      <title>The Week-3 Wall: Why Your Side Project Stalls (And 4 Workflow Fixes That Actually Hold)</title>
      <dc:creator>STACKFOLO</dc:creator>
      <pubDate>Tue, 19 May 2026 05:02:42 +0000</pubDate>
      <link>https://dev.to/stackfolo/the-week-3-wall-why-your-side-project-stalls-and-4-workflow-fixes-that-actually-hold-5do4</link>
      <guid>https://dev.to/stackfolo/the-week-3-wall-why-your-side-project-stalls-and-4-workflow-fixes-that-actually-hold-5do4</guid>
      <description>&lt;h1&gt;
  
  
  The Week-3 Wall: Why Your Side Project Stalls (And 4 Workflow Fixes That Actually Hold)
&lt;/h1&gt;

&lt;p&gt;Have you ever started a side project full of energy, only to lose all motivation by week 3?&lt;/p&gt;

&lt;p&gt;You know the feeling. Week 1 was electric. You sketched the idea on a napkin, opened a fresh repo, and shipped a working prototype on a Saturday afternoon. Week 2 still had pulse. You hit a few bugs, but solving them felt like part of the fun. Then week 3 arrived. The tabs you needed to reopen got buried. The vague "finish the MVP" goal stopped giving you a finish line. A weekday slipped by without a commit, then two, then a week. The project did not die in a single moment. It quietly fell off your radar.&lt;/p&gt;

&lt;p&gt;This is the week-3 wall, and almost every side-project developer hits it. The frustrating part is that it is rarely a motivation problem. It is a workflow problem wearing a motivation costume.&lt;/p&gt;

&lt;h2&gt;
  
  
  What actually happens at week 3
&lt;/h2&gt;

&lt;p&gt;In my experience, four invisible costs pile up between weeks 1 and 3:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The context restoration tax.&lt;/strong&gt; Every return to the project costs 20 to 30 minutes of re-opening tabs, finding the right Notion page, the dashboard, the staging URL, the Figma file, the GitHub PR. By week 3, that tax feels heavier than the work itself.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The vague-goal fog.&lt;/strong&gt; "Ship the MVP" sounded like a goal in week 1. By week 3, you cannot see whether you are 40 percent or 70 percent done. Without a visible finish line, the brain stops queueing the work.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The motivation cliff.&lt;/strong&gt; Weeks 1 and 2 run on novelty. Week 3 needs habit, and habit takes deliberate installation. If you wait for motivation to come back, it does not.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The invisible-progress trap.&lt;/strong&gt; On low-energy days you might still push a tiny commit or skim a doc, but those wins evaporate. Without a visible trail, you only remember the missed days.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Most productivity advice tries to fix this from the willpower angle. Wake up earlier. Want it more. Read another book about deep work. That rarely works, because the problem is structural. The friction is built into how your tools are scattered.&lt;/p&gt;

&lt;p&gt;The four fixes below are the ones that actually held my projects together past week 3. I happen to build them into STACKFOLO, our Chrome extension, but the patterns work even if you stitch them together by hand.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fix 1: Kill the context restoration tax with one-click project presets
&lt;/h2&gt;

&lt;p&gt;The single biggest reason side projects stall is that returning to them is expensive. You open a new tab, try to remember the repo name, fish for the staging URL in Slack DMs, hunt for the Vercel dashboard. Each step is a tiny decision, and decisions are where momentum leaks.&lt;/p&gt;

&lt;p&gt;The fix is to pre-define every project as a workspace, not as a checklist of bookmarks. For each side project, write down the 4 to 8 URLs you always need open: the repo, the production URL, the staging URL, the analytics dashboard, the design file, the docs. Then bind them to a single click.&lt;/p&gt;

&lt;p&gt;In STACKFOLO we call this Quick Open with Service Presets. You can group URLs into named presets per project ("work mode", "deploy mode", "review mode") and open the whole group with one click. Globally pinned presets sit on your new tab so they are never more than a single keystroke away.&lt;/p&gt;

&lt;p&gt;The goal is not the feature, it is the principle. If returning to your project costs more than five seconds, you will eventually stop returning. Cut that cost and a tired Tuesday evening becomes a viable work session again.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fix 2: Turn "ship the MVP" into 8 to 12 visible milestones
&lt;/h2&gt;

&lt;p&gt;Week 3 is when vague goals turn into vague guilt. "Ship MVP" was inspiring while it was new. By the time you have spent three weekends on it, you cannot tell if you are halfway done or 80 percent done, and the not-knowing is exhausting.&lt;/p&gt;

&lt;p&gt;The fix is to break every side-project goal into 8 to 12 concrete milestones with rough dates. Each milestone should be small enough to finish in one or two evenings, and specific enough that you cannot fake it. "Build auth" is not a milestone. "User can sign up with Google and see a stub dashboard" is a milestone.&lt;/p&gt;

&lt;p&gt;In STACKFOLO this is the Goals view, and we added an AI WBS generator so you can paste a vague goal like "launch a Notion alternative for indie hackers" and get a sane first-draft milestone list back in under a minute. The AI does not replace your judgement, but it gets you to a workable plan in one sitting instead of three weeks of stalling.&lt;/p&gt;

&lt;p&gt;Whatever tool you use, the principle is the same. A side project without a milestone trail will always feel further from the finish line than it actually is. Make the progress visible and your brain stops treating the project as a black box.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fix 3: Install a tiny daily habit before motivation runs out
&lt;/h2&gt;

&lt;p&gt;Weeks 1 and 2 run on novelty. Week 3 needs habit. If you wait until you no longer feel like working to install a routine, the routine never gets installed.&lt;/p&gt;

&lt;p&gt;The pattern that worked for me is what I call the "daily 20". Twenty minutes per weekday, scheduled at a specific time, on a single side project. Not two hours on Saturday. Not whenever you happen to feel like it. A specific 20-minute slot, reserved like a meeting with yourself.&lt;/p&gt;

&lt;p&gt;Twenty minutes feels embarrassingly small. That is the point. The bar is low enough that you cannot reasonably skip it, and once you sit down, half the time you keep working anyway. The other half, you logged a 20-minute commit and kept the streak alive. Both outcomes beat the alternative, which is another lost weekday.&lt;/p&gt;

&lt;p&gt;In STACKFOLO this lives in Habits and Routines, with a 7-day-by-24-hour grid so you can literally drop your "daily 20" onto a Tuesday at 8:30 PM and see it sitting there every time you open a new tab. Streaks and week dots give you a tiny dopamine hit on completion. Again, the principle outranks the feature. Pick a time, defend it, and make it visible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fix 4: Make low-energy progress visible so it actually counts
&lt;/h2&gt;

&lt;p&gt;The last invisible cost is the most demoralizing one. On low-energy days you might still push a 5-line commit, fix a typo in the README, or skim a doc you needed. Real, useful work. Then a week later you cannot remember any of it, and the project feels like it has been stuck for ages.&lt;/p&gt;

&lt;p&gt;The fix is a visible progress trail. Even a tiny one. You need a place that quietly says "you shipped something on Monday, Tuesday, Thursday, and Sunday last week" without you having to assemble that picture from memory.&lt;/p&gt;

&lt;p&gt;For developers, GitHub commits already make a great signal, but they are buried inside GitHub itself. Pulling them onto your daily landing surface changes the psychology. In STACKFOLO we surface a per-project GitHub commit timeline on the side panel and new tab, so the moment you open a tab you see green dots from yesterday. Even a one-commit day reads as momentum.&lt;/p&gt;

&lt;p&gt;You can do the same without our extension. Pin your GitHub profile contribution graph as your new tab. Drop a wall calendar next to your monitor and put an X for every day you shipped anything, even small. The mechanism does not matter as much as the principle: low-effort days have to be allowed to count, or you will keep telling yourself the project is stalled when it is not.&lt;/p&gt;

&lt;h2&gt;
  
  
  The week-3 wall is not about you
&lt;/h2&gt;

&lt;p&gt;Look at the four fixes together. None of them are about discipline, willpower, or wanting it more. They are all about reducing structural friction:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One-click presets remove the 30-minute restart tax.&lt;/li&gt;
&lt;li&gt;Visible milestones remove the fog of "how close am I".&lt;/li&gt;
&lt;li&gt;A scheduled tiny habit removes the dependency on motivation.&lt;/li&gt;
&lt;li&gt;A visible progress trail removes the feeling of going nowhere.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Do any one of them and your odds of pushing past week 3 go up. Do all four and the wall stops being a wall. It becomes a normal week with a tiny commit log.&lt;/p&gt;

&lt;p&gt;You do not need our extension to apply any of this. Use whatever stack you already trust. The point of the framework is that side projects fail at week 3 because of how your workflow is arranged, not because something is wrong with you. Rearrange the workflow and the same brain, on the same Tuesday evening, ships the next milestone.&lt;/p&gt;

&lt;p&gt;If you want all four pieces in one place, that is what we are building.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Try STACKFOLO free on Chrome Web Store&lt;/strong&gt; &lt;a href="https://chromewebstore.google.com/detail/stackfolo/gakjkkjgbekgmdkijbgdpdmmhenjejpb?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=2026-05-w21-burnout-features&amp;amp;utm_content=blog-cta-bottom" rel="noopener noreferrer"&gt;→&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Quick Open with Service Presets, Goals with AI WBS milestones, Habits and Routines, and a per-project GitHub commit timeline. Free plan covers 5 projects, 100 archives, and 30 AI calls a month, which is enough to test the week-3 wall idea on one real project.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>sideprojects</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Why Your Side Projects Die After 3 Weeks (And How to Keep Them Alive)</title>
      <dc:creator>STACKFOLO</dc:creator>
      <pubDate>Thu, 14 May 2026 05:03:36 +0000</pubDate>
      <link>https://dev.to/stackfolo/why-your-side-projects-die-after-3-weeks-and-how-to-keep-them-alive-2ea6</link>
      <guid>https://dev.to/stackfolo/why-your-side-projects-die-after-3-weeks-and-how-to-keep-them-alive-2ea6</guid>
      <description>&lt;h1&gt;
  
  
  Why Your Side Projects Die After 3 Weeks (And How to Keep Them Alive)
&lt;/h1&gt;

&lt;p&gt;Have you abandoned a side project this year?&lt;/p&gt;

&lt;p&gt;You are not alone. I have a folder on my laptop called &lt;code&gt;archive/&lt;/code&gt; that I do not open anymore. Inside it are seven repositories. Each one started with a clean README, a working dev environment, and a real plan. Each one stopped getting commits sometime around week three.&lt;/p&gt;

&lt;p&gt;If that sounds familiar, this is for you. I have been talking with other side-project builders for a while now, and the pattern is almost embarrassingly consistent. Week one is excitement. Week two is momentum. Week three is when it goes quiet. By week four, the project is on the shelf next to all the other ones.&lt;/p&gt;

&lt;p&gt;It is not because you ran out of ideas. It is not because the idea was bad. The death of a side project is a structural problem, and once you see the structure, you can do something about it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What actually happens at week 3
&lt;/h2&gt;

&lt;p&gt;I used to think I was just lazy. That was the easy explanation. Then I started tracking what I did every day, and the data told a different story.&lt;/p&gt;

&lt;p&gt;There are three failure modes, and they almost always happen together.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Context switching cost.&lt;/strong&gt; Your side project lives in Notion. Your tasks live in a Trello board you set up the first weekend. Your design references are in browser bookmarks somewhere. Your code is in a folder you have to dig for. By week three, just sitting down to work on the project costs you fifteen minutes of "wait, where was I?" before you write a single line of code. That cost compounds. Eventually it is cheaper to scroll Twitter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Priority drift.&lt;/strong&gt; A new idea shows up around week three. It always does. The new idea has the shine the current project has lost, because you have not yet hit any of its hard parts. You start telling yourself you will "switch over for a week, then come back." You do not come back. You start a third project. The cycle repeats.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Tooling fatigue.&lt;/strong&gt; You spent the first weekend setting up the perfect stack. New framework, new linter config, new project template, new task manager. By week three, the tooling has not actually helped you ship anything. It has just become more surface area to maintain. You quietly resent it.&lt;/p&gt;

&lt;p&gt;The thing none of these failure modes have in common is "I lost interest." Interest is downstream. The structure killed the interest.&lt;/p&gt;

&lt;h2&gt;
  
  
  The conversation I keep having with myself
&lt;/h2&gt;

&lt;p&gt;The honest version sounds like this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Did I work on it today? I do not actually remember. Is the task list current? Probably not. What was I doing last? Let me check the commits. Wait, I have not pushed in five days. Was that intentional or did I just stop?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you have had a version of this conversation, you know how draining it is. The problem is not that you lack discipline. The problem is that nothing in your environment is helping you remember why you started, or where you left off, or what is next.&lt;/p&gt;

&lt;p&gt;I tried writing a paper journal. I tried a Notion dashboard with rollups. I tried a calendar that I respected for nine days and then ignored. They all failed for the same reason: they were extra steps. They lived somewhere I did not naturally go.&lt;/p&gt;

&lt;p&gt;So I changed the approach. Instead of finding the right tool, I asked: what is the single screen I already open ten times a day, no matter what? The answer was obvious. Every time I opened a new tab in Chrome, that was a free, unforced touchpoint with my own attention.&lt;/p&gt;

&lt;p&gt;That is the screen that needed to do the work.&lt;/p&gt;

&lt;h2&gt;
  
  
  The small system that finally kept mine alive
&lt;/h2&gt;

&lt;p&gt;I am going to describe a system rather than sell a tool, but I will be transparent: I build &lt;a href="https://chromewebstore.google.com/detail/stackfolo/gakjkkjgbekgmdkijbgdpdmmhenjejpb?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=2026-05-w20-recovery&amp;amp;utm_content=blog-burnout" rel="noopener noreferrer"&gt;STACKFOLO&lt;/a&gt; partly because I needed this system to exist for myself. The principles below are what matter. You can implement them with whatever stack you like.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Make the project unforgettable
&lt;/h3&gt;

&lt;p&gt;Your project needs to be the first thing you see when you open a browser tab. Not buried in a Notion sidebar. Not in a folder you have to expand. Visible.&lt;/p&gt;

&lt;p&gt;I put my active projects on my new tab page in a grid. Five tiles. Color coded. Each one has a status, a next task, and a one-click "open everything" button that loads the local dev URL, the GitHub repo, and the design doc into a tab group. The cost of resuming a project dropped from fifteen minutes to about three seconds.&lt;/p&gt;

&lt;p&gt;If you cannot put it on your new tab, put it as your wallpaper. Put it as your terminal MOTD. Put it somewhere it cannot hide.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Capture today before you forget today
&lt;/h3&gt;

&lt;p&gt;Every project I have killed had the same forensic evidence: I stopped logging what I did. Not what I planned. What I did.&lt;/p&gt;

&lt;p&gt;I now do a two-minute daily log at the end of each work session. Mood, one-line summary, what I shipped, what blocked me. That is it. Here is roughly what it looks like in my system, stored as a small JSON record per day:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"date"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2026-05-14"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"project"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"stackfolo"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mood"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"focused"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"summary"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Wired up the daily log AI summary. Refactor still pending."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"shipped"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"daily-log endpoint"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"telemetry guard"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"blocked_by"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"AI prompt eats too many tokens, need to chunk"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The format does not matter. The frequency does. When week three hits and you cannot remember why you cared, you can scroll back and read past-you explaining it. That is the rope that pulls you out.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Convert intention into a routine, not a goal
&lt;/h3&gt;

&lt;p&gt;"Ship the MVP" is not a habit. "Work on the side project for ten minutes after my morning coffee" is a habit. The first one is a wish. The second one shows up on a calendar.&lt;/p&gt;

&lt;p&gt;I added a single recurring routine block: ten minutes, every weekday, before the workday started. That is it. Ten minutes. The rule is to open the project, look at the daily log, pick the smallest next task, and either do it or write down exactly what is blocking it. Most days I run over and do thirty minutes. Some days I do the minimum and feel fine about it.&lt;/p&gt;

&lt;p&gt;This is the move that broke me out of the week-three pattern. The streak does the motivation. You do the showing up.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Make progress visible without effort
&lt;/h3&gt;

&lt;p&gt;Open your GitHub profile. The contribution graph is doing real work on your psychology, but only if you are actually committing. I keep a unified timeline of every commit across every account and every project on the same dashboard I use to plan. When the graph is green, the project breathes. When the graph goes flat for two days, I notice on day three, not week three.&lt;/p&gt;

&lt;p&gt;You do not need a tool to do this. A weekly cron that emails you your commit count is enough. The point is: instrument the thing before it goes wrong, not after.&lt;/p&gt;

&lt;h2&gt;
  
  
  What changed for me
&lt;/h2&gt;

&lt;p&gt;I did not finish every project. I am not going to pretend that. But the abandonment rate dropped from "almost everything" to "the ones that genuinely deserved to die." The signal got cleaner. When I quit a project now, I quit it on purpose, with a written reason, and I do not feel the same guilt I used to.&lt;/p&gt;

&lt;p&gt;Week three is still the test. But the test is now passable, because the system carries the part of you that would have forgotten.&lt;/p&gt;

&lt;p&gt;If you want a single browser-based starting point that ties the new tab dashboard, the daily log, and the routine streak together into one place, &lt;strong&gt;try &lt;a href="https://chromewebstore.google.com/detail/stackfolo/gakjkkjgbekgmdkijbgdpdmmhenjejpb?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=2026-05-w20-recovery&amp;amp;utm_content=blog-burnout" rel="noopener noreferrer"&gt;STACKFOLO&lt;/a&gt; free on the Chrome Web Store&lt;/strong&gt;. It is free for the first five projects, which is more than enough to test whether the new-tab-as-hub approach works for you.&lt;/p&gt;

&lt;p&gt;And if it does not? Build the four habits anyway. The habits are the thing. The tool is just the rope.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>sideprojects</category>
      <category>career</category>
    </item>
    <item>
      <title>Multi-Account GitHub Without Losing Your Mind: Personal, Work, and Client Repos in One Place</title>
      <dc:creator>STACKFOLO</dc:creator>
      <pubDate>Mon, 27 Apr 2026 15:03:15 +0000</pubDate>
      <link>https://dev.to/stackfolo/multi-account-github-without-losing-your-mind-personal-work-and-client-repos-in-one-place-1nah</link>
      <guid>https://dev.to/stackfolo/multi-account-github-without-losing-your-mind-personal-work-and-client-repos-in-one-place-1nah</guid>
      <description>&lt;h1&gt;
  
  
  Multi-Account GitHub Without Losing Your Mind: Personal, Work, and Client Repos in One Place
&lt;/h1&gt;

&lt;p&gt;I have three GitHub accounts.&lt;/p&gt;

&lt;p&gt;One personal, where my side projects live. One work, where my day job pushes commits. One client, opened last summer when a contract required me to commit from a separate identity for IP reasons.&lt;/p&gt;

&lt;p&gt;Every one of those accounts has activity that matters. Every one of them produces commits I want to see. And for a long time, my workflow for tracking what I was actually building looked like this: open three tabs to three github.com profiles, scroll, sigh, close them, forget what I was doing.&lt;/p&gt;

&lt;p&gt;If you have ever pushed to the wrong remote, opened a PR from the wrong account, or stared at a green commit graph wondering which account it belonged to, this is for you. Here is the system I landed on.&lt;/p&gt;

&lt;h2&gt;
  
  
  The three problems with multiple GitHub accounts
&lt;/h2&gt;

&lt;p&gt;Multi-account GitHub does not break in obvious ways. It breaks in slow, low-grade ways that drain attention.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. The auth problem.&lt;/strong&gt; SSH keys, PATs, credential helpers. Every CLI tool wants to know which identity it should use. The first time you push to a personal repo from your work machine and watch your work email show up in the commit log, you start to care about this.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. The visibility problem.&lt;/strong&gt; GitHub does not give you a unified view across accounts. You can star repos, follow people, but the activity graph, the contributions calendar, the recent push list, those are all per-account. If your work is split across three accounts, no single page on github.com shows you what you actually did this week.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. The context problem.&lt;/strong&gt; When you context-switch from a client repo to a side project to a work feature branch, the cognitive cost is not just remembering the codebase. It is remembering which account you are signed into, which terminal has which SSH agent, which directory has which &lt;code&gt;.gitconfig&lt;/code&gt; override.&lt;/p&gt;

&lt;p&gt;I solved each one separately, and then I solved the visibility problem properly with a tool I will mention at the end.&lt;/p&gt;

&lt;h2&gt;
  
  
  The auth problem: per-directory git config
&lt;/h2&gt;

&lt;p&gt;The classic fix, and still the best. SSH config aliases plus &lt;code&gt;includeIf&lt;/code&gt; in &lt;code&gt;~/.gitconfig&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;In &lt;code&gt;~/.ssh/config&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ssh"&gt;&lt;code&gt;&lt;span class="k"&gt;Host&lt;/span&gt; github.com-personal
  &lt;span class="k"&gt;HostName&lt;/span&gt; github.com
  &lt;span class="k"&gt;User&lt;/span&gt; git
  &lt;span class="k"&gt;IdentityFile&lt;/span&gt; ~/.ssh/id_ed25519_personal

&lt;span class="k"&gt;Host&lt;/span&gt; github.com-work
  &lt;span class="k"&gt;HostName&lt;/span&gt; github.com
  &lt;span class="k"&gt;User&lt;/span&gt; git
  &lt;span class="k"&gt;IdentityFile&lt;/span&gt; ~/.ssh/id_ed25519_work

&lt;span class="k"&gt;Host&lt;/span&gt; github.com-client
  &lt;span class="k"&gt;HostName&lt;/span&gt; github.com
  &lt;span class="k"&gt;User&lt;/span&gt; git
  &lt;span class="k"&gt;IdentityFile&lt;/span&gt; ~/.ssh/id_ed25519_client
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then clone with the alias instead of plain &lt;code&gt;git@github.com:&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone git@github.com-personal:myname/sideproject.git
git clone git@github.com-work:org/repo.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For the email and username, I use directory-scoped configs. In &lt;code&gt;~/.gitconfig&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ini"&gt;&lt;code&gt;&lt;span class="nn"&gt;[includeIf "gitdir:~/code/personal/"]&lt;/span&gt;
  &lt;span class="py"&gt;path&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;~/.gitconfig-personal&lt;/span&gt;

&lt;span class="nn"&gt;[includeIf "gitdir:~/code/work/"]&lt;/span&gt;
  &lt;span class="py"&gt;path&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;~/.gitconfig-work&lt;/span&gt;

&lt;span class="nn"&gt;[includeIf "gitdir:~/code/client/"]&lt;/span&gt;
  &lt;span class="py"&gt;path&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;~/.gitconfig-client&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each &lt;code&gt;.gitconfig-{role}&lt;/code&gt; file sets &lt;code&gt;user.name&lt;/code&gt;, &lt;code&gt;user.email&lt;/code&gt;, and &lt;code&gt;user.signingkey&lt;/code&gt;. The trailing slash on the path matters. So does the directory layout. Every repo lives under one of three top-level folders, no exceptions. If I clone something to my Desktop or &lt;code&gt;~/Downloads/tmp&lt;/code&gt;, it falls back to the default identity, which I set to my personal one with a flashing-red prompt to remind me to move it.&lt;/p&gt;

&lt;p&gt;This does not require any CLI wrapper or extension. It is just git, and once it is set up, it stays out of your way.&lt;/p&gt;

&lt;h2&gt;
  
  
  The visibility problem: stop opening three GitHub tabs
&lt;/h2&gt;

&lt;p&gt;For a year I just opened three tabs.&lt;/p&gt;

&lt;p&gt;github.com/personal-username, github.com/work-username, github.com/client-username. Click profile, scan recent activity, switch tab, repeat. If I wanted to see what I had pushed across all of them this week, I clicked through to each contributions calendar.&lt;/p&gt;

&lt;p&gt;What that workflow misses is that the question I actually have is rarely "what did personal-me do." It is "what did I do." The account boundary is an artifact of how GitHub bills and authenticates, not of how my brain organizes work.&lt;/p&gt;

&lt;p&gt;What I needed was a feed that pulled from all three accounts and showed me commits regardless of which identity made them. Plus enough metadata to recognize which side project, which client engagement, which work area each commit belonged to.&lt;/p&gt;

&lt;p&gt;I tried a few things before settling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A daily standup script.&lt;/strong&gt; A bash script that ran &lt;code&gt;gh api&lt;/code&gt; against three accounts and printed the last 24 hours of commits into a markdown file. Worked, but only ran when I remembered to run it, and the output was a wall of text I never actually read.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub's REST events feed.&lt;/strong&gt; You can pull &lt;code&gt;/users/{username}/events&lt;/code&gt; for each account and merge them. Powerful, but you are now writing a GitHub client, and I did not want to maintain that for myself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A self-hosted dashboard.&lt;/strong&gt; I started building one. Got 60% there. Got bored. The repo still exists. I have not pushed to it in seven months.&lt;/p&gt;

&lt;p&gt;The thing that finally stuck was tying the GitHub feed into the dashboard I already had open every time I opened a new browser tab.&lt;/p&gt;

&lt;h2&gt;
  
  
  The dashboard that already opens 40 times a day
&lt;/h2&gt;

&lt;p&gt;About six months ago I started using STACKFOLO, a Chrome extension that turns the new tab into a project hub. Disclosure: I now help with the project. The reason I started using it was a different problem (the bookmarks chaos I wrote about &lt;a href="https://dev.to/stackfolo/why-i-moved-my-bookmarks-out-of-chrome-into-a-structured-archive-boj"&gt;here&lt;/a&gt;), but it solved the GitHub visibility problem as a side effect, and that is the part I want to talk about.&lt;/p&gt;

&lt;p&gt;Each project in the dashboard can be linked to a GitHub repo. The extension supports multiple GitHub accounts via personal access tokens. So I added all three: personal, work, client. Each token only has read access to the repos it needs.&lt;/p&gt;

&lt;p&gt;Now the timeline view in the new tab shows commits from all three accounts in one stream, scoped per project. If I open a new tab in the morning, I see exactly what I pushed yesterday, across every account, sorted by project, not by which login made the commit.&lt;/p&gt;

&lt;p&gt;A few things this changed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;I stopped opening github.com tabs to check my own activity.&lt;/strong&gt; The new tab page already had it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;I started recognizing real patterns.&lt;/strong&gt; Which side project actually moves vs. which one I just say I am working on. The commit data does not lie.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-account debugging got faster.&lt;/strong&gt; When a side project's CI breaks because I forgot to commit a &lt;code&gt;.gitignore&lt;/code&gt; rule from the work repo template, I see both repos' recent commits next to each other instead of context-switching tabs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For private repos, you do need the extension's Pro plan because that requires a stored token with private scope. Public repos work on the free tier with a token that has public_repo only. I used the free tier for two months before upgrading.&lt;/p&gt;

&lt;p&gt;If you want to try it, the extension is on the &lt;a href="https://chromewebstore.google.com/detail/stackfolo/gakjkkjgbekgmdkijbgdpdmmhenjejpb?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=2026-04-w18-blog-restart&amp;amp;utm_content=blog22-cta-inline" rel="noopener noreferrer"&gt;Chrome Web Store&lt;/a&gt;. The multi-account GitHub setup is in the GitHub settings page after you install. You add tokens one per account and tag them with a label.&lt;/p&gt;

&lt;h2&gt;
  
  
  The context problem: directory-anchored mental models
&lt;/h2&gt;

&lt;p&gt;The last piece was harder because it was not about tools. It was about how I think about the work.&lt;/p&gt;

&lt;p&gt;Before, my mental model was account-shaped. "Today I am personal-me working on side projects." Then "now I am work-me working on the day job." Switching meant changing posture.&lt;/p&gt;

&lt;p&gt;After, my mental model is project-shaped. "Today I am working on Project A, Project B, and a small client task." Each one happens to live under a different account, but the account is a routing detail. The thing I am building is the project.&lt;/p&gt;

&lt;p&gt;That sounds obvious in retrospect. It was not obvious when I had three browser tabs open trying to figure out where last Tuesday's work went.&lt;/p&gt;

&lt;p&gt;Two practical habits that came out of this shift:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Name directories after projects, not accounts.&lt;/strong&gt; &lt;code&gt;~/code/personal/cli-tool/&lt;/code&gt;, not &lt;code&gt;~/code/personal/sideproj-cli&lt;/code&gt;. The "personal" in the path is the auth boundary. The project name is the work boundary. Keep them separate in your head and in your shell history.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Tag commits with project context, not account context.&lt;/strong&gt; When I write a commit message, I never write "personal commit" or "work commit." I write what changed. The account is metadata, not narrative.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The system, summarized
&lt;/h2&gt;

&lt;p&gt;If you are setting this up from scratch:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Per-directory &lt;code&gt;.gitconfig&lt;/code&gt; with &lt;code&gt;includeIf&lt;/code&gt; rules. One identity per top-level folder.&lt;/li&gt;
&lt;li&gt;SSH config aliases per account. Clone with the alias, never with plain &lt;code&gt;git@github.com:&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;A unified view of commits across accounts. Whether you build a script, use a dashboard, or roll your own, the goal is one place to see what you actually did, regardless of which login produced it.&lt;/li&gt;
&lt;li&gt;Project-shaped, not account-shaped, mental model. The account is auth plumbing. The project is the work.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Three accounts is not a problem to solve once. It is a workflow to maintain. The goal is to make the maintenance cheap enough that you stop noticing.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Want to try the new-tab approach?&lt;/strong&gt; STACKFOLO turns Chrome's new tab into a project hub with multi-account GitHub support, project timelines, and per-project task tracking. &lt;a href="https://chromewebstore.google.com/detail/stackfolo/gakjkkjgbekgmdkijbgdpdmmhenjejpb?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=2026-04-w18-blog-restart&amp;amp;utm_content=blog22-cta-bottom" rel="noopener noreferrer"&gt;Free on Chrome Web Store →&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>github</category>
      <category>developertools</category>
      <category>sideprojects</category>
    </item>
    <item>
      <title>The Subscription Audit That Saved Me $480 a Year</title>
      <dc:creator>STACKFOLO</dc:creator>
      <pubDate>Mon, 20 Apr 2026 15:02:51 +0000</pubDate>
      <link>https://dev.to/stackfolo/the-subscription-audit-that-saved-me-480-a-year-1p6o</link>
      <guid>https://dev.to/stackfolo/the-subscription-audit-that-saved-me-480-a-year-1p6o</guid>
      <description>&lt;h1&gt;
  
  
  The Subscription Audit That Saved Me $480 a Year
&lt;/h1&gt;

&lt;p&gt;A few months back I was paying for a headless CMS I had not opened in seven months. $19 a month. I noticed by accident, mid-coffee, scrolling through a credit card statement looking for something else entirely.&lt;/p&gt;

&lt;p&gt;Then I kept scrolling.&lt;/p&gt;

&lt;p&gt;By the end of the statement I had circled five charges for tools I either forgot about, replaced, or had paid annual upfront for and been re-billed monthly because I fat-fingered a setting somewhere. Total recurring bleed: about $40 a month. That is $480 a year, or roughly one decent mechanical keyboard I was handing to SaaS companies in exchange for dashboards I never logged into.&lt;/p&gt;

&lt;p&gt;This post is the audit I ran that week, the five-minute cancel sweep that followed, and the system I set up so it would never creep back. If you build side projects, you are almost certainly carrying at least one of these ghost subscriptions. Often more.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Developer Subscriptions Quietly Multiply
&lt;/h2&gt;

&lt;p&gt;It is not that we are careless. It is that the cost per decision is tiny, the decisions are spread across months, and nothing ever reminds us to re-evaluate.&lt;/p&gt;

&lt;p&gt;Here is how the stack grows for a typical side-project developer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You start Project A. You need a database. Supabase free tier is enough, but you upgrade to Pro because it has a feature you want. $25 a month.&lt;/li&gt;
&lt;li&gt;Three months in, Project A stalls. You do not shut down Supabase because you might return to it.&lt;/li&gt;
&lt;li&gt;You start Project B. Different stack, different database. Neon this time. $19 a month.&lt;/li&gt;
&lt;li&gt;You sign up for a landing-page builder to test an idea. $15 a month on a monthly plan because you were not sure.&lt;/li&gt;
&lt;li&gt;You replace your editor with a paid AI plan. $20 a month.&lt;/li&gt;
&lt;li&gt;Free GitHub Copilot trial becomes $10 a month.&lt;/li&gt;
&lt;li&gt;Domain renewals, email forwarding, a Figma seat from that one time you redesigned something.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each decision at the time was rational. The problem is that the decisions never get revisited together. And when you pay by credit card, the cognitive distance between "I am using this" and "I am paying for this" is enormous.&lt;/p&gt;

&lt;p&gt;The audit fixes that distance for one afternoon. The system that follows keeps the distance small permanently.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Audit: Pull Six Months, Categorize, Decide
&lt;/h2&gt;

&lt;p&gt;I set aside ninety minutes. It took forty.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step one.&lt;/strong&gt; Export the last six months of credit card and PayPal statements. One CSV per card. Filter anything that repeats with the same merchant and similar amount. That is your recurring list. Do not trust memory. Memory lies about which tools you actually use.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step two.&lt;/strong&gt; Put every recurring charge into one table. Columns I used:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Name of tool&lt;/li&gt;
&lt;li&gt;Category: Dev infra, AI, Design, Hosting, Writing, Analytics, Email, Domain, Other&lt;/li&gt;
&lt;li&gt;Monthly cost (convert annual to monthly for fair comparison)&lt;/li&gt;
&lt;li&gt;Which project it supports (Personal, Project A, Project B, Client work)&lt;/li&gt;
&lt;li&gt;Last time I actually used it this month: Daily / Weekly / Monthly / Zero&lt;/li&gt;
&lt;li&gt;Decision: Keep / Downgrade / Cancel / Move to annual&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step three.&lt;/strong&gt; Be honest about that fifth column. "I might use it" is not a tier. If you have not logged in this month, it is Zero usage. Your past self was optimistic. Your present self is paying for the optimism.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step four.&lt;/strong&gt; Act immediately. Close the laptop only after every Cancel row has a confirmation email. If you postpone, a week turns into three months and you pay another $120 for the privilege of still meaning to cancel.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Actually Got Cut
&lt;/h2&gt;

&lt;p&gt;My table had 14 rows. Here is the honest breakdown I walked out with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Keep as-is (5 rows).&lt;/strong&gt; Tools I used at least weekly with clear project value. Domain registrar, GitHub Pro, the AI plan I actually lean on, one hosting bill, one observability tool.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Downgrade (2 rows).&lt;/strong&gt; A design tool I was on the team plan for, downgraded to the solo plan. A monitoring tool bumped from Pro to the free tier because I was only using one feature of Pro.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Move to annual (2 rows).&lt;/strong&gt; Two tools where the annual discount was 20% or more and I was certain I would use them for a full year. Instantly cheaper without losing anything.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cancel outright (5 rows).&lt;/strong&gt; The forgotten CMS. A second database on a stalled project. A landing-page builder I had already replaced with plain Astro. A writing tool I used once. A social-scheduling trial that never got cancelled.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Delta: about $40 a month. Closer to $48 after the annual conversions paid off. Roughly $480 a year from a single afternoon.&lt;/p&gt;

&lt;p&gt;What surprised me was not the savings. It was how many of those cancelled tools I did not miss even once in the following month. Not one "wait, I needed that" moment.&lt;/p&gt;

&lt;h2&gt;
  
  
  The System That Keeps It From Creeping Back
&lt;/h2&gt;

&lt;p&gt;Audits only work if they happen again. My first mistake after the initial sweep was thinking "done, I am clean now." Four months later I had added three new subscriptions and forgotten to cancel two free trials that had converted.&lt;/p&gt;

&lt;p&gt;The fix was to move subscription tracking out of my credit card statement and into the same place I manage the projects that justify the subscriptions.&lt;/p&gt;

&lt;p&gt;I list every recurring charge next to the project it supports. Monthly cost, annual cost, billing cycle, the next renewal date, and whether the subscription is personal or tied to a specific project. When a project goes inactive, its attached subscriptions go on the chopping block the same week, not six months later when I trip over the charge.&lt;/p&gt;

&lt;p&gt;Two rules that keep the list clean:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;No trial without a renewal reminder.&lt;/strong&gt; Every free trial gets a calendar entry dated two days before the auto-convert, with the cancellation URL pasted into the note.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quarterly review, 20 minutes.&lt;/strong&gt; Open the full list, sort by last-used, and run the same Keep / Downgrade / Cancel / Move-to-annual cuts. It is never forty minutes after the first time. It is usually under fifteen.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Bonus rule for multi-currency users: note the currency. If you pay for half your tools in USD and live on KRW or EUR, the exchange rate swings your real monthly cost more than you think. I track the billing currency separately and let the dashboard do the conversion so the monthly total I see is always in my home currency.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where STACKFOLO Fits
&lt;/h2&gt;

&lt;p&gt;I built the subscription tracker inside STACKFOLO because I was already living in a new-tab dashboard that knew about my projects. Instead of keeping a separate spreadsheet, I list subscriptions next to the project they belong to, tag them by category (AI, Dev, Media, Tools, Other), and get a monthly total that auto-converts across currencies.&lt;/p&gt;

&lt;p&gt;The "Upcoming payments" strip at the top of the subscription view is the quiet hero. It shows renewals inside the next seven days with a D-day badge, which catches the trial-to-paid conversions I used to miss. Private Mode hides the amounts when I am screen-sharing, which is a small thing that stopped me from rage-closing the tab during pair-programming.&lt;/p&gt;

&lt;p&gt;It is a 30-second habit, not a project. If you want to try the tracker yourself, STACKFOLO is free on the &lt;a href="https://chromewebstore.google.com/detail/stackfolo/gakjkkjgbekgmdkijbgdpdmmhenjejpb?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=2026-04-w17-blog-restart&amp;amp;utm_content=blog21-cta-inline" rel="noopener noreferrer"&gt;Chrome Web Store&lt;/a&gt;, and the subscription view is on the free tier.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Part That Actually Shifted My Habits
&lt;/h2&gt;

&lt;p&gt;The savings were real, but the bigger change was smaller and weirder. Once I could see every subscription attached to a project, I stopped signing up for tools the same way.&lt;/p&gt;

&lt;p&gt;Before, a new SaaS trial felt free. Today I started it. It is just $15 a month. Future me would deal with whether it earned its keep.&lt;/p&gt;

&lt;p&gt;Now, a new trial shows up on the same screen where I see the ten other tools I am already paying for. The question changes from "is this worth $15 a month" to "is this worth $15 a month on top of the $180 a month I already have running." The second question has a much higher bar.&lt;/p&gt;

&lt;p&gt;Most trials do not clear it. The ones that do, I actually use.&lt;/p&gt;

&lt;h2&gt;
  
  
  If You Only Do One Thing
&lt;/h2&gt;

&lt;p&gt;Export six months of statements this week. Build the table. Spend forty minutes. Send the cancellation emails before you close the laptop.&lt;/p&gt;

&lt;p&gt;The rest of the system is optional. The audit is not.&lt;/p&gt;

&lt;p&gt;Try STACKFOLO free on the &lt;a href="https://chromewebstore.google.com/detail/stackfolo/gakjkkjgbekgmdkijbgdpdmmhenjejpb?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=2026-04-w17-blog-restart&amp;amp;utm_content=blog21-cta-bottom" rel="noopener noreferrer"&gt;Chrome Web Store&lt;/a&gt; if you want your subscriptions to live next to the projects that justify them.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>saas</category>
      <category>developertools</category>
      <category>finance</category>
    </item>
    <item>
      <title>Why I Moved My Bookmarks Out of Chrome Into a Structured Archive</title>
      <dc:creator>STACKFOLO</dc:creator>
      <pubDate>Sat, 18 Apr 2026 23:05:09 +0000</pubDate>
      <link>https://dev.to/stackfolo/why-i-moved-my-bookmarks-out-of-chrome-into-a-structured-archive-boj</link>
      <guid>https://dev.to/stackfolo/why-i-moved-my-bookmarks-out-of-chrome-into-a-structured-archive-boj</guid>
      <description>&lt;h1&gt;
  
  
  Why I Moved My Bookmarks Out of Chrome Into a Structured Archive
&lt;/h1&gt;

&lt;p&gt;At some point last year I hit a wall with Chrome bookmarks. I had 312 of them. Seven folders deep in some cases. Every time I wanted to find that one article about SQLite WAL mode, I opened the bookmark manager, stared at a tree of folders, and eventually gave up and re-Googled the article.&lt;/p&gt;

&lt;p&gt;The bookmarks were not the problem. The structure was. Or rather, the lack of it.&lt;/p&gt;

&lt;p&gt;Here is what I eventually moved to, and why Chrome bookmarks quietly stop working once you treat them as a real knowledge base.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Chrome Bookmarks Fall Apart
&lt;/h2&gt;

&lt;p&gt;Chrome bookmarks are built for one thing: "I want to come back to this tomorrow." For that narrow job, they are fine. But as a developer, your saved links are not a to-read list. They are research, reference, inspiration, code snippets, tutorials you half-finished, and tools you might need someday.&lt;/p&gt;

&lt;p&gt;Once the pile grows, a few things break.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Folders are a one-dimensional classification.&lt;/strong&gt; A tutorial about React Server Components goes into &lt;code&gt;Frontend&lt;/code&gt; or &lt;code&gt;React&lt;/code&gt; or &lt;code&gt;Tutorials&lt;/code&gt;. Only one. When you search for it later, you have to guess which folder your past self picked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;There are no tags.&lt;/strong&gt; A single article can be "React", "performance", and "tutorial" at the same time. Folders force you to pick one. Tags would let all three coexist.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Search is shallow.&lt;/strong&gt; Chrome's bookmark search looks at the title and URL. Not the description, not the content of the page, not anything you wrote about it. If the title is vague, the bookmark is effectively lost.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No notes.&lt;/strong&gt; When you save a link, there is no field for "this is useful for the auth refactor" or "check section 3 for the WAL explanation." Future-you opens the link and starts reading from scratch.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No ratings.&lt;/strong&gt; Among 300 saved articles, some are must-reads and some are "eh, maybe." Chrome treats them identically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No project context.&lt;/strong&gt; An article I saved while working on a side project has nothing connecting it to that project. Six months later I cannot remember why I saved it.&lt;/p&gt;

&lt;p&gt;None of this is a Chrome team failure. It is just that Chrome bookmarks are built for casual saving, not for developers who are effectively building a personal knowledge base.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Tried Before Giving Up
&lt;/h2&gt;

&lt;p&gt;I did not jump straight to a new tool. I tried fixing the workflow first.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nested folders.&lt;/strong&gt; I made a deep folder taxonomy: &lt;code&gt;Dev &amp;gt; Frontend &amp;gt; React &amp;gt; Hooks &amp;gt; useEffect&lt;/code&gt;. This worked for about two weeks. Then I started saving to the wrong folders, or creating new ones because the existing ones did not fit, and the tree became its own mess.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A markdown file of links.&lt;/strong&gt; Clean, searchable, version-controlled. But saving required me to stop what I was doing, switch to my editor, write a line, commit. I did not keep it up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Raindrop.io, Pocket, Readwise Reader.&lt;/strong&gt; Each is a good tool. But I had two specific problems none of them solved well: I wanted bookmarks connected to my projects, and I wanted saving to be friction-free, one keyboard shortcut and done, without a separate app.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tabs as bookmarks.&lt;/strong&gt; You know this one. Ninety open tabs that you will "get to later." It is not a bookmark system. It is a slow memory leak.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Actually Wanted
&lt;/h2&gt;

&lt;p&gt;After a year of friction, I wrote down what a real developer bookmark system needed to do.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Save in under 2 seconds.&lt;/strong&gt; A keyboard shortcut. No modal, no required fields. If I have to stop and categorize, I will not save.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multiple tags per link.&lt;/strong&gt; Not folders. Tags. So one article can be React and performance and tutorial without duplication.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Categories for intent.&lt;/strong&gt; Reference, idea, tutorial, tool, inspiration, research. How I plan to use the link, not just what topic it is.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Project context.&lt;/strong&gt; Which side project is this for? Or is it personal learning?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ratings.&lt;/strong&gt; A 5-star scale so I can filter "only the great stuff" later.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Notes.&lt;/strong&gt; A one-liner at minimum. "This explains the CSS grid hack I need for the dashboard."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Search that actually works.&lt;/strong&gt; Across title, description, tags, notes. Not just the title.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That list was not going to happen inside Chrome.&lt;/p&gt;

&lt;h2&gt;
  
  
  The System I Ended Up With
&lt;/h2&gt;

&lt;p&gt;I now use a structured archive built into my new tab page. Every link I save has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A title and URL, obviously&lt;/li&gt;
&lt;li&gt;A category (reference, idea, tutorial, library, design, research, inspiration, prompt)&lt;/li&gt;
&lt;li&gt;Tags, as many as I want&lt;/li&gt;
&lt;li&gt;A rating (1-5 stars)&lt;/li&gt;
&lt;li&gt;A note, if I want to leave one&lt;/li&gt;
&lt;li&gt;A project, if the link is tied to something I am building&lt;/li&gt;
&lt;li&gt;A thumbnail and favicon, auto-fetched&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The save flow is one shortcut. I hit &lt;code&gt;Alt+Shift+F&lt;/code&gt;, the current page gets saved, and I move on.&lt;/p&gt;

&lt;p&gt;The part that actually shifted my habits was AI auto-tagging. I have a second shortcut, &lt;code&gt;Alt+Shift+S&lt;/code&gt;, that does the same save but sends the page to an LLM first. It comes back with a suggested category, tags, and a short description of what the page is about. I can accept or edit in one click. This turned saving from "a tiny task I put off" into "a reflex." My archive grew by 80 entries in the first two weeks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Structure Changes How You Use Your Bookmarks
&lt;/h2&gt;

&lt;p&gt;This is the part I did not predict. Once the archive was structured, I stopped treating it like a graveyard for links and started treating it like a reference library.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I filter by category.&lt;/strong&gt; When I am planning a side project, I open the archive filtered to &lt;code&gt;tutorial + react&lt;/code&gt; and see only the tutorials I thought were worth saving. No more scrolling past SaaS landing pages I bookmarked six months ago.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I filter by project.&lt;/strong&gt; When I context-switch back to a side project after two weeks away, I open the archive with that project selected and see every resource I gathered for it. Research, references, design inspiration, all in one view. Most of my "where did I save that?" pain went away.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I filter by rating.&lt;/strong&gt; Five-star articles are my personal canon. When a friend asks "any good resources on X?" I can pull the 5-star ones in seconds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Old links auto-archive.&lt;/strong&gt; If I have not opened a link in 30 days, it moves to an archived state. Still searchable, but out of my main view. This alone solved the clutter problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Stopped Doing
&lt;/h2&gt;

&lt;p&gt;Some habits died on their own.&lt;/p&gt;

&lt;p&gt;I stopped emailing myself links. I stopped using the Pinboard tab. I stopped leaving 40 tabs open "for later." I stopped the "I'll just Google it again" instinct, because search across my archive is faster than re-finding a specific article through a search engine.&lt;/p&gt;

&lt;p&gt;I also stopped feeling guilty about a big backlog. The structured view made it clear that most of the pile was categorized reference material, not a reading list I was behind on.&lt;/p&gt;

&lt;h2&gt;
  
  
  If You Just Want the Takeaway
&lt;/h2&gt;

&lt;p&gt;Chrome bookmarks are fine until the pile gets big. Then they become a tax on your attention. A structured archive with tags, ratings, notes, project context, and search-across-everything fixes the scaling problem. AI auto-tagging removes the friction that kills most personal knowledge systems.&lt;/p&gt;

&lt;p&gt;I use &lt;a href="https://chromewebstore.google.com/detail/stackfolo/gakjkkjgbekgmdkijbgdpdmmhenjejpb?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=2026-04-w17-blog-restart&amp;amp;utm_content=blog19-cta-inline" rel="noopener noreferrer"&gt;STACKFOLO&lt;/a&gt; for this because the archive lives in my new tab alongside my projects and tasks, so my research is always one tab-open away. But the principle is tool-agnostic. Whatever you use, the important part is moving from "a tree of folders" to "structured entries with tags, ratings, and notes."&lt;/p&gt;

&lt;p&gt;Your bookmarks are trying to be a knowledge base. Let them.&lt;/p&gt;




&lt;p&gt;Try STACKFOLO free on Chrome Web Store → &lt;a href="https://chromewebstore.google.com/detail/stackfolo/gakjkkjgbekgmdkijbgdpdmmhenjejpb?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=2026-04-w17-blog-restart&amp;amp;utm_content=blog19-cta-bottom" rel="noopener noreferrer"&gt;https://chromewebstore.google.com/detail/stackfolo/gakjkkjgbekgmdkijbgdpdmmhenjejpb&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>bookmarks</category>
      <category>developertools</category>
      <category>learning</category>
    </item>
    <item>
      <title>How I Track GitHub Commits Across All My Side Projects in One Place</title>
      <dc:creator>STACKFOLO</dc:creator>
      <pubDate>Mon, 13 Apr 2026 11:08:51 +0000</pubDate>
      <link>https://dev.to/stackfolo/how-i-track-github-commits-across-all-my-side-projects-in-one-place-5a89</link>
      <guid>https://dev.to/stackfolo/how-i-track-github-commits-across-all-my-side-projects-in-one-place-5a89</guid>
      <description>&lt;h1&gt;
  
  
  How I Track GitHub Commits Across All My Side Projects in One Place
&lt;/h1&gt;

&lt;p&gt;At one point last year, I had five active GitHub repositories. Two personal side projects, one open source contribution, a freelance client project, and an experimental thing I started on a weekend. Each had its own commit history, its own pace, and its own "when did I last touch this?" question that I could never answer without opening GitHub.&lt;/p&gt;

&lt;p&gt;I found myself doing this multiple times a day: open GitHub, click into a repo, check the commit log, try to remember if that last commit was yesterday or three days ago. Then repeat for the next repo. It was a small friction, but small frictions compound.&lt;/p&gt;

&lt;p&gt;Here is the system I built to see all my commits in one timeline without leaving my browser.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem with Repo-Hopping
&lt;/h2&gt;

&lt;p&gt;GitHub is excellent for individual repositories. The commit log, the PR history, the contribution graph. All great when you are focused on one project.&lt;/p&gt;

&lt;p&gt;But when you are juggling multiple side projects, GitHub's repo-centric design works against you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No cross-repo timeline.&lt;/strong&gt; You cannot see "what did I do across all projects today?" without visiting each repo separately.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context switching cost.&lt;/strong&gt; Every repo hop breaks your train of thought. You went to check one commit message and now you are reading an old issue.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Progress blindness.&lt;/strong&gt; Without a unified view, it is easy to think you are making progress everywhere when you are actually only pushing to one repo and neglecting the others.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multiple accounts.&lt;/strong&gt; If you have a personal GitHub and a work GitHub (or a client's org), the fragmentation doubles.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I Tried First
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub's contribution graph.&lt;/strong&gt; The green squares are motivating but useless for cross-project awareness. They show activity, not what you actually did or where.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub notifications.&lt;/strong&gt; These tell you about other people's activity, not yours. And the signal-to-noise ratio is rough.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A text file log.&lt;/strong&gt; I tried keeping a manual log of daily commits. This lasted exactly four days before I forgot to update it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Third-party dashboard tools.&lt;/strong&gt; Most of these are designed for teams and managers, not solo developers tracking their own side projects. Overkill for what I needed.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Unified Timeline Approach
&lt;/h2&gt;

&lt;p&gt;What I actually wanted was simple: open one page and see a chronological list of my commits across all repos, mixed in with other project activity. No setup every morning. No manual logging. Just a timeline that updates itself.&lt;/p&gt;

&lt;p&gt;The key insight was that this should live where I already spend time. Not in a separate app I would forget to open, but in my browser, visible every time I open a new tab.&lt;/p&gt;

&lt;p&gt;I set this up using &lt;a href="https://chromewebstore.google.com/detail/stackfolo/gakjkkjgbekgmdkijbgdpdmmhenjejpb?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=2026-04-w16-reddit-or-bust&amp;amp;utm_content=blog18-cta-inline" rel="noopener noreferrer"&gt;STACKFOLO&lt;/a&gt;, which connects to GitHub via personal access tokens and pulls commit history into a unified timeline. But the concept works with any system that aggregates commit data. Here is why the approach matters more than the specific tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a Unified Commit Timeline Shows You
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Where Your Time Actually Goes
&lt;/h3&gt;

&lt;p&gt;When I first set up my cross-repo timeline, I had a surprise. I thought I was splitting time roughly equally between my two main side projects. The timeline showed I had made 23 commits to Project A in the past two weeks and 2 commits to Project B. Project B was not "on pause." It was abandoned, and I had not noticed.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Momentum Gaps
&lt;/h3&gt;

&lt;p&gt;A timeline makes gaps visible. If your last commit to a repo was 9 days ago, you see it immediately. Without a unified view, these gaps hide behind your other activity. You feel productive because you pushed code today, but you pushed to the same repo you always push to.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Context Recovery
&lt;/h3&gt;

&lt;p&gt;When you come back to a project after a break, the first question is "where did I leave off?" A commit timeline answers this in seconds. Your last three commit messages tell you what you were working on, and you can jump back in without re-reading your code.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Cross-Project Patterns
&lt;/h3&gt;

&lt;p&gt;After a few weeks of data, I noticed patterns:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I only pushed to my open source project on weekends&lt;/li&gt;
&lt;li&gt;My freelance commits clustered on Tuesday and Thursday evenings&lt;/li&gt;
&lt;li&gt;My personal projects got attention in bursts (5 commits in one day, then silence for a week)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This was not intentional. Once I saw the pattern, I could decide whether to keep it or change it. I moved my open source contribution to Wednesday mornings, which turned out to be a better fit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting Up Multi-Account Tracking
&lt;/h2&gt;

&lt;p&gt;One thing that surprised me: most developers I talk to have more than one GitHub account. Personal, work, sometimes a client org account. Tracking commits across accounts is harder than tracking across repos within one account.&lt;/p&gt;

&lt;p&gt;The approach I use:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Generate a personal access token&lt;/strong&gt; for each GitHub account (read-only scope is enough)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Link each token&lt;/strong&gt; to the projects that use that account&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The timeline merges everything&lt;/strong&gt; chronologically, regardless of which account made the commit&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This means my personal side project commits, my work repo commits, and my freelance client commits all appear in one stream. I can filter by project when I need to focus, or see everything when I want the big picture.&lt;/p&gt;

&lt;h2&gt;
  
  
  Beyond Commits: The Full Project Timeline
&lt;/h2&gt;

&lt;p&gt;Commits are the backbone, but a useful project timeline includes more:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Task completions.&lt;/strong&gt; When you check off a to-do, it shows in the timeline alongside your commits.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resource saves.&lt;/strong&gt; When you bookmark a Stack Overflow answer or save a documentation page for a project, it appears in context.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Service events.&lt;/strong&gt; Subscription renewals, deployment triggers, and domain renewals tied to specific projects.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Manual notes.&lt;/strong&gt; Sometimes you need to log "decided to pivot from REST to GraphQL" and have it appear in the timeline.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This turns the timeline from a commit log into a project diary. When you look back at a project three months later, you see the full story, not just the code changes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practical Tips for Any Setup
&lt;/h2&gt;

&lt;p&gt;Whether you use a dedicated tool or build your own, here is what I have learned:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Cache aggressively.&lt;/strong&gt; GitHub API has rate limits. A 5-minute cache for commit data is enough for personal use and keeps things fast.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Show repo names clearly.&lt;/strong&gt; When commits from 5 repos are interleaved, you need to immediately see which project each commit belongs to.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Make it visible.&lt;/strong&gt; The timeline only works if you see it regularly. A browser new tab page, a pinned tab, or a widget on your desktop. Somewhere you cannot avoid.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Filter by project when you are focused.&lt;/strong&gt; The unified view is for awareness. When you sit down to code on Project A, filter to just that project so you can pick up where you left off.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Do not over-engineer it.&lt;/strong&gt; The point is awareness, not analytics. You do not need charts and graphs. A simple chronological list with dates, repo names, and commit messages is enough.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Result
&lt;/h2&gt;

&lt;p&gt;After three months with a unified commit timeline, I shipped two side projects that had been stalled for months. Not because the timeline gave me more time, but because it made my neglect visible. When you see "last commit: 12 days ago" every time you open a browser tab, it is hard to pretend you are still working on something.&lt;/p&gt;

&lt;p&gt;The developers who finish side projects are not the ones with perfect plans. They are the ones who can see where all their projects stand at a glance.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Want a unified GitHub timeline in your browser's new tab? &lt;a href="https://chromewebstore.google.com/detail/stackfolo/gakjkkjgbekgmdkijbgdpdmmhenjejpb?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=2026-04-w16-reddit-or-bust&amp;amp;utm_content=blog18-cta-bottom" rel="noopener noreferrer"&gt;Try STACKFOLO on the Chrome Web Store&lt;/a&gt;. It is free to start, and GitHub integration works with public repos on the free tier.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>sideprojects</category>
      <category>productivity</category>
      <category>developertools</category>
    </item>
    <item>
      <title>How a Daily Dev Log Helped Me Actually Ship My Side Projects</title>
      <dc:creator>STACKFOLO</dc:creator>
      <pubDate>Mon, 13 Apr 2026 11:05:18 +0000</pubDate>
      <link>https://dev.to/stackfolo/how-a-daily-dev-log-helped-me-actually-ship-my-side-projects-41j9</link>
      <guid>https://dev.to/stackfolo/how-a-daily-dev-log-helped-me-actually-ship-my-side-projects-41j9</guid>
      <description>&lt;h1&gt;
  
  
  How a Daily Dev Log Helped Me Actually Ship My Side Projects
&lt;/h1&gt;

&lt;p&gt;I used to start side projects with excitement and abandon them within three weeks. Not because I lost interest, but because I lost track. I could not remember what I did yesterday, what I should do next, or whether I was making real progress or just staying busy.&lt;/p&gt;

&lt;p&gt;The fix was embarrassingly simple: I started keeping a daily dev log. Not a fancy journaling app, not a 500-word diary entry, just a 2-minute check-in at the end of each coding session. Six months later, I have shipped two side projects and maintained a third. Here is the system.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Side Projects Die in Silence
&lt;/h2&gt;

&lt;p&gt;Most side projects do not fail because of bad ideas or missing skills. They fail because there is no feedback loop.&lt;/p&gt;

&lt;p&gt;At your day job, you have standups, sprint reviews, PRs that get comments. Someone notices when you ship something. Someone notices when you are stuck.&lt;/p&gt;

&lt;p&gt;Solo side projects have none of that. You code for an hour, close your laptop, and the next time you open it you have lost all context. Multiply that by a few days and the project feels like a stranger's codebase.&lt;/p&gt;

&lt;p&gt;The daily dev log replaces the feedback loop that a team normally provides. It is your personal standup, retro, and progress report rolled into one.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 2-Minute Dev Log Format
&lt;/h2&gt;

&lt;p&gt;My daily log takes less than 2 minutes and captures four things:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Focus Time (How Long Did I Actually Code?)
&lt;/h3&gt;

&lt;p&gt;Not "time at desk" but actual focused coding time. I track this in hours, and I am honest about it. If I spent 90 minutes with my editor open but only 40 minutes writing code, I log 40 minutes.&lt;/p&gt;

&lt;p&gt;This number alone changed my perspective. I thought I was "coding every day" but my log showed I averaged 25 minutes on weekdays and 45 minutes on weekends. Knowing the real number helped me set realistic expectations.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Mood Check (How Did the Session Feel?)
&lt;/h3&gt;

&lt;p&gt;I pick one of five options: great, good, okay, rough, or terrible. Simple as that.&lt;/p&gt;

&lt;p&gt;This sounds unnecessary until you spot patterns. I noticed that my "rough" sessions clustered on Mondays and Wednesdays. Turns out those were the days I had late meetings at work, and I was trying to code while mentally exhausted. Moving my side project time to mornings on those days fixed the pattern.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Wasted Time (What Stole My Focus?)
&lt;/h3&gt;

&lt;p&gt;I log any time I spent on non-productive activities during my intended coding window. Scrolling Twitter, reading unrelated articles, rabbit-holing into configuration that did not matter.&lt;/p&gt;

&lt;p&gt;The point is not guilt. The point is data. When I saw "30min researching the perfect ESLint config" three days in a row, I realized I was procrastinating on the actual hard problem (auth flow implementation).&lt;/p&gt;

&lt;h3&gt;
  
  
  4. One-Line Summary (What Did I Actually Do?)
&lt;/h3&gt;

&lt;p&gt;One sentence. Not a paragraph, not a bullet list, one sentence.&lt;/p&gt;

&lt;p&gt;Examples from my actual log:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Added user signup form and validation"&lt;/li&gt;
&lt;li&gt;"Debugged OAuth callback, still broken"&lt;/li&gt;
&lt;li&gt;"Refactored database schema, no visible progress"&lt;/li&gt;
&lt;li&gt;"Stared at the Stripe docs for 40 minutes"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the most valuable part. When you open your project after a 3-day break, reading the last few one-liners brings you back to context in seconds.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Changes After 30 Days
&lt;/h2&gt;

&lt;p&gt;The daily log does not feel useful on day 1. It starts paying off around day 14, and by day 30 it becomes something you actually want to maintain.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Week 1-2: Awareness.&lt;/strong&gt; You realize how little focused time you actually spend on side projects. This is uncomfortable but necessary. You cannot optimize what you do not measure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Week 3-4: Pattern recognition.&lt;/strong&gt; You spot the days, times, and conditions where you do your best work. You also spot your procrastination triggers. Mine is "research" that never leads to a commit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Month 2+: Momentum proof.&lt;/strong&gt; When motivation dips (and it will), you scroll back through your log and see 30+ days of entries. The continuity itself becomes motivating. You have evidence that you are a person who works on side projects consistently, even if some days are only 20 minutes.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Weekly Review: Where Shipping Happens
&lt;/h2&gt;

&lt;p&gt;Once a week, I spend 10 minutes reviewing my daily logs. I ask three questions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;What did I ship this week?&lt;/strong&gt; Not "work on" but actually ship. A deployed feature, a merged PR, a published page.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What blocked me?&lt;/strong&gt; If the same blocker appears multiple days, it needs a different approach.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What should I focus on next week?&lt;/strong&gt; Based on what I learned, not what I planned months ago.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This weekly review is where vague progress turns into concrete shipping. Without it, the daily log is just a diary. With it, the daily log becomes a project management system.&lt;/p&gt;

&lt;h2&gt;
  
  
  Satisfaction Rating: The Metric That Matters
&lt;/h2&gt;

&lt;p&gt;I added one more thing to my log after the first month: a satisfaction rating from 1 to 5. Not "how productive was I" but "how satisfied am I with today's session."&lt;/p&gt;

&lt;p&gt;This distinction matters. A 20-minute session where you fix one critical bug can feel more satisfying than a 2-hour session of boilerplate setup. The satisfaction rating helps you optimize for meaningful work, not just clock hours.&lt;/p&gt;

&lt;p&gt;Over time, I noticed that my most satisfying sessions shared common traits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I started with a clear, single objective&lt;/li&gt;
&lt;li&gt;I avoided context switching mid-session&lt;/li&gt;
&lt;li&gt;I committed and pushed before closing my laptop&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sessions with low satisfaction usually involved starting without knowing what to do, or trying to make progress on three things at once.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tools for Daily Dev Logging
&lt;/h2&gt;

&lt;p&gt;You can start with anything. A text file, a spreadsheet, or even a physical notebook. The format matters less than the consistency.&lt;/p&gt;

&lt;p&gt;I tried several approaches:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Plain text file&lt;/strong&gt;: Works but easy to forget. No structure enforcement.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spreadsheet&lt;/strong&gt;: Good for tracking numbers but clunky on mobile.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Notion/Obsidian&lt;/strong&gt;: Powerful but too much friction for a 2-minute entry.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Eventually I built the daily log directly into &lt;a href="https://chromewebstore.google.com/detail/stackfolo/gakjkkjgbekgmdkijbgdpdmmhenjejpb?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=2026-04-w16-reddit-or-bust&amp;amp;utm_content=blog16-cta-inline" rel="noopener noreferrer"&gt;STACKFOLO&lt;/a&gt;, my project dashboard Chrome extension. It captures focus time, mood, wasted time, satisfaction, and a one-liner, and it generates an AI summary at the end of each day. The new tab page means I see my log every time I open a browser tab, which keeps the habit visible.&lt;/p&gt;

&lt;p&gt;But honestly, a spreadsheet works too. The system is what matters, not the tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;If you want to try this, here is the minimum viable daily dev log:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Pick a time.&lt;/strong&gt; Right after your coding session ends, not the next morning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Log four things.&lt;/strong&gt; Focus time (minutes), mood (1-5), wasted time (minutes), one-line summary.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Do not skip days.&lt;/strong&gt; Even if you did zero coding, log "0 min, did not code today." The streak of entries matters more than the content.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review weekly.&lt;/strong&gt; Every Sunday, read your last 7 entries. Ask: what did I ship? What blocked me? What is next?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Start tomorrow. It takes 2 minutes. In a month, you will have 30 data points about your coding habits that no productivity article can give you.&lt;/p&gt;

&lt;p&gt;The developers who ship side projects are not the ones with the most free time. They are the ones who know exactly where their time goes.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;If you want a daily log built into your browser's new tab, &lt;a href="https://chromewebstore.google.com/detail/stackfolo/gakjkkjgbekgmdkijbgdpdmmhenjejpb?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=2026-04-w16-reddit-or-bust&amp;amp;utm_content=blog16-cta-bottom" rel="noopener noreferrer"&gt;try STACKFOLO on the Chrome Web Store&lt;/a&gt;. It is free to start.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>sideprojects</category>
      <category>developerlife</category>
      <category>logging</category>
    </item>
    <item>
      <title>How I Use a Weekly Timetable to Balance My Dev Job and Side Projects</title>
      <dc:creator>STACKFOLO</dc:creator>
      <pubDate>Mon, 06 Apr 2026 09:04:11 +0000</pubDate>
      <link>https://dev.to/stackfolo/how-i-use-a-weekly-timetable-to-balance-my-dev-job-and-side-projects-43j3</link>
      <guid>https://dev.to/stackfolo/how-i-use-a-weekly-timetable-to-balance-my-dev-job-and-side-projects-43j3</guid>
      <description>&lt;h1&gt;
  
  
  How I Use a Weekly Timetable to Balance My Dev Job and Side Projects
&lt;/h1&gt;

&lt;p&gt;Last year I had a problem that I think most developers share: I wanted to work on side projects, but after 8 hours of coding at my day job, I never had the energy or structure to make it happen.&lt;/p&gt;

&lt;p&gt;I tried blocking "side project time" on my calendar. That lasted about a week. I tried waking up early. That lasted three days. I tried the "just do 30 minutes a day" advice, but without knowing which 30 minutes or what to work on, those sessions rarely materialized.&lt;/p&gt;

&lt;p&gt;What finally worked was building a visible weekly timetable. Not a to-do list, not a vague calendar block, but a 7-day grid that mapped specific routines to specific time slots. Here is the system, and why it works when other approaches did not.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem with "Find Time for Side Projects"
&lt;/h2&gt;

&lt;p&gt;The advice you usually hear is some version of "schedule it" or "make it a priority." This is technically correct and practically useless.&lt;/p&gt;

&lt;p&gt;Here is what actually happens when a developer tries to fit side projects into their week:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Monday evening&lt;/strong&gt;: "I'll code after dinner." You eat, check your phone, and suddenly it is 10pm.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tuesday evening&lt;/strong&gt;: "Tonight for real." You open your laptop, stare at the code for 5 minutes, cannot remember where you left off, close the laptop.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wednesday&lt;/strong&gt;: You skip entirely. No guilt yet.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Thursday&lt;/strong&gt;: You feel guilty. You open the project. Spend 20 minutes just getting back into context. Write 10 lines of code. Feel unsatisfied.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Friday&lt;/strong&gt;: "I'll catch up this weekend."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weekend&lt;/strong&gt;: You do a burst of 4 hours on Saturday, feel productive, then do nothing Sunday.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sound familiar? The pattern repeats because there is no structure holding it together. You are relying on motivation and willpower, which are both exhausted after a full day of knowledge work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why a Visual Timetable Works
&lt;/h2&gt;

&lt;p&gt;A timetable is different from a calendar or a to-do list in one important way: it maps routines to time slots across the entire week at a glance.&lt;/p&gt;

&lt;p&gt;When you look at a 7-day-by-24-hour grid, you can immediately see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Where your committed time is (work, sleep, commute)&lt;/li&gt;
&lt;li&gt;Where your available blocks actually are&lt;/li&gt;
&lt;li&gt;Whether your side project time is realistic or wishful thinking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This visibility is the key. Most developers overestimate their available time because they think in terms of "evenings and weekends" without subtracting meals, exercise, family time, and the recovery period after focused work.&lt;/p&gt;

&lt;p&gt;A timetable forces honesty. When you see that Tuesday evening has exactly one 90-minute block between dinner and sleep, you stop pretending you will "code for 3 hours" and start planning for what you can realistically do in 90 minutes.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Weekly Timetable System
&lt;/h2&gt;

&lt;p&gt;Here is the system I have been using for 6 months:&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Map Your Fixed Commitments
&lt;/h3&gt;

&lt;p&gt;Fill in the non-negotiables first:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Work hours (e.g., 9am-6pm weekdays)&lt;/li&gt;
&lt;li&gt;Sleep (e.g., 11pm-7am)&lt;/li&gt;
&lt;li&gt;Meals, commute, exercise&lt;/li&gt;
&lt;li&gt;Family or social commitments&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This usually eliminates 70-80% of your week immediately.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Identify Your Real Available Blocks
&lt;/h3&gt;

&lt;p&gt;Look at what is left. For most employed developers, it comes down to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Weekday mornings&lt;/strong&gt; (30-60 min before work, if you are a morning person)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weekday evenings&lt;/strong&gt; (1-2 hours after dinner, energy permitting)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weekend blocks&lt;/strong&gt; (2-4 hour chunks)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Be honest about energy levels. A 7pm Tuesday slot after a day of debugging production issues is not the same as a 9am Saturday slot with fresh coffee.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Assign Routines, Not Tasks
&lt;/h3&gt;

&lt;p&gt;This is the critical difference. Do not put "fix authentication bug" in your Tuesday 7pm slot. Instead, assign a routine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tuesday 7pm-8:30pm&lt;/strong&gt;: Side project coding&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Thursday 7pm-8pm&lt;/strong&gt;: Code review + planning for weekend session&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Saturday 9am-12pm&lt;/strong&gt;: Deep work on main side project&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sunday 10am-11am&lt;/strong&gt;: Weekly review + milestone check&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Routines repeat every week. Tasks change. When you assign a routine to a slot, you remove the daily decision of "should I work on my side project tonight?" The answer is already decided.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Start with 3-4 Slots Per Week
&lt;/h3&gt;

&lt;p&gt;The biggest mistake is scheduling side project time every single evening. You will burn out in two weeks.&lt;/p&gt;

&lt;p&gt;Start with 3-4 slots per week. That is 4-8 hours of focused side project time. More than enough to make real progress if the sessions are structured.&lt;/p&gt;

&lt;p&gt;Here is what a realistic developer timetable looks like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;         Mon    Tue    Wed    Thu    Fri    Sat       Sun
7:00am   --     --     Jog    --     --     --        --
9:00am   Work   Work   Work   Work   Work   PROJECT   --
12:00pm  Work   Work   Work   Work   Work   Lunch     --
2:00pm   Work   Work   Work   Work   Work   Free      --
6:00pm   Dinner Dinner Dinner Dinner Dinner Dinner    --
7:00pm   Free   CODE   Free   Plan   Free   Free      --
8:30pm   --     --     --     --     --     --        Review
10:00pm  Read   Read   Read   Read   Read   Read      Read
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Four side-project slots: Tuesday evening coding, Thursday evening planning, Saturday morning deep work, Sunday evening review. That is roughly 7 hours per week, enough to ship meaningful features on a monthly cadence.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Make the Timetable Visible
&lt;/h3&gt;

&lt;p&gt;A timetable that lives in a spreadsheet you never open is useless. The whole point is that you see your weekly rhythm at a glance.&lt;/p&gt;

&lt;p&gt;I keep mine in a place I see every day. Every time I open a new browser tab, there is my timetable. The visual cue is the difference between "oh right, it is Tuesday, that is my coding evening" and "I wonder what I should do tonight."&lt;/p&gt;

&lt;h2&gt;
  
  
  What Changed After 6 Months
&lt;/h2&gt;

&lt;p&gt;Before the timetable, I shipped maybe one side project feature per quarter. Random, inconsistent progress.&lt;/p&gt;

&lt;p&gt;After 6 months of the weekly timetable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Shipped 3 features&lt;/strong&gt; on my main side project&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reduced guilt&lt;/strong&gt; about not working on side projects (if it is not a scheduled slot, I am allowed to rest)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Better work-life separation&lt;/strong&gt; (side project time is defined, not infinite)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weekend sessions became 2-3x more productive&lt;/strong&gt; because Thursday evening planning meant I always knew what to work on Saturday morning&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The counter-intuitive part: having less scheduled time made me more productive. Constraints force focus. When you know you only have 90 minutes on Tuesday evening, you do not waste 20 minutes deciding what to work on. You open your plan from Thursday and start coding.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pitfalls to Avoid
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Do not fill every evening.&lt;/strong&gt; Recovery time is not wasted time. If you code all day at work and then code every evening, you will burn out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do not skip the planning slot.&lt;/strong&gt; The Thursday evening (or whenever you schedule it) planning session is not optional. Without it, your coding sessions become aimless and you lose the momentum advantage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do not treat weekends as unlimited.&lt;/strong&gt; Schedule a specific block (like Saturday 9am-12pm) and stop when it ends. "I'll just code all weekend" leads to skipping entire weekends.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do not beat yourself up for missing a slot.&lt;/strong&gt; You will miss sessions. Illness, social events, bad days. The timetable survives because it repeats every week. One missed Tuesday does not break the system.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started This Week
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Draw a 7-day grid (paper, spreadsheet, or a timetable tool)&lt;/li&gt;
&lt;li&gt;Fill in your fixed commitments first&lt;/li&gt;
&lt;li&gt;Pick 3-4 realistic slots for side project work&lt;/li&gt;
&lt;li&gt;Assign one slot specifically for planning/review&lt;/li&gt;
&lt;li&gt;Put the timetable somewhere you see it daily&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I built this system into &lt;a href="https://chromewebstore.google.com/detail/stackfolo/gakjkkjgbekgmdkijbgdpdmmhenjejpb?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=2026-04-w15-outreach&amp;amp;utm_content=devto-cta-bottom" rel="noopener noreferrer"&gt;STACKFOLO&lt;/a&gt;, which has a 7-day timetable grid where you drag routines into time slots and see your week at a glance on every new tab. But the approach works with any tool that lets you visualize a weekly schedule. The key is not the tool. It is the visibility.&lt;/p&gt;

&lt;p&gt;Stop trying to "find time" for side projects. Build a timetable that shows you where the time already is.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>sideprojects</category>
      <category>routines</category>
      <category>timemanagement</category>
    </item>
    <item>
      <title>I Had 400+ Bookmarks and Zero Organization. Here's What Fixed It.</title>
      <dc:creator>STACKFOLO</dc:creator>
      <pubDate>Mon, 30 Mar 2026 09:15:08 +0000</pubDate>
      <link>https://dev.to/stackfolo/i-had-400-bookmarks-and-zero-organization-heres-what-fixed-it-4h5h</link>
      <guid>https://dev.to/stackfolo/i-had-400-bookmarks-and-zero-organization-heres-what-fixed-it-4h5h</guid>
      <description>&lt;h1&gt;
  
  
  I Had 400+ Bookmarks and Zero Organization. Here's What Fixed It.
&lt;/h1&gt;

&lt;p&gt;Last month I counted my Chrome bookmarks. 437 items spread across 12 folders with names like "Useful," "Check Later," and my personal favorite, "Misc 2."&lt;/p&gt;

&lt;p&gt;I could not find anything when I actually needed it. That React hooks tutorial I bookmarked three weeks ago? Buried somewhere between a CSS grid cheatsheet and a random Medium article about Kubernetes. The Stack Overflow answer that solved my auth bug? No idea which folder it ended up in.&lt;/p&gt;

&lt;p&gt;Sound familiar? If you are a developer who saves web resources "for later," you probably have the same problem. The bookmark bar was never designed for knowledge management. It was designed for quick links to Gmail.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Real Problem: Saving Is Easy, Organizing Is Not
&lt;/h2&gt;

&lt;p&gt;Here is what typically happens. You find a useful article, tutorial, or documentation page. You hit Ctrl+D or click the star icon. Chrome asks you to pick a folder. You pick the closest match or just leave it in "Other Bookmarks."&lt;/p&gt;

&lt;p&gt;Two weeks later, you need that resource. You open your bookmarks, scroll through 50 items in the wrong folder, give up, and Google the same thing again.&lt;/p&gt;

&lt;p&gt;The friction is not in saving. It is in organizing at the moment of saving. When you are deep in a coding session and you find a useful resource, the last thing you want to do is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Think about which category it belongs to&lt;/li&gt;
&lt;li&gt;Add relevant tags&lt;/li&gt;
&lt;li&gt;Write a note about why you saved it&lt;/li&gt;
&lt;li&gt;Connect it to the right project&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So you skip all of that, hit save, and move on. The bookmark becomes a digital post-it note you will never find again.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Tried Before
&lt;/h2&gt;

&lt;p&gt;I went through the usual progression:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Browser folders&lt;/strong&gt;: Created a careful hierarchy. Frontend &amp;gt; React &amp;gt; Hooks &amp;gt; Custom Hooks. Maintained it for about two weeks before defaulting back to dumping everything in "Misc."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Notion database&lt;/strong&gt;: Set up a resource database with tags, categories, and a nice gallery view. The overhead of switching to Notion, pasting the URL, filling in fields, and switching back killed my workflow every single time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Raindrop.io&lt;/strong&gt;: Better than raw bookmarks. Decent tagging. But I still had to manually categorize everything, and I stopped doing it after the first month.&lt;/p&gt;

&lt;p&gt;The pattern was always the same. Any system that requires manual organization at save time eventually gets abandoned. You need zero-friction saving with automatic organization.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Shift: Let AI Do the Categorizing
&lt;/h2&gt;

&lt;p&gt;The approach that finally worked was simple: remove the human from the organization step entirely.&lt;/p&gt;

&lt;p&gt;Instead of deciding categories and tags myself, I started using a system where AI analyzes the page content at save time and generates the metadata automatically. You press a shortcut (Alt+Shift+S in my case), the page gets analyzed, and it comes back with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A category (tutorial, reference, library, research, design, etc.)&lt;/li&gt;
&lt;li&gt;Relevant tags based on the actual content&lt;/li&gt;
&lt;li&gt;A one-line description summarizing why the page is useful&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The difference is dramatic. Here is a real example:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Before (manual save)&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Title: "useEffect cleanup explained"&lt;/li&gt;
&lt;li&gt;Folder: React (if I remembered)&lt;/li&gt;
&lt;li&gt;Tags: none&lt;/li&gt;
&lt;li&gt;Notes: none&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;After (AI-analyzed save)&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Title: "A Complete Guide to useEffect Cleanup Functions"&lt;/li&gt;
&lt;li&gt;Category: Tutorial&lt;/li&gt;
&lt;li&gt;Tags: react, hooks, useEffect, cleanup, memory-leaks&lt;/li&gt;
&lt;li&gt;Description: "Explains when and how to use cleanup functions in useEffect to prevent memory leaks and stale state in React components"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Same resource, completely different findability. Three months later, searching for "memory leaks react" actually surfaces this bookmark.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building a System Around It
&lt;/h2&gt;

&lt;p&gt;AI categorization solved the save-time friction, but I needed a few more pieces to make it a real knowledge base:&lt;/p&gt;

&lt;h3&gt;
  
  
  Project-based filtering
&lt;/h3&gt;

&lt;p&gt;Most of my saved resources relate to a specific project. That React hooks article matters for my SaaS frontend, not my CLI tool. Connecting resources to projects means I can pull up "everything I saved for Project X" in one click instead of searching through a flat list.&lt;/p&gt;

&lt;h3&gt;
  
  
  Star ratings for quality
&lt;/h3&gt;

&lt;p&gt;Not all resources are equal. A comprehensive official docs page is more valuable than a quick blog post. I started rating resources on a 1-5 scale after actually using them. This turned my bookmark pile into a curated library where the best resources float to the top.&lt;/p&gt;

&lt;h3&gt;
  
  
  Active vs. archived
&lt;/h3&gt;

&lt;p&gt;Resources have a shelf life. That webpack config tutorial from 2023 is probably outdated. Instead of deleting it (what if I need it?), marking it as archived keeps the active list clean while preserving the reference.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Numbers After 3 Months
&lt;/h2&gt;

&lt;p&gt;Here is where I landed after using this approach consistently:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;437 bookmarks&lt;/strong&gt; migrated and organized (took about a week of gradual AI re-categorization)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;8 clean categories&lt;/strong&gt; instead of 12 messy folders&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Average 3.2 tags per resource&lt;/strong&gt; (vs. zero before)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Time to find a saved resource&lt;/strong&gt;: ~5 seconds (search by tag or category) vs. ~2 minutes of scrolling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The biggest win is not the organization itself. It is that I actually use my saved resources now. Before, bookmarking was just a way to feel productive without being productive. Now it is an actual reference system.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Would Tell Past Me
&lt;/h2&gt;

&lt;p&gt;If you are sitting on hundreds of unorganized bookmarks right now, here is what I wish I had known:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Stop organizing manually.&lt;/strong&gt; Any system that depends on your willpower to categorize things at save time will fail. Automate the categorization.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Connect resources to projects.&lt;/strong&gt; A flat list of bookmarks is useless. Context matters. "I saved this for the auth system rewrite" is 10x more useful than "I saved this somewhere."&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Do not migrate all at once.&lt;/strong&gt; Re-organize gradually. Save new resources properly, and re-categorize old ones when you actually encounter them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Rate after using, not after saving.&lt;/strong&gt; You do not know if a resource is good until you actually reference it during work. Come back and rate it later.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is the system I built into &lt;a href="https://chromewebstore.google.com/detail/stackfolo/gakjkkjgbekgmdkijbgdpdmmhenjejpb?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=2026-03-w14-content&amp;amp;utm_content=devto-cta-inline" rel="noopener noreferrer"&gt;STACKFOLO&lt;/a&gt;, where the AI Smart Save feature handles the categorization automatically and connects everything to your project dashboard. But honestly, even a well-structured Notion database with consistent tagging habits would be a massive upgrade over raw bookmarks.&lt;/p&gt;

&lt;p&gt;The point is not the tool. The point is removing yourself from the organization bottleneck. Let automation handle the boring part so you can focus on actually building things.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;What is your bookmark situation like? Have you found a system that works, or are you still in the "Misc 2" folder stage? I would love to hear what approaches have worked for other developers.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>bookmarks</category>
      <category>productivity</category>
      <category>ai</category>
      <category>developertools</category>
    </item>
    <item>
      <title>How I Built a Daily Coding Habit (And Stopped Abandoning Side Projects)</title>
      <dc:creator>STACKFOLO</dc:creator>
      <pubDate>Mon, 23 Mar 2026 03:08:10 +0000</pubDate>
      <link>https://dev.to/stackfolo/how-i-built-a-daily-coding-habit-and-stopped-abandoning-side-projects-b67</link>
      <guid>https://dev.to/stackfolo/how-i-built-a-daily-coding-habit-and-stopped-abandoning-side-projects-b67</guid>
      <description>&lt;h1&gt;
  
  
  How I Built a Daily Coding Habit (And Stopped Abandoning Side Projects)
&lt;/h1&gt;

&lt;p&gt;I have started and abandoned more side projects than I can count. The pattern was always the same: a burst of motivation on a weekend, three intense coding sessions, then nothing for two weeks. By the time I came back, I had lost all context. The codebase felt unfamiliar. The enthusiasm was gone. Another repo joined the graveyard.&lt;/p&gt;

&lt;p&gt;The problem was never ideas or technical skill. It was consistency. I could write code for eight hours when I was excited, but I could not write code for thirty minutes when I was not. And "not excited" describes most weekday evenings after a full day of work.&lt;/p&gt;

&lt;p&gt;What changed was not willpower. It was systems. Specifically, separating what I need to do (tasks) from what I need to repeat (routines), and scheduling routines like immovable blocks in my week.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Task vs. Routine Distinction
&lt;/h2&gt;

&lt;p&gt;Most to-do apps treat everything as a task. "Implement auth flow" sits next to "practice algorithms" in the same list. But these are fundamentally different:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tasks&lt;/strong&gt; are one-time items with a completion state. You implement auth, you check it off, it is done.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Routines&lt;/strong&gt; are recurring behaviors you want to sustain. Algorithm practice is not "done." You want to do it every weekday morning.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Mixing them in one list creates a problem: routines compete with tasks for your attention, and tasks always win because they feel more urgent. "Fix the deployment bug" will always beat "practice dynamic programming" when they sit in the same list.&lt;/p&gt;

&lt;p&gt;The fix: separate them completely.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building a Routine Grid
&lt;/h2&gt;

&lt;p&gt;I started with a simple weekly grid. Days across the top, time slots down the side:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;         Mon    Tue    Wed    Thu    Fri    Sat    Sun
Morning  Algo   Algo   Algo   Algo   Algo   ---    ---
Lunch    Blog   ---    Blog   ---    Blog   ---    ---
Evening  Side   Side   Side   Side   ---    Side   Side
         Proj   Proj   Proj   Proj          Proj   Proj
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The rules were simple:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Each block is 30 minutes minimum.&lt;/strong&gt; Not two hours. Not "until I feel like stopping." Thirty minutes, then done. Most days I do more, but the commitment is only thirty minutes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Morning routines before checking email.&lt;/strong&gt; Algorithm practice happens first because once I open Slack, the day takes over.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Evening routines have a fixed start time.&lt;/strong&gt; "After dinner" is too vague. "8:00 PM" is specific. I set an alarm.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weekends are optional but structured.&lt;/strong&gt; Saturday and Sunday have side project blocks but no algorithm practice. Rest days for specific routines prevent burnout.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The ONE Thing Filter
&lt;/h2&gt;

&lt;p&gt;The hardest part is not scheduling routines. It is choosing which routines earn a slot. There are dozens of things I "should" be doing: LeetCode, system design study, open source contributions, blog writing, learning Rust, reading technical books.&lt;/p&gt;

&lt;p&gt;I borrowed a filter from Gary Keller's "The ONE Thing": what is the single most important thing I can do right now that makes everything else easier or unnecessary?&lt;/p&gt;

&lt;p&gt;For my goal of launching a SaaS product, the answer was clear: ship code daily. Algorithm practice supports long-term career growth. Blog writing builds an audience. But shipping code is the ONE Thing that moves the product forward.&lt;/p&gt;

&lt;p&gt;So "Side Project" gets the most slots (5 evenings + 2 weekend days). Algorithm practice gets weekday mornings only. Blogging gets three lunch slots. Everything else either fits into existing slots or waits.&lt;/p&gt;

&lt;p&gt;This filter prevents the common mistake of scheduling twelve routines and sustaining zero. Three to four core routines is the realistic maximum for most people with full-time jobs.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Track (And What I Don't)
&lt;/h2&gt;

&lt;p&gt;I track two things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Streaks.&lt;/strong&gt; How many consecutive days I completed each routine. Not to guilt myself when the streak breaks, but to notice patterns. If my evening coding streak breaks every Thursday, that tells me Thursdays are bad for evening work. I adjust the schedule instead of forcing it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Weekly completion rate.&lt;/strong&gt; Out of my 15 scheduled routine blocks per week, how many did I actually do? My target is 80%, not 100%. Hitting 100% every week is unsustainable. Hitting 80% means I missed three blocks, which is normal life.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;What I do not track:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hours spent. Time in seat is not the same as progress.&lt;/li&gt;
&lt;li&gt;Lines of code. Meaningless metric.&lt;/li&gt;
&lt;li&gt;"Productivity scores." Gamification makes me optimize for the score, not the work.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Results After Three Months
&lt;/h2&gt;

&lt;p&gt;Before the system:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Side project commits: 2-3 per week, clustered on weekends&lt;/li&gt;
&lt;li&gt;Algorithm practice: "when I feel like it" (roughly twice a month)&lt;/li&gt;
&lt;li&gt;Blog posts: 0 per month&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After three months:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Side project commits: 8-12 per week, spread across all weekdays&lt;/li&gt;
&lt;li&gt;Algorithm practice: 5 days per week, 20+ minutes each&lt;/li&gt;
&lt;li&gt;Blog posts: 2-3 per month&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The total hours spent did not increase dramatically. What changed was distribution. Instead of eight hours on Saturday and zero on Wednesday, I spent one hour on five different days. The context retention alone made each session more productive.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practical Tips for Starting
&lt;/h2&gt;

&lt;p&gt;If you want to try this system:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Start with two routines, not five.&lt;/strong&gt; Pick the two that matter most to your current goal. Add more only after two weeks of consistency.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Make the blocks small.&lt;/strong&gt; Thirty minutes is better than two hours because you will actually do thirty minutes on a tired Tuesday evening. You will not do two hours.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Schedule around energy, not free time.&lt;/strong&gt; If you are mentally sharp in the morning, put the hardest routine there. Side project coding after a full workday needs the easiest possible entry point (fix a small bug, write one test).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Track visually.&lt;/strong&gt; A weekly grid where you can see filled vs. empty blocks at a glance is more motivating than a list of checkboxes. Something about seeing the pattern makes you want to keep it going.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Review weekly, not daily.&lt;/strong&gt; Daily reviews create anxiety. Weekly reviews let you see the bigger pattern and adjust without overreacting to one bad day.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Tools for This System
&lt;/h2&gt;

&lt;p&gt;You can do this with a spreadsheet. Seriously. A Google Sheet with days as columns and time slots as rows works fine for the first month.&lt;/p&gt;

&lt;p&gt;If you want something more structured, I built this system into &lt;a href="https://chromewebstore.google.com/detail/stackfolo/gakjkkjgbekgmdkijbgdpdmmhenjejpb?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=2026-03-w13-growth&amp;amp;utm_content=devto-coding-habit-cta" rel="noopener noreferrer"&gt;STACKFOLO&lt;/a&gt;, a Chrome new-tab dashboard. Its Routine Blocks feature lets you drag habits into a visual weekly grid with Morning/Afternoon/Evening/Anytime slots, track streaks, and separate routines from one-time tasks. There are 50+ habit templates for developers (algorithm practice, code reviews, blog writing, etc.) so you do not start from scratch.&lt;/p&gt;

&lt;p&gt;But the tool matters less than the system. Separate tasks from routines. Schedule routines as blocks. Use the ONE Thing filter to choose which routines earn a slot. Track streaks and weekly completion. Review and adjust weekly.&lt;/p&gt;

&lt;p&gt;The goal is not to fill every hour. It is to show up consistently enough that your side project stops feeling like a stranger's codebase every time you open it.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>habits</category>
      <category>sideprojects</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
