Show HN: I built my own PM tool after trying Trello, Asana, ClickUp, etc. (upbase.io)
Over the past two years, I've been building Upbase, an all-in-one PM tool.
I've tried so many project management tools over the years (Trello, Asana, ClickUp, Teamwork, Wrike, Monday, etc.) but they've all fallen short. Most of them are overly complicated and painful to use. Some others, like Trello, are too limited for my needs.
Most importantly, most of these tools tend to be focused on team collaboration and completely ignore personal productivity.
They are useful for organizing my work, but not great at helping me stay focused to get things done.
That's why I decided to build Upbase.
I try to make it clean and simple, without all the bells and whistles. Apart from team collaboration, I added many personal productivity features, including Weekly/Daily planner, Time blocking, Pomodoro Timer, Daily Journal, etc. so I don't need another to-do list app.
Now I can use Upbase to collaborate with my team AND manage your personal stuff at the same time, without all the bloat.
If these resonate with you, then give Upbase a try. It has a Free Forever plan though.
Let me know if you have any feedback or questions!
469 comments
[ 3.3 ms ] story [ 319 ms ] threadThe "I built" in the title seems misleading, what's up there @OP ?
I always read those as "I lead the team that built it"
"I was dissatisfied with ... so I made other people build it"
You don’t want to give your teammates a credit?
Maybe the OP just followed the structure of every other showHN post?
https://macroapp.io
The site is responsive, however the mobile UX could be improved for sure.
Lifetime deals on products that have a real recurring lifetime cost rarely work out, and are an immediate red flag, especially for a new project.
Is it just a notice board (like product hunt) where you get some exposure? Or do you pay for it (other than offering a bargain discount..)?
- Select: You have to apply to be chosen, they do all the marketing for you and cut 70% of revenue);
- Marketplace listing: You do everything yourself and keep 70% of the revenue.
“most of these tools tend to be focused on team collaboration and completely ignore personal productivity.” - did you consider tools like Todoist and Nirvana which are more individual-focused? (Yet Todoist has project sharing and collaboration for teams as well).
Also remember the best to-do list app will fall flat if you don’t pair it with a good method and a lot of discipline - kudos for including some links to relevant materials in your web page.
Not trying to be pessimistic, but doesn't notion give you all these already ? Or did I miss something here ?
It’s a one man idea show with a web of potential add in SMEs on a limited basis but a large volume of subcontracting evaluation and go forward structures for supply chain.
Hope he gets his head around this and finds it a fit. Thank you for sharing. Every tool in its right place helps the shop work efficiently!
Sorry, I've been burned enough times by this now that if your software is not FOSS, I'm not deploying it. Your take is not a good look.
For an open source alternative, check out Focalboard [0]. Note however it is backed by a for-profit company, but the code is open and can be compiled from source (so you can thus remove all telemetry and paid upsell nonsense).
[0] https://github.com/mattermost/focalboard
https://github.com/mattermost/focalboard/issues/1507
I am not sure whether the reasoning is mostly from a concern over IP theft perspective or piracy, but I would consider looking into whether you think you could sustain a self-hosted version in the future.
I think legitimate competitors tend to be unwilling to take the risk reverse engineering things and directly stealing your product. And legitimate businesses also tend not to be willing to take the risk of being audited and getting caught using pirated software, …or, actually, maybe…. story on that later ;-) [1]
And I will probably lose you here, but I would also consider whether a FOSS model could work for you; there are a number of open-source/open-core/semi-opensource services that are seemingly viable commercial products. One example might be GitLab, and another would be Drone CI.
Perhaps consider whether you could survive, and potentially be even more profitable, by doing something like offering the platform as a self-hosted, opensource service, ideally under something like the AGPL, and then require contributors to dual-license their contributions under the AGPL and an incredibly permissive license (e.g., ISC, BSD of some sort, MIT, Unlicense, etc — pick whatever).
This model would allow you guys do opensource the core for the paranoid among us while also preventing any realistic competitors from swooping in and yoinking your hard work for their own financial gain, since they’d likely not be willing to integrate AGPL code into their service.
And by requiring contributions to be dual-licensed under an incredibly permissive license, this’d essentially grant you the same benefits of having contributions sign a properly evil CLA that demands all copyright be transferred to you, etc (e.g., an open-core like GitLab, where you could upsell people on proprietary enterprise features) without the need to drive away potential contributors by being extra evil.
I think this may not even be that awful of an idea, in the sense that:
- A. I think many proper companies that would be big spenders also would rather delegate all the responsibility to you
- B. while I don’t love opencore as opposed to truly fully FOSS, many do seem to be willing to pay
- C. Ultra-broke indie devs, hacker types, etc, many who likely would not pay in the first place, and many of whom may not be willing to use non-FOSS stuff would still be increasing your mindshare, potentially contributing back, etc — free advertising, essentially.
As an example, I cannot count how many times I have heard users of opensource BitWarden praise it everywhere they get a chance, to the point to where I finally caved and decided to give it a try in order to get my parents to stop forgetting their passwords to everything.
And when I did, I actually did not use the FOSS version, despite being the type personally who would have normally; I just didn’t want to add yet another thing I needed to potentially help other people maintain, so it was worth paying.
- D. Lastly, I think it is good PR and branding. Cloud services change all the time. It adds a nice bit of trust knowing that you can only screw up the service so badly before someone decides to just fork.
Don’t take this too harshly, please, because I actually do think the service looks really good, and I do admire and respect the fact such a small team put in the grind to manage to launch it. And I plan to go pay for the lifetime service once I finish up this message.
But that said, man, being truthful, there are a lot of tiny software startups that offer pretty, polishe...
Also if I create a task on a weekly planner view, it should I believe show up as a task which "needs to be done" . It seems to not exist, unless I am in weekly view.
Because of this missing functionality or my ability to figure it out I cant use it - I think its a simple expectation my end though. Just offering feedback, looks great tho.
Weekly Planner and Daily Planner are the two main views, so you need to go to these pages to check for due tasks.
[0]: https://uxwizz.com/
There seems to be a bug with dates (maybe timezones)? I'm in the central US, and just created a task with a date of today (Nov 13) -- it shows up as "Yesterday".
If the scope of a project changes, or to try various tools with an 'ultra strong vision' with real life data, it would be very helpful if the project data could be easily transferred. Is there a standard that most tools could support?
Try Linear.
https://linear.app/method
Opinionated, in a good way, and willing to slay sacred cows, such as replacing estimated sprints with you get done what you prioritized cycles, or milestones with roadmaps.
(Now if I could just get them to replace "Projects" with something evergreen teams can work on, like "Capabilities". Fortunately all that has to change is the label.)
Productivity software should be opinionated. It's the only way the product can truly do the heavy lifting for you. Flexible software lets everyone invent their own workflows, which eventually creates chaos as teams scale.
and
Teams at different sizes have different needs.
the question now is if my opinion is overlapping, heh. These two quotes are definitely my experience, with one more which is fluidity in projects themselves from design, to 'tasks' to priority.
Edit: also, rather than folders > lists > sections, it might be worthwhile to introduce nested folders, which is a very popular feature request in ClickUp but that team never actually got around to adding it. Another thing: subtasks.
Probably not.
We need ANSI pomodoros clearly :)
[1] https://icalendar.org/iCalendar-RFC-5545/3-6-2-to-do-compone...
ie basic functionality I personally look for that I don’t think this would support would include:
* Projects with hierarchies
* Reminder dates
* Tags and contexts
* Multi-Step tasks
If there is a popular standard, it will remain popular. The trick is building up enough users that they begin to credibly demand an export to the protocol from big players like Atlassian.
Even if people do have the same model then the terms are often different, depending on how you learned to do things. (Example: What is the "correct" number of levels of tasks -> subtasks and what should each layer be called, i.e "Epics -> Stories -> Tasks")
We've been building out Shortcut (https://shortcut.com/) for several years now it's not uncommon for new leadership (new VP of Eng or VP of Product) to show up in a large organization (100+ people in eng and product) and decide that whatever problems the org is having can be solved by moving to Jira and forcing everyone into a new mental model around how they're building things.
(Side note: We're tracking the rate of success of people who make this decision and how long they last in the org, and it's [perhaps unsurprisingly] not great.)
(Granted it doesn’t matter, use what you know best)
The UI would look like a graph and like ms project it could include resource levelling in order to show bottlenecks.
I know this probably sounds complicated but I think it maps to reality fairly well and thus actually simple (fighting reality is hard).
Powerful functionality always comes with the cost of UI/UX. We'll try to make our app simple and easy to use, so we try to avoid any complex features.
Anyway, thanks so much for your feedback and ideas. I appreciate it.
Critical path method > Basic techniques: https://en.wikipedia.org/wiki/Critical_path_method#Basic_tec... :
> Components: The essential technique for using CPM [8][9] is to construct a model of the project that includes the following:
> (1) A list of all activities required to complete the project (typically categorized within a work breakdown structure), (2) The time (duration) that each activity will take to complete, (3) The dependencies between the activities and, (4) Logical end points such as milestones or deliverable items.
> Using these values, CPM calculates the *longest path* of planned activities to logical end points or to the end of the project, and *the earliest and latest that each activity can start and finish without making the project longer.* This process determines which activities are "critical" (i.e., on the longest path) and which have "total float" (i.e., can be delayed without making the project longer). In project management, a critical path is the sequence of project network activities which add up to the longest overall duration, regardless if that longest duration has float or not. This determines the *shortest time possible to complete the project.\ "*
Re: [Hilbert curve, Pyschedule, CSP,] Scheduling of [OS, Conference Room,] and other Resources https://news.ycombinator.com/item?id=31777451 https://westurner.github.io/hnlog/#comment-31777451
Complexity and/or Time estimates can be stuffed into nonexclusive namespaced label names on GitHub/GitLab/Gitea:
GitLab EE and Gitea have time tracking on Issues and Pull Requests.Gitea has untyped Issue dependency edges, but there could probably easily be another column in the is-it-a through table for the many-to-many Issue edges table to support typed edges with URIs i.e. JSONLD RDF.
GitLab Free supports the "relates to" Linked Issue relation; EE also supports "blocks"/"is blocked by".
Planning poker: https://en.wikipedia.org/wiki/Planning_poker
Agile estimation: https://www.google.com/search?q=agile+estimation
"Agile Estimating and Planning" (2005) https://g.co/kgs/kDScM7
When you really need it (like in the case of tens of thousands of people trying to build and ship a single project at lighting speed) PERT is an extremely powerful and effective project management methodology. If, on the other hand, your "project management division" is you, it's a dangerously seductive time sink that will consume huge amounts of your time building and tuning and gathering and updating data and information, for arbitrarily close to zero direct real benefit and huge net negative benefit. The increase in effectiveness you gain from all that modeling is, in software development projects, negligible and the cost of doing all that modeling is much higher than you think it will be if you've never done it (that's why we don't do waterfall planning in software - it's not that no one's thought of it, it's that it's not effective on projects of any real complexity). As with any approach to planning, PERT works best at a particular scale and project type, and it's typically a quite large scale non-software project.
In my personal opinion, from a software development standpoint, the valuable part of building a PERT chart is doing the work and thinking required to draw a dependency map for your tasks. Drawing all those lines to show what has to be done before what is an incredibly effective tool for helping you flesh out and find dependencies (tasks) you hadn't realized needed to be on your list. Use something like MS Project to build that dependency diagram, then force yourself to stop using Project because it's too seductive at making you feel like the data is giving you power when it's really just consuming your brainpower ineffectively. Use dependency mapping to build a waterfall caliber understanding of what you need to build, then set it aside and use more appropriate agile style approaches to actually work through the project in an optimum manner (which often means not building it in exactly the way you mapped out originally).
[0]https://en.m.wikipedia.org/wiki/Program_evaluation_and_revie...
PERT -> see also ->
"Project network" https://en.wikipedia.org/wiki/Project_network :
> Other techniques: The condition for a valid project network is that it doesn't contain any circular references.*
> Project dependencies can also be depicted by a predecessor table. Although such a form is very inconvenient for human analysis, project management software often offers such a view for data entry.
> An alternative way of showing and analyzing the sequence of project work is the design structure matrix or dependency structure matrix.
design structure matrix or dependency structure matrix: https://en.wikipedia.org/wiki/Design_structure_matrix
READMEs, Issues, Pull Requests, and Project Board Cards may contain Nested Markdown Task Lists with Issue (and actual Pull Request) # references:
Time management > Setting priorities and goals > The Eisenhower Method: https://en.wikipedia.org/wiki/Time_management#The_Eisenhower... : From "Ask HN: Any well funded tech companies tackling big, meaningful problems?" https://news.ycombinator.com/item?id=24412493 :> https://en.wikipedia.org/wiki/Strategic_alignment ... "Schema.org: Mission, Project, Goal, Objective, Task" https://news.ycombinator.com/item?id=12525141
And just as a plug, I made https://www.knotend.com which is a keyboard-centric flowchart editor you can use to map dependencies. Im working in adding computation and probability like you say.
[0] https://heteroskedasticblog.wordpress.com/2021/12/04/softwar...
[1] https://erikbern.com/2019/04/15/why-software-projects-take-l...
[2] https://en.wikipedia.org/wiki/Probabilistic_programming
As others have said, PM tools need to become more opinionated rather than recreating what already exists.
You seriously don't want to see my calendar each week. (Or maybe you do for understanding this pain point).. but having a personal planning tool understand the colors of my calendar events would be an immediate killer for me.
I've tested abotu 15 different tools, and in the end found that there wans't any personal tools available. The closest I found was Sunsama. I currently use "Sortd" though for the email integration.
What would close the gap between "closest" and "perfect for you"?
Red = External (Very Likely, I need preparation + Notes). Blue = Internal Green = 121 Session etc. Black = Self-Blocked to Stop People trying to Add me to Calls
Basically, I have 40+ events a week. If I have to go through each one and self-organise when I already organise in my Gmail calendar via Color Coding, it would be huge barrier for me.
https://imgur.com/qXfg5PC
I ended up loving the interface, but the extra work I was creating for myself to "filter" and prioritise which activities needed Tasks was a deal breaker for me.
I'm a high-level PM and I'm not so sure why the tool is trying to do everything. I use a messaging app to talk to people. I use a todo app to track my personal and business commitments, and I use physical paper and timers to track my personal productivity (weekly plans, journals, timers, etc).
The beauty of PM work is that you can mix and match the tools that make you more effective over time. Maybe that's software, maybe that's more analog tools.
I think this is an excellent solution for teams that aren't established and small in nature though.
I especially feel it will be extremely difficult to compete with the likes of where Notion and GitHub are headed with project management tooling.
The free tier is not a perfect fit a solo person for the same reason.
Wonder if it could be worth trying offering tiers based on your vision for different size teams. Eg a solo person gets a single user (no user management features), no chat, no any multi-user features.
This is the one thing I'm missing the most about Notion, Miro, Google Calendar, and all of this - offline support. In German trains, I'm offline, on flights, I'm often offline; while traveling, I'm often offline. Offline capabilities are often neglected.
I agree, the reason offline support is often not that great is that the customers who are most likely to pay for your product are the least likely to have issues with online connectivity or to care about offline support, OP's edge cases notwithstanding.
I even travel fairly often in the US and it's rare when I'm on a plane that doesn't have wifi.
The storage itself is trivial but for everything else (queries, syncing, conflicts, validation, permissions, schema changes) there's little support and I had to make my own stuff. It works for me, because because I only have 2-3 entities but your app is much more complex, so I wouldn't recommend it even if you started from scratch.
I will say that there's nothing that really stops offline aside from ecosystem support and maturity. All it really takes is a medium-big well maintained project that solves 80-90% of use cases. I think CRDTs are promising for the data layer because it simplifies the API surface (at the expense of complex implementation).
LocalStorage is easy to use but too limited at 50Mb.
WebSQL got deprecated by FireFox because of secuirty issues years ago ( albeit is still somewhat supported in Chrome ).
The FileSystem API looked promising, and then google killed it.
IndexedDb is the only option, it's slow on writes, therefore requiring major hacks like absurd-sql to be performant. It's also old, written before ES6, needs lots of boilerplate, but it does actually work. https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_A...
Even then however there is a limit of 2GB of persistent storage it can use, which is workable but still:
Some versions of Safari are known to delete IndexedDB after 1 week because of power savings. Chrome does not allow it unless you either accept notifications from that domain and/or pass a certain lighthouse score (these reasons are anectodal and not well-documented).
So yeah it's a mess, and a bit sad considering it will take years to ratify a better standard for this, but not impossible to do. Also annoying to know that internally your browser is actually using sqlite under-the-hood anyway.
Web based game engines (i.e. XREngine) are able to get by with IndexedDB i think, and apps like https://github.com/actualbudget/actual created by the author of absurd-sql are good codebases to follow as example.
WebAssembly based sqlite is coming along nicely too. https://sqlite.org/wasm/doc/tip/about.md.
I am personally working on an offline-capable ML product using pyscript, svelte & indexedDb and it's been a painful ammount of fun so far.
I haven’t tried it yet, but it’s at the top of my list. I want to try and combine it with LiteFS for syncing back up to the server, replication, etc.
Wondering if anyone has tried any of this out yet? There’s the potential for a renaissance of offline-first support for devs.
Edit: I see you mentioned it at the end, my bad
[0] https://news.ycombinator.com/item?id=33374402
Users are downloading apps less and less and relying more on web links from apps they already have. So they mostly tend to end up on their browser anyway, and then workflow is disrupted while commuting and going in and out of signal.
Other less important reasons to consider would be in my opinion:
Electron is a bit too heavy on memory for users with 8GB and less of ram albeit it's gotten better lately.
I can't use ublock-origin on chrome or private-relay on safari while using an electron app (in this case however I still benefit from adding a blocklist like https://someonewhocares.org/hosts/ipv6zero/ to my /private/etc/hosts file on mac)
2 GB is a lot when you store plain json document data.
> IndexedDb is the only option, it's slow on writes
Only when you need a new transaction per write. Writing many documents in a single tx is not slow [1]
> Safari are known to delete IndexedDB after 1 week
This is not really a problem because if you have not used the app for one week, you can just replicate the data from the server again.
> WebAssembly based sqlite is coming along nicely too
WebAssembly cannot access the IndexedDB API. In my tests, all the wrappers that use webassembly are slower on writes the just using IndexedDB via javascript.
The fastest you can go is by using a Memory-Synced wrapper around IndexedDB, like LokiJS does it or the RxDB memory plugin. [2]
[1] https://rxdb.info/slow-indexeddb.html
[2] https://rxdb.info/rx-storage-memory-synced.html
You can't if you haven't been able to push up the data for a week.
But in that case, you'd just have to remember to 'use it' ever day or so.
Had a use case a few years back for data collection app in remote African villages. There were definitely situations where a week without decent data access were possible, and 'offline' became a requirement.
[1] https://rxdb.info/rx-storage-dexie.html
It uses OPS which could in theory be used by other kinds of database besides SQL.
https://web.dev/file-system-access/#accessing-files-optimize...
The File System Access API [0] exists today. Unfortunately it's only Chrome based browsers, and not Firefox supporting this. Mayby you referred to an older "standard".
[0] https://developer.mozilla.org/en-US/docs/Web/API/File_System...
So IMO selling offline support as a feature has to come with a clear description of what it means.
Asking sincerely: to me it seems that 50Mb is quite a bit of storage if you are only persisting simple numbers/strings or small JSON documents?
50MB is plenty for time/project tracking, calendar & similar.
It is until you hit the wall on it and then you end up with a lot of tough tradeoffs.
Major technical corrections on this:
WebSQL was never implemented by Firefox. It was an experimental thing that Chrome and Safari shipped, but Firefox refused to because it was the wrong direction since it was certain to in the future cause either major compatibility or functionality problems. The Chrome and Safari developers agreed with this assessment, and so the draft was discontinued, and the two implementations deprecated. Safari finally removed its three years ago, and Chrome has begun the process of removing its this year.
There were no security issues whatsoever—it’s just that what had been made was unsuitable for standardisation, and no one was willing to do the work that would be required to make it suitable for standardisation perhaps because there was no consensus that it would still be a good idea in that form. All up, the WebSQL story is pretty much “it seemed like a good idea at the time because people want the result, and we implemented and shipped it because it was really easy, but then we stepped back and thought things through and realised the entire approach was a mistake”.
How do you mean? They're doing blog posts about web access to the filesystem just this month.
I believe they use Google Firebase Cloud to automatically synchronise data between all devices and platforms.
I just launched the Android app with all networking and mobile disabled, the app showed me all my pages etc and allowed me to enter new data.
It’s architected in a way that client syncs the data, all the actions happen locally and then delta packets are synced back to the server. This also makes the app really fast because the client doesn’t have to wait for the network to complete the action.
I think it could be interesting to see Linear add personal/private TODO support of some kind… like everyone gets a TODO list that is mostly a view of your linear tickets with each as a bullet point in a document (similar to when you mention them in a Notion checklist doc) but where you can also add other items which are just text (and/or entries in a personal/private linear space)
Will give Linear a try!