Hacker News new | past | comments | ask | show | jobs | submit login
My weekend project turned into a 3 year journey (znote.io)
106 points by tony_lag 5 months ago | hide | past | favorite | 38 comments



5 years ago I wanted to make animated visuals for music videos / light shows. I got the initial version quite quickly. You could make a composition of shapes and had some functions like swap these two components every 2 beats, rotate this one every 4, etc.

That got me thinking about the structure of language, how to model space-time and essentially how to build a programming language capable of building visuals through time similar to how one how would build functions in lambda calculus.

I spent countless hours on this and its become an obsession. I have hundreds of pages of scribbles and built 20 implementations trying to approach the problem another way, got stuck somewhere and restarted. Im closer than when I started but I am burnt out. I really wanted to build a sensible prototype but short of that I just feel like I'm nuts and its all close to worthless.


If you're not showing your prototypes to people to get feedback as you go, you'll easily burn out. We need feedback, as humans. The only artists I know who work in a vacuum are bitter and misanthropic.

I'd love see what you have arrived at, if you'll share it.


True, but IME showing your prototypes to people and getting ignored also seemingly leads to burnout (sample n=1)


Being ignored is a kind of feedback - if there is no interest then either the project has no value or it needs to be improved or pivoted. If you belive in it strongly, keep interating and getting feedback, in as short cycles as possible.


Ive been pretty hesitant to share without a solid prototype or even a solid model on paper. I can write about my thought process I suppose.


Customers often do not know exactly what they want.


Even though it sounds like the journey was the goal, you may want to look at TouchDesigner, which is a powerful tool for this use case.

https://derivative.ca/


I have seen this. Its pretty cool and I do want to learn it.

What I am thinking of is much more of programming language though. The fundemental object is something like a composable tree with some additional state.


Have you considered going the react way?

What I mean is that the react core library does not assume an html target but rather builds a virtual component tree that can be mapped to various semantics (the two I know of are react-dom that produces a DOM and react native that produces whatever is used in mobile UIs)

You could sorta recycle the idea or maybe check if React with SVG might be enough for a (low frame rate) prototype.

It does indeed sound like a very infectious obsession, I hope I can forget about the idea :-)


I did do something similar with Svelte, but the rendering aspect is the last of my issues really.

>It does indeed sound like a very infectious obsession, I hope I can forget about the idea :-)

If you don't I could use someone to talk these things through.


That project is the LSD of coding.

- you get instant visual feedback

- the problem space is infinite and depends heavily on framing and psychology

- success is a moving target based on subjective goals

IMO, "build a system for X" is usually a trap. It's psychologically safer to "build a system for music videos" than to actually make a music video.


Funny you say that. I got the inspiration in part from weed hallucinations. I'd be listening to music and when I closed my eyes, I'd see this moving beautiful 3D colorful visuals. I thought it was astonishing that our brain could come up with these geometric structure and transform them in any way possible. I've spent ALOT of time thinking about the minute details of what Im doing when I imagine shaping/shifting objects in my brain, etc.

In my mind, this is far more than just about music videos, that was just my initial goal. But yeah you're 100% right, its an endless pit of trying to do everything and constantly moving goal posts. I wish I stuck to doing something simple and fun and gone from there.


Don't feel bad about scraping it for now, I'm sure nuggets you bury will show up as gold bars for something else down the line.


Thats what Ive been telling myself among whatever else to keep me going.

Im sure theres truth to it. Nonetheless I think I need to take a break and do something easier/straightforward for a while


Hey HN,

I'm a developer and I started 3 years ago, a simple app as a weekend project. But this project took on proportions that I did not expect in my life. If you’ve ever had a side project spiral out of control, you might enjoy reading about my journey. Would love to hear your stories too!

Cheers, Anthony


Congrats on launching! The project definitely looks interesting - I am going to bookmark it for the next time I re-organize my notetaking approach.

Question from a security perspective: How much freedom are you giving people in the javascript code that gets run on the add-on publish functionality that gets hosted on znote.io? How would you handle users abusing it to create abusive material (i.e. using it as a more reputable url to redirect to a phishing page or other malicious page)?


Just a heads up: "Follow me on LinkedIn" doesn't link to your profile


what lang/framework you are using?


The lesson here is that it takes an order of magnitude more time and effort to ‘productize’ an application than it does to make the application.


Creating a functional application is just the beginning


I know that feeling! This was my 3 year side project: https://paulstamatiou.com/stocketa/


Man, seems like you could have actually turned that into a viable business after getting some funding to pay for the apis you needed.


> Because typing code without help is like trying to cook without recipes – you end up with something incomplete and probably unpalatable.

I think this statement is more personal than the author intended


Indeed, as long as you know the fundamentals, whether it be code or cooking, you can make something quite good. Recipes are just for help, to be a true master, you'll need to learn from a beginner's mind.


Reminds me of Dan Luu's article I read this morning: https://danluu.com/sounds-easy/

I think part of why we underestimate difficulty is, it's hard to see anything but the happy path. The complications are harder to anticipate. And for each of the solutions to a problem, we also only think of the happy path to solving it. And so on.


I'm 3.5 years into building the uptime monitoring + status page solution I wanted to see in the world, I'd argue the "core" part took a weekend to get into an MVP state.

The trick is the other 99% that non-early adopters need to feel like the solution is for them (user management, audit logs, and other SaaS table-stakes features).

In short, "we do this not because it is easy, but because we thought it would be easy".


Took me a while to find a link to the actual product. Surprised it is not mentioned by name (or image) anywhere in this entire post. Figures it is the root domain: https://znote.io/


And, the download area at the bottom doesn't even mention iOS (or Android). I found the app, last changed 2y ago.


A bit of feedback after downloading Znote:

- Couldn't execute the tutorial notebooks without first paying for a subscription

- Specifically surprised that executing a bash script locally is an "Advanced feature"

- I've "exceeded my limit 1/1" for deployed jobs, I'd love to see how/where this is deployed but I don't see a link. It's the default myapphtml job.

EDIT: Found the link to the deployed web app. Was confused because it has a column label of "Frequency"


Side projects often have a way of growing beyond initial expectations, and they can become significant parts of our lives.


Sounds like a fun project. Executable notebooks, I was trying to do something similar a fortnight ago to bring Jupyter notebook functionality to JavaScript. That was a nightmare lol.

I had a weekend project that also ballooned, into a 3 month one. I made a chrome extends the built in device viewer to display more than 1 device view on screen at a time (eg mobile, iPad, PC views)

This was an absolutely crazy project where ChatGPT and similar Chatbots kept saying it was impossible (use an iframe to control parent page navigation, and navigate an iframe from origin A to origin B without setting off any cross origin security flags)

Great times, wasn’t ultimately worth the effort but I’ve learnt a hell of a lot about hacking the browser to extreme edge cases and proxying content (cross origin requests, displaying any site in an iframe, manipulating the iframe site etc)


> I wanted a tool to take secure notes in Markdown, accessible on all my devices. You know, like enhanced README files—visually pleasing, well-formatted, and most importantly, password-protected to secure my secret thoughts and world domination plans.

That's my dream, too, but not to build it. To use it.

I thought org mode (emacs macOS) and beorg (iOS) was it for me, but it's pretty terrible (on iOS). I just can't use beorg. I even paid for an extension to give the dev some money.

If would love to try your solution.

EDIT:

znote for iOS last changed 2y ago? 1 review. That's disappointing and makes me very nervous about moving into your walled garden.


What sort of enforcement mechanisms are in place if you don't register your encryption with ANSSI? In other words, if you ignored them what could they do? Would they even give a shit?


My understanding from the context is: Microsoft made it a prerequisite for registering the app in the Windows store, after noticing encryption in features.


Does anyone know the source for this blog? I love it!


what about CRDTs and live collaboration? :hides:


This has been the bane of my existence for making mobile apps. I always want them to work offline as well as online so when I start developing it, it just ends up with me diving deep into CRDT research instead of actually building the app.


I didn't know this was a thing but me too




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: