[HN Gopher] Ask HN: How do you stay organized for solo dev?
       ___________________________________________________________________
        
       Ask HN: How do you stay organized for solo dev?
        
       When working with a team, I've found that Scrum-like short-term
       goals and organized task backlogs really help keep me focused and
       on track with the work I have to do. For solo development, however,
       I've never really found any approach that sticks and often end up
       getting sidetracked and losing track of my objectives.  So my
       question to all of you is, what tools and techniques have you used
       to ensure you stick to your objectives?
        
       Author : pta2002
       Score  : 50 points
       Date   : 2024-06-20 20:12 UTC (2 hours ago)
        
       | liampulles wrote:
       | As far as side projects go, "Readme Driven Development" works to
       | motivate me, and keeps the scope contained.
       | 
       | https://tom.preston-werner.com/2010/08/23/readme-driven-deve...
        
       | CharlieDigital wrote:
       | Paper notebook.
       | 
       | When you don't need to share information, there's nothing better
       | than a notebook to see all of your ideas spread out and iterated.
       | No need to log into anything. Take it with you anywhere -- sit on
       | a bench and ideate. Go to the gym and jot down ideas.
       | 
       | I can keep my daily goals in a checklist in there and just check
       | them off 1 by 1. No need for GitHub projects or anything like
       | that because there's no need to communicate status with anyone.
        
         | ghaff wrote:
         | I retired fairly recently and I seem to have largely gone back
         | to a Moleskin weekly calendar and a couple of notebooks. (I do
         | try to avoid too many random pieces of paper.) For more
         | detailed tracking for dev (etc.), I could see using GitHub or
         | something along those lines but paper works pretty well as long
         | as you don't need to share.
        
           | bcrosby95 wrote:
           | I'm curious what different notebooks you use.
           | 
           | I tried to differentiate mine a lot, but I often found I had
           | the "wrong" notebook at the "wrong" times. Now I have have a
           | general notebook, and other notebooks that might live in 1
           | place. E.g. all my D&D campaign notebooks sit with my D&D
           | stuff.
           | 
           | But I don't have a separate work/life/personal dev notebook.
           | Shuffling them got annoying.
        
             | ghaff wrote:
             | Nothing nearly systematic enough. I do use some back of
             | calendar pages for simple stuff. And small separate
             | notebooks for specific projects. But I found a few books
             | were better than an electronic thing for most purposes for
             | an individual.
        
         | eschneider wrote:
         | Well, some sort of log, be it paper or a text file of whatever
         | works for you.
         | 
         | Keeping track of the decisions you make, both to do things and
         | to NOT DO THINGS (and why) is almost a superpower. You can save
         | so much time when you come up with a 'new but vaguely familiar'
         | idea by being able to check back through your notes and see
         | what you came up with last time it occurred to you. Maybe
         | circumstances changed, maybe they haven't, but you can bring
         | yourself back up to speed on what you've done previously with
         | little effort.
        
       | inSenCite wrote:
       | you don't need a lot of the overhead in team-focused working
       | models. As suggested already, paper based lists work well. Only
       | you need to know what needs to be done, and you are generally
       | focused on only a handful of things at a time.
       | 
       | Pomodoro has been another thing that works well for me to split
       | up my time/keep getting things done while making sure I'm taking
       | frequent breaks.
        
       | cushpush wrote:
       | as CharlieDigital said, a paper notebook. would recommend art
       | store quality large and wide sheets and a handful of pens.
       | depending on work, you can get different colors of pen. the very
       | fine archival widths are great but easily bend outta shape.
       | ideation and project development has phases, you must uncover and
       | scope, and then implement. this oscillation of tides is natural
       | and ensures healthy progress. for here, once the app is
       | adequately scoped it's time to implemenr. but pretty much
       | everything is designed on paper first
        
       | mentos wrote:
       | Trello board with three lists Done/Doing/ToDo
       | 
       | Make a list of all the stuff you need to do.
       | 
       | Prioritize it.
       | 
       | Move the top item to the doing list and start working on it.
       | 
       | When you're done move it to done. Take the next item off the to
       | do list and repeat.
       | 
       | I use other lists on trello to maintain cards for my research or
       | to move features off the to do list that aren't necessary for v1.
        
         | ItsBob wrote:
         | I second this but with a tiny addition: for software, I have a
         | 4th column called "Bugs" and any time I come across a bug, I
         | chuck it in there and get round to it eventually.
        
           | mentos wrote:
           | Yea I do this too or find the card the bug represents and
           | move it back to the ToDo with a description of the bug
        
       | olooney wrote:
       | I use a `TODO.md` file.
       | 
       | GitHub flavored markdown will format a list like this:
       | 1. [X] Dockerfile         2. [ ] Bulk Inference         3. [ ]
       | CLI         4. [ ] Logging
       | 
       | as a neat little list of checked/unchecked checkboxes. I create a
       | section called "Backlog" for future ideas, a section called
       | "Bugs" for bugs to fix, and an unnamed section at the top with
       | current items. Once I reach a milestone like a release, I delete
       | all the completed items.
        
       | beauzero wrote:
       | Scrap paper with list of todos. Throw away or transfer to new
       | list if down to one or two items.
        
       | thibaut_barrere wrote:
       | https://bear.app with GitHub flavoured todo lists
        
       | Tehnix wrote:
       | I make daily/weekly/monthly goals, and structure it in whatever
       | App I use e.g. Linear, Todoist, or Notion.
       | 
       | - Monthly goals are very high level and few (e.g. "Make PoC for
       | this", "Redesign and relaunch blog")
       | 
       | - Weekly goals are more tangible and limited (e.g. "Settle on
       | approach for calling Rust from Swift code", or "Finish design and
       | styling of posts")
       | 
       | - Daily are very concrete (e.g. "Set up UniFFI pipeline to
       | generate Swift bindings" or "Implement new theme across blog
       | pages")
       | 
       | Sometimes things come up that I discover during implementation,
       | and then I typically shift a daily goal to the next day.
       | 
       | Has worked well so far for giving me focus, and I then pick the
       | daily goals based on the weekly focus from the list of many open
       | tasks/issues I have in my various projects.
       | 
       | I set up each thing I'm working on as a Project in e.g. Linear,
       | and immediately add a priority when I add things, which allows me
       | to easily keep an overview of many smaller or larger projects I
       | might have going on or want to do in the future.
       | 
       | While I do like paper, for me that's only for ephemeral things. I
       | prefer to keep things digital, allowing me to easily add stuff
       | from my phone in the go when I get an idea while being out-and-
       | about. I also write much faster on a keyboard and use the various
       | tasks as the dumping ground for info while I'm working through
       | something or researching something.
        
       | cloogshicer wrote:
       | I really like using nested bullet lists. When I think of a
       | project idea, I create a new list.
       | 
       | Each bullet is a goal of the project, and then I split it into
       | sub goals and problems, and keep notes as I go. One thing that
       | really helped was the soft rule of only allowing leaf nodes to be
       | actual tasks, everything else has to be a problem or goal. If it
       | turns out a leaf node needs to be split up further, I gotta re-
       | formulate it as a goal/problem.
       | 
       | Also, I try not to work on anything before I've written it down
       | first. Since I've been doing this, it's easier than ever to come
       | back to a project after not working on it for a while. I've
       | always thought that people write things down to _remember_ them,
       | but for me at least it seems that it helps me _forget_ and free
       | my mind for other things.
       | 
       | It's important to me that the software supports infinite bullet
       | nesting. I use Dynalist but there are other good ones out there,
       | I'd love to switch to RemNote actually.
        
       | urda wrote:
       | I use a cascading "knowledge" system myself:
       | 
       | - A pocket Moleskin notebook keeps track of random thoughts,
       | notes, scratches, diagrams, and more.
       | 
       | - This eventually becomes either "tickets" in my issue tracker,
       | or becomes "wikis" or "wiki updates" on my wiki server.
       | 
       | - This eventually leads to things like: snippets, configuration
       | notes, historical documents, record keeping, runbooks, and more.
       | 
       | Eventually it just became "natural" to keep my documents up-to-
       | date, or as issues are discovered get them thrown into the
       | correct backlog.
        
       | JonChesterfield wrote:
       | I write sprawling semi-structured webs of markdown in obsidian.
       | Thoughts written on android while walking around, more coherent
       | long form things at a physical keyboard.
       | 
       | I thought that producing a bunch of trello style cards to look at
       | would help and it kind of did, but in practice I don't seem to
       | look at them as often as the raw markdown.
       | 
       | YMMV though, my solo work is a weighted random walk in the
       | direction of things that look interesting, not an optimal
       | shortest path to a product. Which might be the sidetracked you're
       | talking about. E.g. I'm currently writing a regex engine and
       | that's not especially well correlated with where I was a few
       | months ago.
        
       | kkfx wrote:
       | Emacs/org-mode/org-roam managed, org-agenda on current year
       | notes, notes are time-divided in files, one file per day, one dir
       | per year under a common org-roam-directory. This reduce the
       | amount of files org-agenda have to traverse and long running
       | stuff got passed from an year to another in yearly summary notes.
       | 
       | It's a long road, I've hesitated much since for me it was a slow
       | full migration to Emacs and EXWM at the same time than another
       | step moving most of my configs to org-mode notes, tangle-ed from
       | them and finally org-attaching files.
       | 
       | One part still left behind is literate programming though, I do
       | for something, but not for most of the thing, since I tend to
       | disperse myself in lengthy prose, loosing focus on the code and
       | the available tooling inside org-babel blocks are limited/hard to
       | use respect of a direct-code codebase.
        
       | jononor wrote:
       | Quarterly goals one year out, monthly goals the next quarter.
       | Keeping these as few as possible, high level but concrete,
       | stretch but attainable. Then re-ranking actual TODOs regularly
       | with respect to these, with low barriers to dropping things that
       | do not contribute to overall goals.
        
       | LarryDarrell wrote:
       | I've been using Post-Its along the bottom of my monitor for 25
       | years. Works fairly well as they are always right there in front
       | of your face, and if one loses it's stick, well, you know that's
       | the one to focus on or move it to long-term.
       | 
       | This of course only works at a desk. I've never done work on a
       | laptop so my system is very YMMV.
        
       | doctor_eval wrote:
       | I'm a solo dev. At a high level, I find that just writing down
       | what I'm trying to achieve _and referring to it often_ is
       | critical. The most important things to understand are what you're
       | building, who your users are, and when you want to launch. Use
       | this as a razor to determine what features to add /remove. This
       | should not be complex - one sentence each! Try to make all
       | decisions through this lens. Revise the lens as you learn more.
       | 
       | In terms of managing the day to do, my project has 4 or 5 modules
       | and each has its own TODO and README in markdown. The README is
       | where I explore the design and the TODO is obvious.
       | 
       | You don't need fancy tools, what you need is a vision that pulls
       | you along.
        
       | neilv wrote:
       | You can start with the same tools you would use on a team, and
       | tune for your needs, just like a team leader might do for a team.
       | 
       | For example, for one early startup, while I was the only
       | engineer, and operating in a somewhat reactive mode, I used
       | GitLab Issues to track tasks, and their Structured Labels and
       | Board view to give a modified Kanban-ish view.
       | 
       | For a different solo-engineering project, which nevertheless had
       | lots of interdependencies, and needed some estimating, I used a
       | Gantt-based tool (unfortunately not integrated with GitLab
       | Issues, though it really-really should've been).
       | 
       | That's the tools part. What you might be missing is the social
       | part. If that's bothering you, maybe find a way to get some human
       | accountability, team feedback, etc., even if you're the only
       | engineer. (I'm pretty self-motivated, but I'd do things like show
       | the biz people milestones, achievements, funny or cool things,
       | etc.)
        
       | rodrodriguez wrote:
       | I use our https://github.com/GeneralBots open-source LLM
       | Orchestrator (chat-gpt and claude) to manage a list called ALM
       | with requirements, bugs, tasks and so on. So WhatsApp is a
       | channel to anything that we need. If you need more info, message
       | me.
        
       | zora_goron wrote:
       | I'm still trying this out, but I've been using Superlist [0] (no
       | affiliation) for different projects. For me, having a single app
       | that is both a Markdown document <-> todo app has been helpful.
       | I'm able to jot down notes in greater structure and depth than in
       | another todo app and interweave todo items throughout, which
       | helps contextualize tasks a lot better (especially when working
       | across different projects).
       | 
       | Reminds me of org-mode in Emacs - overall, I'm really liking the
       | cross-platform sync and Markdown interface out-of-the-box.
       | 
       | [0] https://www.superlist.com/
        
       | NicoJuicy wrote:
       | Talking with my clients and setting goals keeps me on track.
       | 
       | Organizing that: gitlab issues
        
       | nunodonato wrote:
       | Trello board (also use it for personal life). I have lists that
       | separate the different kinds of work that need to be done (dev,
       | marketing, research, website, etc...) and then label them
       | according to how easy/challenging the task feels to me. This
       | allows me to easily be able to pick something to work on every
       | single time.
        
       | dimmke wrote:
       | Dynalist.io
        
       | bcrosby95 wrote:
       | It kinda depends upon the project.
       | 
       | Small ones just get a todo.org file that I commit with the
       | project.
       | 
       | For medium ones I put a .org file in my "Projects" directory in
       | Dropbox.
       | 
       | For larger ones I put a subdirectory in my "Projects" directory
       | in Dropbox.
        
       | greenie_beans wrote:
       | i did an hour and fifteen minutes of project management today for
       | some product features, using github issues and their project
       | board.
       | 
       | i use obsidian as a dump for things. i use boards in obsidian to
       | track higher level product stuff + capture any fleeting
       | todos/ideas in notes, then move that to github issues once i do
       | project mgmt time. and i use obsidian for non-dev project
       | management, like marketing/sales/operations stuff. i also use
       | obsidian for todos like "do some project management for X
       | features or whatever"
        
       | MitchJohn wrote:
       | long-term notes go into Notion. Short-term notes go into
       | Excalidraw which I treat as a digital whiteboard.
        
       | qntmfred wrote:
       | I have a daily routine template in my obsidian daily notes. gets
       | me focused and excited about the day. The first [x] I get to give
       | myself every day is the completion of my daily routine checklist.
       | It's a freebie W to kickstart a productive day. I actually use
       | Windows Voice Typing to take most of my notes so it really ends
       | up being like a daily standup. I also often livestream my entire
       | day so even if I only have an audience of myself (which is every
       | day because they are just private livestreams I do in case I need
       | to go back and remind myself what I was doing/thinking about 20
       | minutes ago before I got lost down some rabbit hole - windows
       | recall is good, actually) my day really does end up playing out
       | similarly to when I would work with other people (aka meetings)
       | in 2+ person orgs.
        
       | macNchz wrote:
       | I like to work similarly to how I'd work with a small team:
       | Github issues, many of which contain a checklist of items,
       | loosely organized into milestones. I like this because:
       | 
       | - It's close to the code, so I can easily make notes to self with
       | links to line numbers, copy-pasted code blocks, or linked draft
       | PRs to remember where I left off with something that I'm going to
       | punt on for a while.
       | 
       | - It's super easy to access from any device, so I can quickly
       | create an issue for something on the fly on my phone/non-dev
       | machine when I have an idea or get an email about a bug.
       | 
       | - It's straightforward to bring someone else in and have them
       | working on something right away, when the time is right.
       | 
       | - There's a good API and lots of integrations (like creating
       | issues directly from/linked to an error tracking system)
        
       | jasonb05 wrote:
       | Lots of writing to my future self.
       | 
       | 1. Trello with columns for the week, month, and quarter, year.
       | 
       | 2. Open notebook next to mouse
       | 
       | 2a. Left page: daily todo checklist with pen and paper. (2-3 rows
       | per day)
       | 
       | 2b. Right page: scratch, sketches of plots, sticky notes, etc.
       | 
       | 3. Typed dev journal to capture research, URLs, papers, thoughts,
       | ideas, progress, and extensions. (every github project has a dev/
       | folder for these notes, filename yyyymmmdd-n.txt) New file per
       | project per day, as needed.
       | 
       | 4. Yellow sticky notes for ad hoc ideas (end up on the bottom of
       | the screen, notebook or whiteboard). Typically maxims to keep me
       | pointed in the right direction for a project (e.g. "no one ever
       | will rtfm")
       | 
       | 5. Whiteboard, column per project, printouts + magnets (monthly
       | plots of project progress), sticky notes, ideas for future
       | projects, all kinds of stuff
       | 
       | I try to overcommunicate with my future self. It helps to get my
       | current thoughts straight re expectations, progress, sticking
       | points, etc. I'm the roadblock, not the work. The work is
       | typically paint by numbers after a "hard think" about it.
       | 
       | Working like this solo for 8 years.
       | 
       | Been using a /dev dir and .txt files for live development journal
       | since my PhD days in early '00. Saved my ass countless times
       | (grep).
       | 
       | Oh, and doing the same things every day. Mostly. E.g. customer
       | support, then promote, then writing, then code, then... No
       | thinking required, just do the next thing we do after this...
        
       | JaggedJax wrote:
       | I've started using YouTrack recently since it's free for small
       | teams or single devs, and most importantly to me their
       | knowledgebase is Markdown based and can be exported as Markdown
       | if needed. Too many past lives spent moving KB content in custom
       | formats. So far it's been a good tool for me, and I can just
       | ignore any of the projects management features I don't need.
        
       | jay_kyburz wrote:
       | I just like a text file.
       | 
       | Everything that needs to be done goes in, no matter how small.
       | 
       | Every now and then I work through and sort it by most important.
       | I also group tasks that are about the same importance and in the
       | same area of code.
       | 
       | Then just work on the task at the top.
       | 
       | I have a separate text file for life and each project. Life comes
       | first, pay bills, buy socks.
       | 
       | Then the text files are in Dropbox so available and editable
       | anywhere.
        
       | rexarex wrote:
       | Asana! They have a board view and you can just create a project
       | that is a 'sprint' by adding categories and putting it in the
       | board view. And then add tickets from other projects to the
       | sprint and drag them through different states. And it's free.
       | 
       | Mobile app is also very very good which means you can easily
       | update or use it to make tickets while on the go...or in bed.
        
       | nathants wrote:
       | send myself emails. then search for email from:me to:me.
       | 
       | on desktop i use a cli[1]. on mobile i use homescreen bookmarks
       | to fastmail web.
       | 
       | body is typically empty. subject is the note. first word is the
       | category.
       | 
       | most recent note: game deltas represent discrete positions on the
       | 13bit ratchet
       | 
       | 1.
       | https://gist.github.com/nathants/53efd551e5eadfdbf5792b3efc3...
        
       ___________________________________________________________________
       (page generated 2024-06-20 23:00 UTC)