Show HN: Lightwave – Real-time notes app, 3.5 years of hand-rolled JavaScript

Hi HN!

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.

52 points | by jv22222 28 days ago

18 comments

  • johnfn 28 days ago
    This looks neat! I suppose I might ask the hard questions - how does this compare to Obsidian, which is my go-to "real time notes app that roughly feels like dealing with a plain text file but better"?

    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 28 days ago
      Obsidian: We're mostly solving different problems. I wanted that text editor / IDE feel but with the ability to instantly share and collaborate. Bring in a full team, manage all your docs, give everyone different permissions etc.

      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 28 days ago
        Thanks for the response! My suggestion would be that if multiplayer aspects are really the key differentiator between Obsidian and your app, you should let the user see that straightaway. Maybe drop them into a shared workspace with other people or something? That could be cool.

        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 28 days ago
          Hmm. Yeah that shared workspace idea is good. Tbh I just wanted to force myself to put this out there and stop polishing the dang thing! So this was the fastest way out and now I can iterate on better journeys like the one you suggest.

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

  • binaryturtle 28 days ago
    I'm so confused… when did NewTek switch Lightwave from a 3D renderer/ design application to a notes app? :-)

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

    • jv22222 28 days ago
      Ha, fair point. Open to change. Will keep an eye on this.
      • gala8y 28 days ago
        Absolutely. This brings nostalgia and pushes for heads up at the same time.
  • johnpolacek 28 days ago
    I've been doing the "big ass text file" approach forever. This is a nice alternative that doesn't try to do too much. Enjoying it so far! Going to give this a real go to use it to plan out my next project.
    • jv22222 28 days ago
      Oh wow, thanks so much! Let me know how it goes, happy to tweak any annoyances.
  • Maro 26 days ago
    Some thoughts, feedbacks, well-meaning critcism:

    - 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 26 days ago
      Thanks so much for your feedback, much appreciated.
    • jv22222 26 days ago
      > Shift + Home/End for selecting text doesn't work > Ctrl + N for a new page doesn't work

      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!

  • unmarkdown 22 days ago
    Respect for building the client from scratch. The "I wanted to understand every component" reasoning resonates. I took a similar approach with a conversion pipeline I built using remark/rehype directly rather than wrapping an existing markdown-to-HTML library. You end up understanding every edge case which matters when you need to handle things like nested tables or math rendering.

    3.5 years solo is serious commitment. What was the hardest part ... the real-time sync or getting the editor to feel right?

  • treetalker 28 days ago
    Having trouble locating the button to produce TPS reports.

    ;-) love the Office Space references

    • jv22222 28 days ago
      Lol, glad someone caught that!

      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 27 days ago
        I felt especially old the other day when I saw a youngster refer to the "Office Space printer scene" in a meme. I guess we're in a post-fax-machine world.
  • gmays 28 days ago
    Slick UI and well thought through, like the simplicity of the approach.

    On the collab side, any limitations on simultaneous users? Like just a couple at a time or can handle a team?

    • jv22222 28 days ago
      Thanks! No hard limit on team size. On the collab side, I load tested it with 210 people typing simultaneously in the same doc and it handled it fine (9ms median latency, zero dropped keystrokes). So a normal team won't come close to stressing it.
  • mojoe 28 days ago
    I love the slash for style menu, really nicely implemented!
    • jv22222 28 days ago
      Thanks! Yeah I liked the slash menu pattern from the block editors, just wanted it to take up less visual space that's why only a small popup with icons.
  • sean_pedersen 28 days ago
    The test acc. UX flow is shit IMHO: I do not want to see the first user tips (just annoying flashes) and I can not directly edit the first doc I see.
    • jv22222 28 days ago
      Fair. The first doc you land on is in a read-only workspace (I used the app itself to write the onboarding docs, and display them in read only mode. dogfooding it). I can see how that's a bad first impression when you just want to start typing. I'll look at dropping new accounts into an editable doc instead. Thanks for checking it out.
      • alfiedotwtf 26 days ago
        Dogfooding like that is pretty cool :)

        Congrats on the launch!!

  • fallen_comrade 27 days ago
    Neat tool, although I can't CTRL + Backspace to delete words, or CTRL + Shift to select words (Selects whole line)
    • jv22222 26 days ago
      It's related to keyboard layout. I've got a linux/windows keyboard coming in the mail. Will get it fixed. (it works with option+shift on osx)

      will look into ctrl backspace to delete words like that idea

  • artemavv 28 days ago
    "Create Account" button leads to /undefined, both in Chrome and Firefox.
    • jv22222 28 days ago
      Oops. I accidentally had a throttle on the signup request. That is removed now. Please try again. Sorry about that!
    • boyter 28 days ago
      Seems to be a load issue, hopefully easily resolved

          Request URL https://lightwave.so/api/register/ephemeral
          Request Method POST 
          Status Code 429 Too Many Requests
  • purplecats 28 days ago
    • jv22222 28 days ago
      Fixed now! Apologies.
  • martini333 28 days ago
    Can't triple click and drag to highlight words... I'm out.
    • jv22222 28 days ago
      Thanks for the feedback. Triple-click selects the full line atm. Triple-click-drag to select multiple lines isn't in yet. On the list!
    • jv22222 26 days ago
      Added, now works.
  • chironjit 27 days ago
    Looks horrendous on mobile. I love the effort, none of the other tools work for me and I might consider paying once I get to try the real deal
    • jv22222 24 days ago
      I'll get you a better mobile expereince by then.
  • Traubenfuchs 28 days ago
    https://imgur.com/a/g37lLv2

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

    https://imgur.com/a/GeErjTa

    - manage subscription page broken?

    Absolutely nothing here works, besides the anonymous login.

    • jv22222 28 days ago
      Yeah, this is desktop only right now. It's mentioned in the post and on the landing page.

      Mobile isn't supported yet. Sorry about the bad experience though, I should probably add a more visible warning for mobile visitors.

  • egedev 28 days ago
    [dead]
  • junglistguy 28 days ago
    [dead]
  • NiggOnMyBalls 28 days ago
    [flagged]