[HN Gopher] Show HN: I spent 2 years building Tablane as a 17-ye...
___________________________________________________________________
Show HN: I spent 2 years building Tablane as a 17-year-old
Hi HN community, I'm Marcus, a 17-year-old Software Engineer from
Germany. For the past two years I've been working on Tablane
[0](https://github.com/Tablane/tablane) a task/project management
tool, with features like: - Collaborative Editing (google docs) -
Optimistic updates with RTK Query - Realtime sync with Socket.io
- An awesome design Let me know what you think! Ask me anything!
How I got here: 2020: I was developing a TTT [1] (Trouble in
Terrorist Town) plugin for my minecraft server, when I started to
require a project management tool to keep track of the features I
wanted to implement, originally I used a text file, but after some
time I started using products like ClickUp and Monday. But not
long after I hit several paywalls for features that I wanted to use
(Custom Status, Limited Number of Boards, ...) Soon after Tablane
(originally task-board) was born. I started building the website
using plain HTML, then found out about React and completed Colt
Steele's "Web Developer Bootcamp" [2] and "The Modern React
Bootcamp" [3] and started re-writing Tablane in React, and started
adding feature after feature. Now I am about to finish Highschool
and originally I thought about applying to college and spending
another 3-5 years there, but after the positive feedback I got on a
three month internship I did at ContentPepper, and seeing how my
own projects developed, I decided to look for open Developer
positions, to work with a team of experienced developers so I can
learn even faster. Links: [0] https://tablane.net [1]
https://github.com/MarconLP/TTT [2]
https://www.udemy.com/course/modern-react-bootcamp/ [3]
https://www.udemy.com/course/the-web-developer-bootcamp/ Socials:
Resume/CV: https://drive.google.com/file/d/1CbZi1Bm-
MlDHEb4WjsFBzIBSomJ... LinkedIn:
https://www.linkedin.com/in/marcus-hof/ Email: marcus (dot) hof
(at) protonmail (dot)com GitHub: https://github.com/MarconLP
Twitter: https://twitter.com/Marcon565
Author : marconlp
Score : 117 points
Date : 2023-01-06 18:47 UTC (4 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| samsquire wrote:
| This looks really good. Thank you for your hard work.
|
| I would like this kind of tool to be integrated with a Mozilla
| Ubiquity style interface or Sublime Text command palette and
| integrations with Zapier, so we can actually build things with
| the tool.
| metaketa wrote:
| Looks very nice! What I have personally always missed everywhere
| is the Paradigm of seeing a project as a graph. Most pm tools
| only allow a specific depth for subtasks and often the
| functionality for subtasks is limited compared to top level
| tasks. Whereas what I'm looking for is the Lisp/homoiconic
| variant of project management tools. I want to make a nested list
| of tasks like you would do in a text file, and then navigate that
| list with all the views we know and love.
| jemmyw wrote:
| > Show HN: I spent 2 years building Tablane as a 17-year-old
|
| How did you remain 17 for 2 years?
| lol768 wrote:
| Birthday on the 29th of Feb?
| marconlp wrote:
| Actually my birthday is tomorrow
| fancyPantsZero wrote:
| They must be travelling at over 80% the speed of light
| wiseowise wrote:
| Beat me to it.
| kevmo314 wrote:
| Very cool! I love the public roadmap
| https://app.tablane.net/shared/board/63906741c22c232ed88df79...
| yamasanama wrote:
| I fully concur with everybody suggesting you to not skip a
| university education. As a basic example from this project,
| fundamentals of OT/CRDT which you need to deploy to make colab
| editing work correctly (you have used that, right?) are so much
| easier to grok after a bit of theory classes. Your future
| colleagues will thank you for it.
| marconlp wrote:
| I've seen a lot of discussion about my choice of looking for a
| job directly after Highschool.
|
| Reasons against college
|
| - I recently visited a College Conference and wans't really
| impressed by any of them, mainly because their presented
| curriculum where basic js, css, html, react, easy leetcode
| algorithms which I already know
|
| - I don't really happy with my current position in School, where
| I sit and listen to the teacher talking about a topic for an hour
| which I could teach myself with a 5 min youtube video
|
| - Additionally my plan was to move to the US where Waterloo
| University would be 100k a year for non-us-citizen
|
| - I've heard that after a few years of working as a Software
| Engineer the college degree doesn't matter anymore
|
| - Having an income
|
| - learning from experienced Software Engineers
|
| Reasons for college:
|
| - the life experience
|
| - some people say getting a job without a degree is almost
| impossible
|
| What do you guys think about this list?
| xupybd wrote:
| You're probably right that a college is not the fastest or
| cheapest way for you to learn but the world works in funny
| ways. You might find a degree opens more doors than it should.
|
| That said there are ways to get those qualifications at your
| own pace and much cheaper. Find a way to speed run a degree.
| It'll be worth it.
| Waterluvian wrote:
| If you choose not to go to college, I encourage you to write a
| lot. Communication is a thing you practice a lot in college,
| possibly without even noticing.
| coryrc wrote:
| > move to the US where Waterloo University would be 100k a year
| for non-us-citizen
|
| That sounds like a terrible idea, to be fair. (And you don't
| mean University of Waterloo in Canada?). Isn't University free
| in Germany?
|
| > mainly because their presented curriculum where basic js,
| css, html, react, easy leetcode algorithms
|
| Maybe, but are you sure they aren't teaching engineering
| ethics, digital logic, discrete algebra, calculus, and a lot of
| other things too?
|
| Additionally, you will never again get the chance to be 18-22
| and around a whole bunch of 18-22 year-olds again. It will
| never be easier in your life to make friends. You have your
| whole life to be programming. Don't make the same mistake I
| made. Live it up. Study abroad. Go on spring break with
| friends.
| JanSt wrote:
| WWU has a pretty math heavy curriculum (although there are now
| less rigouros math courses for Informatikstudenten) and you
| will learn a lot of abstract thinking, computational theory,
| optimizations, operating systems, databases (with theoretical
| foundations), computer graphics, computer vision, machine
| learning and you can get a glimpse into things like
| Medizinische Informatik in seminars.
|
| Take a look at the course list, pick one that sound interesting
| and just go there for a day or two in a big horsaal, no one
| will care about you. Vorlesungen are boring but it will give
| you insights on the topics you will study there.
|
| In most courses no one will care whether you go there or not,
| just do it at home and quicker.
|
| You won't need all of that but it will give you a strong
| foundation for whatever the future holds.
|
| If you want to work look for part time positions and study on
| the side. It's easy because the cost is only EUR600/year and
| includes public transport.
|
| The degree will help you everywhere: immigration, getting past
| hr, getting jobs that go beyond web dev etc.
| theodric wrote:
| What's most impressive is that you managed to remain 17 for two
| years!
| krat0sprakhar wrote:
| Excellent work. Committing to working on something for 2 years
| and shipping is an incredible achievement at any age let alone
| 17. Keep at it and you'll go places!
|
| Good luck!
| amitprasad wrote:
| Hey Marcus! Super cool to see another fellow Minecraft-
| jumpstarted developer. I got into programming way back in 2013
| with Minecraft mods and then Bukkit/Spigot plugins.
|
| > I decided to look for open Developer positions, to work with a
| team of experienced developers so I can learn even faster.
|
| Seeing as you're in Europe and not in the U.S. (with exorbitant
| tuition costs), I would actually recommend against skipping out
| on College. I can confidently say that while experience in the
| industry is great (having worked part-time at a startup, as well
| as various internships during College), I think the knowledge
| gained from University classes is often underrated.
|
| Not only that, but College is definitely a life experience that I
| would recommend not to skip lightly.
|
| Regardless, this is super impressive work!
| filoleg wrote:
| To add to your great points, if OP ever decides to immigrate
| elsewhere (not even talking about the US specifically, but
| pretty much anywhere outside of the EU), attempting it without
| a college degree can range somewhere between extremely
| difficult and impossible. Yes, even for high-earning fields
| like software development.
|
| Unless there are strong reasons not to do college, I would
| recommend to not skip it.
|
| Disclaimer: I am talking about OP's situation specifically. I
| am not trying to make a general "everyone should go to college
| unless they have a strong reason not to" statement, because I
| don't agree with it myself.
| fillskills wrote:
| An additional tip: College is not too hard, specially in
| colleges where you can choose to pursue easier subjects or
| less number of subjects in a semester when needed. This might
| give OP the flexibility to purse the startup/project in
| parallel with college if they want.
| z3t4 wrote:
| All knowelage today can be found on the web. And you will never
| have any use of 95% of the course. If you get emplyed you will
| find that you already know more then the people with an
| engendering degree. But I still recommend getting a engineering
| degree for two reason 1) those with a degree earns 25% more
| then you because they can get more job offers 2)
| university/college is good for your social life.
|
| So if you already have many job offers (1) (you can negotiate a
| good salary) and already have a GF (2) reason 1 and 2 is
| already covered and thus you don't need uni/college.
| armchairhacker wrote:
| Would it be acceptable to do a part-time (i.e. community)
| college or take college classes with an internship? If not, I
| strongly recommend look at a college with co-op and internship
| program.
|
| I agree that the computer _science_ knowledge, even some of the
| deeply theoretical stuff, is heavily underrated. Classes like
| OS, networks, programming languages and compilers, and
| computation theory have taught me stuff I use in actual
| software development. Plus, learning how to look up stuff and
| understand research papers and take measurements and form
| experiments (you will need to read heavy documentation and
| measure things in industry).
|
| Without knowing the fundamentals of CS like data structures you
| may miss out some concepts and end up doing things
| inefficiently (in both development effort and inefficient
| programs). Webdev alone won't get you that knowledge.
|
| As for the "college experience" personally I disagree. I'm of
| the camp (as an American) that it's mostly a glorified American
| thing. As long as you have _some_ friends, who you can find in
| college or industry or your local town (if you don't move), you
| are set, and you're not missing much (as having some friends
| and hanging out basically _is_ the college experience).
|
| But also, as someone who went through college I think it
| _greatly_ helps to have experience in industry. Because while
| you miss out on purely industry, you also miss out on purely
| academia (cue: academics who are wildly out-of-touch, papers on
| deep theoretical concepts I doubt will have any real-world
| use). It also really helps with finances (read: not going into
| college debt) and "getting your foot in the game" and making
| connections early is extremely useful as it will let you
| graduate with experience on your resume and skip entry-level
| jobs. I think that the best solution is both, hence join an
| internship-focused college or take college classes and maybe
| lab work while doing an internship
| FlyingAvatar wrote:
| As someone who left mid-college to do software development
| work, I regret not completing a degree of some kind. (I was
| studying electrical engineering.)
|
| I would say, for me, it actually would have been good to spend
| a few years working in industry to get a view of what real
| world programming is like and gain some awareness of what doors
| might be closed to you without a degree.
|
| In this situation I would recommend being careful to not become
| dependent on the level of income that most software development
| provides. If you are cautious with your finances, you could
| decide to go for the degree with some money saved up as opposed
| to it feeling like a major financial hurdle to leave your job
| in order to go to school full time.
| Octabrain wrote:
| > I can confidently say that while experience in the industry
| is great (having worked part-time at a startup, as well as
| various internships during College), I think the knowledge
| gained from University classes is often underrated.
|
| 100% agree. Great advice. I never went to University, in my
| case for reasons that I prefer not to mention and it has been a
| constant source of regret. I wish I had a time machine.
| consp wrote:
| Nice job!
|
| I stopped reading at "Tablane is a workspace that adapts to your
| needs. It's as minimal or as powerful as you need it to be."
|
| This tells me nothing and triggers my "do not ever go there scam"
| sense.
| gremlinsinc wrote:
| Looks pretty awesome, definitely see this as a nice clickup
| replacements for small projects where clickup might be a little
| bloated/overkill.
|
| I really like the nesting, as that's often how my mind works and
| why I like notion-like things where you can build nested
| workflows. However, w/ clickup I feel you get nesting but it's
| often more like hyperlinks so you don't always get to see
| hierarchy and how things relate, where this you get a more birds-
| eye view of how everything is linked to each other via the
| nesting/folder-like structure. Both have their pros and cons,
| clickup's being it can be a bit more like a wiki meets
| trello+notion, but again finding things is a bit more chaotic.
| marconlp wrote:
| Do you mind sharing an example of your hierarchy? I have a
| similar feeling with the separation of tablane's workspaces, I
| though about adding a discord-like workspace switcher.
| maille wrote:
| I'm giving it a try (using the cloud version) and can't find how
| to assign someone or set a status to a task. Is it limited to the
| private beta?
| marconlp wrote:
| You have to add a People Column to the Board in the top right
| corner, in which you can assign someone.
|
| The private beta is refering to the versions before v0.1, when
| there wasn't a publicly hosted version.
| maille wrote:
| Thanks but I have no idea how to do that, maybe I'm not even
| in the "board view" for starter. Ok, found it, the small +
| icon. I would suggest to make it more obvious that this icon
| hides all the nice stuff
| mgaunard wrote:
| Settings don't seem to work on mobile.
| marconlp wrote:
| Yes, they are currently not mobile optimized. It's not a high
| priority because I think doing it once on a Desktop/Laptop is
| okay for now.
| lkbm wrote:
| This looks promising.
|
| I immediately went in and created a Workspace and then a Space
| (which I gave the same name because I was unsure what a Workspace
| is or a Space is), and then added some tasks with subtasks.
|
| Then I went to "Home" and it told me "No assigned tasks".
|
| Okay...can I assign tasks? I don't see a way.
|
| Looking at the roadmap, I see that "assignee" is a TODO, but does
| that mean the Home will be blank until that's implementing? I
| don't know!
|
| Also, when I open a task, the subtask list is titled "Empty". It
| doesn't matter whether there are subtaks entered--it's titled
| "Empty". I'm not sure why or if there's a way I can make it say
| something else--not sure what I'd want it to say.
|
| Overall, this looks good, seems easy to use (in the sense of
| "typing in tasks and subtasks was quick and easy--surprisingly
| rare in such apps!) and I love that you're building in public
| this way. I'm not ready to switch to using it, but in some ways
| it's better than the competitors. Really, the ease at which I
| could type in and rearrange tasks+subtasks is better than Notion
| (the worst!), Emery (no subtasks), Amazing Marvin, or Todoist.
| Get working "inbox"/"timeline" view and "deadlines" (at a subtask
| level), and I might be ready to pay you money to use it.
| lol768 wrote:
| > Okay...can I assign tasks? I don't see a way.
|
| Pick from the Essentials column list and add "People" to the
| task list. Then pick yourself. It'll show up on the homepage.
| lkbm wrote:
| Ah, yup, thanks!
|
| As a personal TODO app, I would want things to default-assign
| to myself, but I realize this is meant more of a
| collaborative app.
| lkbm wrote:
| Oh, I think "EMPTY" is the lack of a label? But I can't add
| labels, I also can't mark things as done.
|
| The screenshots seem more "complete". so either I'm missing
| something or I just don't have access to a lot of the "beta"
| features.
| marconlp wrote:
| You have to add a Status Column. There you will be able to
| add labels. After that you need to group the tasks by that
| Status.
| lkbm wrote:
| Ahh, also lets me assign! Thanks!
| lowercased wrote:
| Nice job so far!
|
| One thing that would help onboarding, I think, may be an
| initial/sample/example/default workspace with some illustrative
| sections and tasks. It's a bit too empty/minimal up front, but I
| see some potential/promise here for sure.
|
| Again, nice work!
| shoo wrote:
| > I decided to look for open Developer positions, to work with a
| team of experienced developers so I can learn even faster.
|
| Good idea -- working in a team that has a few experienced
| developers provides a great way to rapidly learn - both to
| improve technical skills but also get experience and start to
| learn all the other skills required to be useful on real world
| software projects. A great environment for learning might be one
| where the team spends all or most of the time working from a
| central office. It can sometimes also be good to find a team
| where you're not the only junior developer, and there's a healthy
| ratio of junior to senior developers.
|
| That said, one potential benefit of college is the opportunity of
| gaining exposure to topics or fields you might find very
| interesting, but don't know about yet. But you always have the
| option of changing your mind after a year or five of working on
| software projects in industry, and working in industry may also
| give you an idea of a particular niche you want to specialise in.
|
| Best of luck!
| topicseed wrote:
| Can't wait for you to be spotted and hired by ClickUp ;-)
| marconlp wrote:
| I would have already applied at ClickUp if they weren't hiring
| only 5+ year Experience Software Engineer
| lol768 wrote:
| If you're good enough (and you are!), sometimes requirements
| like these aren't as set in stone as they may appear and
| rules can be bent/positions created.
|
| It'd be worth pinging over an email to someone senior there
| if you haven't already with a link to your portfolio (and
| maybe this post) if you're particularly interested.
| sakopov wrote:
| Congratulations on sticking to it and delivering a useable
| product after 2 years of work! That's an impressive feat at your
| age.
| marconlp wrote:
| Thanks, the main inspiration was to avoid paying 8$/month to a
| competitor and actually using it myself!
| rglover wrote:
| Nice work, Marcus. This is really impressive. Dig the polish on
| everything.
| lol768 wrote:
| This is super impressive; nice to see folks who've come from a
| Bukkit plugin development background too :P
|
| Few suggestions:
|
| The description you've given us here on HN is so much better than
| on your landing page here: https://tablane.net/ The first
| thoughts I had were: "Okay, Productivity. And it's 'Next
| Generation'. What does that even mean? The screenshot is pretty
| but I don't really understand what it's showing". I then read the
| GitHub description "Tablane is a workspace that adapts to your
| needs. It's as minimal or as powerful as you need it to be." and
| ended up even more confused. What is a workspace in this context?
| It's great it can adapt to my needs, but I don't know what it
| even does. Once I read the description here on HN, it made a lot
| more sense. It'd be useful to explain the hierarchy of
| workspaces/spaces/tasks a bit more.
|
| There are a few dialogs that don't seem to support keyboard
| controls (like Enter), I've opened a PR for this.
|
| When I try and run it locally to test my PR, it seems to complain
| with an "AppError: Invalid access token" on the backend. I get a
| "Something went wrong" error message (and the XHR fails with a
| CORS error). What am I doing wrong?
| marconlp wrote:
| > I got that feedback several time already I tried to make it
| easier to understand with the interactive demo on
| https://tablane.net
|
| > There are a few dialogs that don't seem to support keyboard
| controls (like Enter), I've opened a PR for this.
|
| Thanks, I am going to check that!
|
| > When I try and run it locally to test my PR, it seems to
| complain with an "AppError: Invalid access token" on the
| backend. I get a "Something went wrong" error message (and the
| XHR fails with a CORS error). What am I doing wrong?
|
| I forgot to add the .env.example file to the tablane-api repo:
| https://github.com/Tablane/tablane-api/commit/6c92035505914d...
| agentwiggles wrote:
| Really nice looking work! How did you build your landing page and
| your design? One of the major gaps in my skillset is design/css,
| so I'm always impressed by good looking sites like yours.
| marconlp wrote:
| I design things by throwing a lot of elements I like from other
| places together.
|
| Here are some examples: https://imgur.com/a/5EL2LJq
| agentwiggles wrote:
| That's quite a simple and sensible answer! Nice work. I might
| need to assemble some reference material for myself like
| that.
| MrGilbert wrote:
| Kudos to your platform! Really cool. I'd also like to advice
| against skipping university. You might aim higher, but having
| some kind of degree helps opening some doors, especially in
| Germany. But I also recommend checking out some internship or
| part-time opportunities. Wish you all of luck!
|
| I'm a C# guy, so I might not be of any help, but I'm a
| professional developer for 10+ years here in Germany. So If you
| have any questions, you can find my email in the about page.
| xupybd wrote:
| * * *
| hejejejj wrote:
| [flagged]
| shudza wrote:
| Go to college and have fun. You are too young to waste your best
| years working.
| JanSt wrote:
| Any domain you are especially interested to work in? Robotics,
| finance, media, sports, health?
| vintagedave wrote:
| This looks really professional, and I'm impressed. I like you can
| self-host as well; I'm not personally a fan of relying on the
| cloud or third-party services for things like personal task
| management (company task/project management is fine), which I
| think many on HN share. Self-hosting goes a long way to solving
| that.
|
| How did you build collaborative editing? I know it's a very
| complex thing to achieve.
|
| It uses the Sustainable Use License. I am not familiar with this
| though some googling shows several companies using it. Can you
| share what led you to choose it?
|
| Minor nitpick: your readme says "First, rename .env.example to
| .env." but I didn't see anything in the readme referring to
| "env".
| marconlp wrote:
| > How did you build collaborative editing?
|
| As KRAKRISMOTT said, I am using TipTap with their HocusPocus
| backend!
|
| > It uses the Sustainable Use License. I am not familiar with
| this though some googling shows several companies using it. Can
| you share what led you to choose it?
|
| I mainly choose that one because of the incident with AWS
| offering ElasticSearch as a Service without their approval
|
| I want something basically Opensource, where Individuals or
| Companies can use it freely for their own purpose BUT limtit
| companies from starting a competitor to Tablane Cloud from my
| own work.
|
| > Minor nitpick: your readme says "First, rename .env.example
| to .env." but I didn't see anything in the readme referring to
| "env".
|
| I forgot to add a .env.example file in the tablane-api repo.
| Going to fix that!
| KRAKRISMOTT wrote:
| > _How did you build collaborative editing? I know it 's a very
| complex thing to achieve._
|
| Tiptap is listed as dependency, so it is almost certainly using
| Y.js as the CRDT provider.
___________________________________________________________________
(page generated 2023-01-06 23:00 UTC)