Show HN: I built my own PM tool after trying Trello, Asana, ClickUp, etc. (upbase.io)

632 points by tonypham ↗ HN
Hey HN,

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 ] thread
Reminds me of Tasks by Planner and To Do by Microsoft
Did you build this all by yourself? Looks like a great tool.
Looks like it's a team of 6 people according to their "Our Story" page.

The "I built" in the title seems misleading, what's up there @OP ?

Like CEOs who say they build datacenters and international branches.

I always read those as "I lead the team that built it"

We have 3 developers to build the app.
(comment deleted)
That's not an "I built it" story then.

"I was dissatisfied with ... so I made other people build it"

Apologize for the misleading words. The right ones should be "I built it with our team"
Why not use “we built it” instead?

You don’t want to give your teammates a credit?

Why not give the benefit of doubt?

Maybe the OP just followed the structure of every other showHN post?

I think people want to get connected with a specific person rather than a team. It feels more personal.
(comment deleted)
Building something up does not only mean putting in the physical activity (laying down bricks or putting in characters into files).
We're a team of 3. The app is too big to build it myself alone.
Thanks. I was about to freak out if you built and maintained all this as a 1 person team.
Does it support Markdown? That's what I find lacking in many of these PM tools - they either use some custom, complicated markup, or wysiwyg, which makes it hard to format text properly and copy and paste text.
Currently, only the Chat tool supports Markdown. But we do plan to have Markdown all over the place.
I'm a solo founder working on a project management tool which supports markdown. Take a look. :)

https://macroapp.io

I like the idea behind this tool. All the best with the development.
Looks nice. do you have a mobile app?
No mobile app right now. (Too much todo already ).

The site is responsive, however the mobile UX could be improved for sure.

Thanks for your work. Yes, the site is responsible, but a task widget is not something I'd easily give up on.
Currently use confluence at work, trying to find a replacement, this almost does it. Need a way during meeting notes to assign tasks in the document as part of the notes. We also review prior current tasks before we start the new meeting.
I love the clean UI. All the best!
Immediately turned off by the AppSumo lifetime deal. Seems to be where projects go to draw in a bit of cash before they fail or get sold off.

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.

Being on AppSumo helps us gain initial traction and feedback to improve the product at a faster pace, since we're not VC-backed.
Fair trade off, I think perfect world best practices are nice, and so is finding free money on the ground. Both pretty infrequent day to day.
As a seller, how does AppSumo work?

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..)?

Listing on AppSumo is free. They have two options:

- 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.

Better uptime https://betterstack.com/better-uptime has done it and built amazing product using this initial money. It makes sense for small bootstrapped teams.
Yeah, I read a ton of AppSumo launch case studies before I decided to run this campaign. It does help a lot.
Upbase looks great!

“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.

Yes, Todoist and Nirvana work great for personal task management, but not for teams. We want to build a tool for teams that empowers personal productivity.
Looks very good and really impressive if it was built all by your lonesome !!

Not trying to be pessimistic, but doesn't notion give you all these already ? Or did I miss something here ?

Upbase has a completely different way of structuring all the tools it has to offer. Each tool has its own place, separated from the others. And that creates clarity. In a nutshell, it's more organized and way easier to get started with than Notion.
Great to hear! I know a very meticulous person about to start an EV auto company and this looks like the perfect fit, and I’m 100 percent serious.

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!

Would be great to have a self-hosted version for the lifetime plan
Sorry, we don't have a self-hosted version now.
OP knows, that's why he is suggesting it
Every non-FOSS piece of software I've ever deployed slowly degrades over time as founders get greedy or need to recoup costs from investors. Plex is the canonical example. Linux is the canonical counterexample.

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

We'll pay once, we'll pay yearly, we'll pay by the seat... but it has to be self-hosted, because we can't trust you not to spill our secrets.
Would definitely consider paying for it; I had licenses for self-hosted JIRA, BitBucket, etc, ages ago before Atlassian announced the end of everything except the datacenter plans, which are just super not necessary/absurdly expensive for a small team of <10 people. And despite really preferring FOSS, I can accept using a significantly better proprietary service, but only if it’s something I don’t have to rely on you to keep stable and don’t have to rely on you to keep my data secure.

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...

Self-hosted and On-Premise are both great ways to get uptake (and money, eventually) so it's great to plan/architect ahead for it if you can. But be super careful about offering support for any On-Premise offering, it is effectively a new org you are adding to the company. This will be especially true if you land enterprise customers (e.g., "I didn't know you could do that with NTP!").
Really love the look and feel. Did you use tailwindUI by any chance?
Thanks. We did use tailwindUI for the app.
I was trying this and looks good, but I can not edit what time a task is done, when on week view, which makes it impossible to setup the time a task could be done at at a future date.

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.

You can open the due date picker to set the time, or go to the Daily Planner page and then drag and drop a task onto the right sidebar Calendar to set the start and end time.

Weekly Planner and Daily Planner are the two main views, so you need to go to these pages to check for due tasks.

Interested because it has all the basic features I want, and like the lifetime membership thing, but the mobile experience is unusable, and for that reason, I’m out. /sharktank
On mobile, you should download the app, instead of logging in on the web browser, as it's not responsive on the browser yet.
Do you provide a downloadable APK? My phone doesn't have Google Play.
No, it's not possible at the moment.
It’s a cool tool, but you are in a highly commoditised market with intense competition. Your product has to be more than good to win people over. I use Jira in a project right now and it’s a sea of tickets with no order or structure. So there may be a problem to solve if you can find a great workflow.
Thanks for your feedback. We're aware that we're in a very saturated and competitive market, and the product needs to be GREAT, not just good.
I just bought the lifetime license, because it looks useful and I hope you're successful. Reminds me a lot of the self hosted https://duetapp.com
Thanks so much for your support! We'll try our best to make the app great!
I like your self-hosted pricing model, I ended up with the same for my analytics platform[0] (Lifetime license + 12 months updates and support) after many attempts.

[0]: https://uxwizz.com/

If I may ask, do your have significant customer numbers? I'm asking this because I think all of the PM tools you mentioned are very popular.
We're still very early days, and we're working hard on growing our customer base.
Looks great!

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".

Thanks so much for your feedback. We'll check the timezone issue.
Kudos to your effort! I think I will be next in line, over time, with similar post. Everything I’ve tried is just not working (in full). From now great experience, it seems team sizes need definitely different approaches and also it seems people building those tools don’t really have much experience in what works and what doesn’t across orgs and team sizes. To be honest, I strongly believe it’s not possible to build one size fits all solution anyways for project management, and on the other hand I also believe a tool for project management should have ultra strong vision and less flexibility.. with a space then for different tools/methodologies for people to choose from instead of trying to have one tool that fits (not) all.
Thanks a lot for your feedback. Upbase is specifically designed for solos and small businesses, which don't need a lot of fancy features. I have a sense that most PM tools are built for large teams and enterprises, with too much bells and whistles.
Do you see a way to make migration easy?

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?

We'll need to take a closer look to be able to answer your question, since we're not working on the migration yet.
> it seems people building those tools don’t really have much experience in what works and what doesn’t across orgs and team sizes...

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.)

Thanks, I will most definitely check it out. I can already see it sings the song of my people:

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.

Uses the same folder-list paradigm as ClickUp, which, as a long time JIRA user recently converted to ClickUp, I find to be a plus. The simplicity and responsiveness of the interface appears to be an improvement over ClickUp. However, one thing I love about ClickUp is its ability to quickly configure task statuses (which in JIRA, is the equivalent of programming a VCR). So if this product could add flexible task statuses, and also task tags, it might be a low cost contender to ClickUp.

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.

Just figured out that sections map to statuses. Not a bad idea.
Yes, you can use sections for task statuses.
Chat/message feature is great -- can avoid project-related slack messages.
Thanks so much for your feedback. We do plan to add custom fields in the upcoming months, and you can create custom task statuses from there. Tags in on our roadmap as well. We'll consider nested folders if there are enough demands. You can create subtasks now, but not nested subtasks yet.
Congratulations on shipping and getting to revenue! This is terrific looking and you and your team have done some really nice work here. Just purchased.
Thanks so much! It's still the early days, and we have a lot of things to do to make the app better.
Looks exciting, sent a link to my boss for his consideration.
Very polished, I'm impressed! It seems like everyone ends up recreating a PM or todo tool at some point. It makes me wonder if there could be a world where we have a standard protocol/api and then anyone can bring their own preferred interface?
> if there could be a world where we have a standard...

Probably not.

That's the great thing about standards, there's so many to choose from!
I feel it would be like SQL with multiple dialects. Some small set would be interoperable, but eventually things end up diverging.
Note taking has this behavior, see Obsidian, Roam, Notion etc and markup import/export. It sort of works but not really.

We need ANSI pomodoros clearly :)

For todos you could just use an iCalendar file full of VTODOs [1]. It's a shame that the iCalendar standard is poorly and incompletely implemented even in calendar programs and almost always missing from organizer programs that are basically todo lists.

[1] https://icalendar.org/iCalendar-RFC-5545/3-6-2-to-do-compone...

In reality this looks far too basic to actually be a todo spec for a reasonable productivity app.

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

Hierarchcies are handled by 3.2.15 (https://datatracker.ietf.org/doc/html/rfc5545), and I suspect that could be leveraged to handle multi-step tasks; reminder dates are handled by VALARM in 3.6.6 (https://datatracker.ietf.org/doc/html/rfc5545#section-3.6.6). Tags could be stored in comment properties (https://datatracker.ietf.org/doc/html/rfc5545#section-3.8.1....), but there's probably a better way already in the spec, which also includes support for extension by adding non-standard properties (https://datatracker.ietf.org/doc/html/rfc5545#section-3.8.8....).
Fair enough - I stand corrected! It does look like that could probably handle those things.
That would imply that the data model and semantics are the same, but they usually aren’t.
I think that world is coming. The representation of tasks, dependencies, hierarchies, calendars, and collaborations should be relatively universal.

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.

One of the big problems here is that there's no agreed upon mental model for how people think about the pieces fitting together (and I don't think that we could come up with one that would work for everyone).

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.)

Would you mind sharing what the tech stacks is.

(Granted it doesn’t matter, use what you know best)

Agreed, I'd also like to know the high-level details of the stack.
Mainly Golang (BE) and Vuejs (FE)
One thing I've always wanted in a tool like this is the ability to map out probabilities, i.e., we do A, then B but after that we do either C,D or E. Each one on these has an associated probability (C: 0.4, D: 0.5, E: 0.1) and an associated estimate (C: 10 +- 5 normal, D: 12 +- 3 uniform, E: 3 +-1 normal).

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).

Yeah, it does sound a bit complicated :))

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.

Gantt charts can be made in MS Project, Google Sheets,: https://en.wikipedia.org/wiki/Gantt_chart

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:

  #ComplexityEstimate: 
  C:1
  C: Fibonacci[n]
  C: (A), J, Q, K, (A)

  #TimeEstimate:
  T:2d
  T:5m

  #Good First Issue
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

CPM sounds a lot like a PERT chart, which was invented in the 1950's to help design and build the Polaris nuclear submarines during the Cold War[0]. PERT has been part of Microsoft Project for decades, so it's readily available.

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...

WBS: Work Breakdown Structure: https://en.wikipedia.org/wiki/Work_breakdown_structure

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:

  - [ ] Objective
    - [x] Task 1 +tag
    - [ ] #237 (GitHub fills in the Title and Open/Closed/Merged state and adds a *hover card*)
    - [x] Multiline Markdown list item indentation
      
      <URL|text|>

      - ID#: 
      - Title: 
      - Labels: [ ]
      - Description: |
        - htps://URL#yaml-yamlld
    - [x] Multiline Markdown list item indentation w/ --- YAML front matter delimiters

      ---
      - id: 
      - title: 
      - labels: [ ]
      ---
      - htps://URL#yaml-yamlld
Time management > Setting priorities and goals > The Eisenhower Method: https://en.wikipedia.org/wiki/Time_management#The_Eisenhower... :

  |            | Important | Not important
  | Urgent     | 
  | Not Urgent | 
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 the probabilities could be a result of an intra-team prediction market. Half-joking.
I know, I know, it sounds very complicated. The actual end goal however is to show quantitatively why estimating too far out is generally unreliable as well as the associated combinatorial explosion of paths. The idea is basically to illustrate the actual reality of planning.
Have you read "Righting Software" by Juval Lowy? You might really enjoy it based on your feedback above and here. There is a project design aspect that goes into this kind of planning (or at least reminds me of what you wrote).
You could try TreeAge for mapping out probabilities: https://www.treeage.com/

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.

Thanks. I'll keep my eye on knotend.
Interesting thought. One could do Monte Carlo simulations to estimate the probability distribution of time-to-finish. I considered something like this [0] to explain the empirical log-normal distribution of project completion times [1], although I hadn't thought about including sequencing & bottlenecks. Probabilistic programming [2] is the discipline concerned with solving this type of problem - some tooling might exist, although probably w/o a nice UI.

[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

Twiglfo.com allows for this. You can put probabilities on nodes that make up a directed graph (think flowcharts). Bottlenecks and dependencies are also extremely easy to see in this UI.

As others have said, PM tools need to become more opinionated rather than recreating what already exists.

What calendars can you integrate? It's a no-go if it doesn't have Outlook calendar integration. App developers always assume everyone is OK using Google calendar. Functionality for only Google calendar alienates a large portion of the your prospective user pool who are "Google-Free".
Due to popular demand, Google Calendar will be our first integration. After that, we'll consider adding more Calendars, like Outlook.
Can you consider the improtance of also integrating with Color Coding too when you do these?

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.

Thanks for your feedback and suggestions. I do not fully understand your point on "Color Coding" yet. Please get in touch via help@upbase.io and give me a bit more detail (plus some screenshots, if possible).
Founder at Sunsama here.

What would close the gap between "closest" and "perfect for you"?

Here's my calendar for the week.

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.

Pretty impressive to have built this in two years!

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.

Yeah, the tool is specifically designed for solos and small teams with basic needs and simple workflows. Big teams will find it not powerful or flexible enough. Thanks for your feedback. I appreciate it.
This positioning is confusing as most of the features are an overkill for a solo engineer/entrepreneur/etc.

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.

Thanks for your interesting suggestions. We did think of having an Individual plan to make it easier for people to choose, and they'll have a better experience.
Does it have offline support?

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.

Offline support is costly, and we do not have the resources for it yet. For businesses that have a lot of small customers, offline support is challenging.
Really appreciated this no-no sense, straightforward reply.

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.

To add why: the ecosystem is immature. I am building a decentralized app (the old way) but with an event sourced architecture (append-only list of JSON events/commands).

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).

Have you tried Obsidian with its Kanban plug-in? If so, I’d love to learn what you make of options like that?
I haven't tried it yet. Will take the time to check it out. Thanks for your suggestions.
(comment deleted)
It's rare to see offline support in a web app for a few reasons:

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.

There was a post a couple weeks ago here about SQLite on WASM that looked very promising [0].

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

You could just wrap the web app in Capacitor for mobile and Electron for desktop, and easily use a SQLite db for unlimited persistence. If someone is interested in offline support, I don’t think it is a dealbreaker to have to download an app. That’s pretty common (eg Netflix, Spotify, hbo, any of the streaming services. The offline support only works in the app, not the web player).
Logically it's not a deal breaker (as Electron is quite mature) but practically there are a few problems:

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)

My experience is different regarding Electron apps. Many of the Electron apps I use (Spotify, Slack, Notion) have a web UI option. I never use it and now just a handful of people who sometimes open Notion or Slack on web.
> 2GB of persistent storage

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

> 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.

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.

Cool, but we are talking about a PM tool here, so what really matters is people having no/slow internet for a short period of time.
"I lost data because I went on a vacation" is not an acceptable failure mode. Users understand "no data is saved" or "all data is saved," complex rules will lead to pain.
In other words, native apps still have a place and will for the foreseeable future.
Insightful comment! I've faced similar issues when wanting to store an arbitrary amount of data "locally", but usable via a web interface. Because of the various limitations you enumerated, our conclusion was to have a local web server, written in Go, that stores what we need on disk. Then the web application talks over a JSON HTTP API when storing and retrieving.
I think we need to define better (or re-define) what offline support actually means. Even an ideal fantasy implementation of a PM app with offline support will have limitations unless you sync the entire company’s space with all clients (users, files, docs, comments, tasks, roadmaps, etc).

So IMO selling offline support as a feature has to come with a clear description of what it means.

> LocalStorage is easy to use but too limited at 50Mb.

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?

Where is 50 coming from? All docs I've read say 5MB. Also IndexDB crashes in Firefox IndexedDB.
> LocalStorage is easy to use but too limited at 50Mb.

50MB is plenty for time/project tracking, calendar & similar.

Depends on the size of the organization using it.

It is until you hit the wall on it and then you end up with a lot of tough tradeoffs.

> WebSQL got deprecated by FireFox because of secuirty issues years ago ( albeit is still somewhat supported in Chrome ).

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”.

"The FileSystem API looked promising, and then google killed it."

How do you mean? They're doing blog posts about web access to the filesystem just this month.

(comment deleted)
Offline is nice in theory, but not as useful in reality. For solo projects, I will skip all the fancy tools and just use org-mode (emacs), which is offline. For a company project, most people don't get to decide which tool to use. Besides, if you spend significant time in a project management tool, even if your title is project manager, there is something seriously wrong with the project already. In which case, the tools is not the problem you should be worried about.
Try akiflow.com, it has excellent offline support.
Yeah, when we built our product (kitemaker.co) we introduced offline capabilities quite early because my co-founder often had very spotty wifi during train commutes. We ended up making all writes totally optimistic with data sync in the background. Has the nice performance benefit of the frontend never waiting for the server as well.
Remember the Milk (https://www.rememberthemilk.com/) is a fairly advanced todo application which works identically offline and online.

I believe they use Google Firebase Cloud to automatically synchronise data between all devices and platforms.

Doesn't Notion have offline support these days?

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.

We built Linear(https://linear.app) to be offline first from the beginning. It’s kind of hard to do later.

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.

Thank you for building Linear the way you have! So snappy in so many ways.

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)

I love linear but your advertised "offline mode" is not what I would expect it to be. If I open the Mac app when I'm offline I just get a blank window and have no access to any of my data or a window telling me "Unknown Error loading your workspace data". So I have to login once and keep the app open before I go offline. If I close the app while being offline and reopen it without internet connection I won't have access to any of my data. This is sadly killing the app for me. Is this expected behaviour? Just a "read only" mode of the last state I had when last logged in would be enough for me.
Tell TA he's a wizard but his dependency graph causes deadlocks
Linear looks great! I love how focused it is on this specific problem area. I don’t find all-in-one apps like OPs very useful. Can’t replace all my tools like chat, docs, project management, etc at once.

Will give Linear a try!