46 points jv22222 1 day ago 32 comments
I've been building this solo for about three and a half years. I kept trying every new project/notes tool (Notion, Asana, Trello, etc.) and always ended up back in a plain text file. I wanted something that felt like a text editor on first touch but could grow into real structure when you needed it.
https://lightwave.so (desktop only)
The tech stack is Laravel, MySQL, Redis, and hand-rolled JavaScript on the client. No frameworks like React/Vue/etc. ~270 lines of jQuery (out of 80k+ total LOC) for a few legacy DOM utilities, plus IndexedDB for local persistence. Real-time collaboration uses a hybrid approach: HTTP/2 POST for resilient ops + WebSockets via Laravel Reverb for live cursors, presence, and edits.
This is a pre-release stress test, not a launch. Lightwave will be a paid product. Right now I'm opening it up because no amount of solo testing replicates getting punched in the mouth by real traffic.
The link above has a button to create a test account in 1 click.
Known rough edges: the cursor and selection system are built from scratch (like VS Code, not a contenteditable wrapper), so there's a lot of surface area. Some keyboard shortcuts may be missing. Desktop only, accessibility not yet implemented. I'm shipping fixes in real time.
There's a "Submit Bug or Feedback" button inside the app if something breaks. Happy to answer any questions about the architecture, or anything else.
Some highlights:
- Paste markdown in, get native blocks. Copy blocks out, get markdown back.
- Hierarchical document, structure. Hierarchichal file manager.
- Live collab with shared cursors, selection, and presence.
- Code blocks with syntax highlighting. LaTeX math blocks.
- Full data export: markdown, JSON, and attachments. No lock-in.
- Full undo/redo with cursor restoration.
artemavv 1 day ago | parent
jv22222 1 day ago | parent
boyter 1 day ago | parent
Request URL https://lightwave.so/api/register/ephemeral
Request Method POST
Status Code 429 Too Many Requestsjohnfn 1 day ago | parent
I would also make a small suggestion, which is that there is really no need to emphasize the fact that it's hand-written or without React or etc. While I suppose a small segment of users do truly care that you didn't use React, I think the primary consideration for most users will be how the app works. I would suggest mentioning how your technical decisions affect the user experience: is the performance better - and if so, can you quantify that?
jv22222 1 day ago | parent
So the problems I was thinking about were collaboration and content management between teams. But I also wanted it to work really well as a private personal tool. So in a way it's two tools in one. You can enjoy it solo, and then the hope is you've found something you like and now you can bring a team into it
Re the tech framing, I mostly mentioned it because I figured HN would find it interesting since it's the less taken path. Apologies if it came across as unrelated to the product.
johnfn 1 day ago | parent
As for the tech framing - I imagine you'll get lots of responses on that, and I'm sure it works for some people. Speaking personally, I think it irks me in particular because I feel that "React is slow" isn't really true -- but hey, we can sidestep that whole argument if you just tell me that your app loads a 100GB text file in 0.1ms or whatever :)
jv22222 1 day ago | parent
On the React thing, I never said React is slow! I think it's great for a lot of things. I just chose a different path because I wanted to understand every part of the main product stack. I didn't use OT or CDRT for the same reason... :|
purplecats 1 day ago | parent
jv22222 1 day ago | parent
binaryturtle 1 day ago | parent
(AKA: I'm not sure it's a good idea to use someone else's long-standing well-known brand in the digital space as name for your own digital space project)
Traubenfuchs 1 day ago | parent
- flickering
- keyboard appears on readonly document
- can select info text that should not be user selectable
- menu items melt into each other
- can‘t summon keyboard on editable content
- grabbing elements in a document and pulling them up leads to page refresh
- I saw a styling menu pop up once: No idea how I got that.
I am sorry but this is unusable and an awful experience on my iPhone.
- manage subscription page broken?
Absolutely nothing here works, besides the anonymous login.
jv22222 1 day ago | parent
Mobile isn't supported yet. Sorry about the bad experience though, I should probably add a more visible warning for mobile visitors.
sean_pedersen 1 day ago | parent
jv22222 1 day ago | parent
treetalker 1 day ago | parent
;-) love the Office Space references
jv22222 1 day ago | parent
Also, I wanted to make the main guest account name Robert'); DROP TABLE but I chickened out and made it a bit more normal.
treetalker 1 day ago | parent
johnpolacek 1 day ago | parent
jv22222 1 day ago | parent
gmays 1 day ago | parent
On the collab side, any limitations on simultaneous users? Like just a couple at a time or can handle a team?
jv22222 1 day ago | parent
fallen_comrade 17 hours ago | parent
chironjit 14 hours ago | parent
Maro 1 hour ago | parent
- on non-supported browsers (eg. mobile) don't render the app, show a message instead
- Shift + Home/End for selecting text doesn't work
- Ctrl + N for a new page doesn't work
- things like the above ^, while it may be trivial, will turn off people who will not spend more than 10-20s to evaluate
- you're refer the simplicity of text files, but the editor is not fixed width, it's more like a Markdown-ish editor, closer to Google Docs with its default styles
- when typing - it creates a list, but the list's left margin (where the - starts) is not aligned on the overall left margin of the page, it's very annoying to me
- to me, this is too far away from the simplicity of a text file — this comment, I'm writing it up in Sublime in plain text, and then I'll copy it to Chrome/HN, but I wouldn't do it in your tool — I love being able to Alt-Tab to Sublime, hit Ctrl+N to get a new "file" which is a temporary/ephemeral workspace for typing text, typing and getting sasisfying fixed-width readable text, and then copy/pasting it to my destination, which almost always has a less pleasant editor
- eg. I also write my non-trivial ChatGPT conversations like that ^
- one of the few exceptions is Google Docs, I can directly work into that
- the reason I ended on Google Docs: after a few minutes of playing around, it's not clear to me how using your product would be significantly better for me than using Google Docs for notes (which I don't) — I can use GDocs to write roughly Markdown-equivalent structure, and there's plugins to import/export Markdown — and GDocs is backed by Google, has a working editor, apps, multi-user support, commenting, Google ecosystem integration, etc.
jv22222 47 minutes ago | parent
jv22222 30 minutes ago | parent
One thing that's weird is that things like that are so easy for me to implement it's just sugar on top. Honestly I would just love to have a few folks tinkering with it saying hey it needs these few things. Just hard for one dev to think of all the things!