So while I'm looking for jobs, I've started working on a sort of "back up plan" due to the job market being awful: a web application for taking notes. The basic idea is a sort of cross between Google Keep and Evernote, because the simplicity of Keep is great but it (and Google) sucks. And the capabilities of Evernote are great, but I hate it.

I'm currently working toward a super-stripped-down alpha (because otherwise I would spiral into making it perfect and it would never come out) if anyone is interested in giving it a try once I deploy it. Keep in mind that when I say it's stripped down, I mean it. You can look at the attached images to see just how barebones it is. It's not going to be much more than what's already there.

It's going to be free while I consider it still an "alpha" and before I add any features that would cost me significant money. (OCRing images isn't cheap) People who make an account during this period of time will get a flag for some kind of bonus that I haven't decided yet.

Ideally if you want to try it out, send me a DM with an email address and I'll send you an email once it's deployed. I can try to DM people here but it'll be easier to have emails I can send to all at once.

Some caveats:

* I'm a solo dev making effectively a side project alpha. I don't recommend using this for anything particularly important yet. (I also haven't taken any VC funding, so that's a plus)
* __NOTE ARE NOT END TO END ENCRYPTED__. This means I can technically read anything you put into this, but __I don't want to__. Do what you're comfortable with.
* I'm an American, so if you're trying to stay away from American tech right now, don't sign up.
* I have time to work on this right now, but if I suddenly get a job then it's going to be way harder for me to do so. I'll post about that if this changes.

Some positives:

* I f***ing hate AI, so as long as I'm the one making this, it will never be part of it.
* I f***ing hate AI, so I'm writing all the code myself.
* I'm doing this myself, so I'm not beholden to a board of people demanding more profits in shady ways.
* I f***ing hate tracking, ads, etc. so I'm not going to track you or sell any information you put into this. You can use something limited for free, or pay me to do more. That's it.
* I care, DEEPLY, about things working and performing well. I'm not going to be perfect, but I'm making something _I_ want to use, so I'm going to do my best to meet my own standards.

Also if you're interested in this and are a Google Keep user and have any thoughts about how you use it, I'd love to hear from you. I've been an Evernote user for a long time because it's "annoyingly competent", so I have a better sense of what I want from their feature set. But I don't use Keep, so I'd love to put some things into my issue tracker to potentially implement in the future.

Oh in case you're curious about the tech stack:

* Django for the backend
* SolidJS for the frontend

I might usually use Go for the backend, but Django just has too many things built in for me to ignore when I want just want to get something done. I can add/rewrite to Go later on if necessary. I don't want to care about figuring out things like database migrations or authorization, I just want Django to handle that for me.

I originally wanted to use Svelte for the UI, but SolidJS was easier to get a single JS file out of so I could serve it from Django itself. Things that want to run their own static file server (like Svelte) just don't quite work with how I'm using Django.

I could have used React since that's something I know a lot about. But I have plans to integrate CodeMirror for editing notes at some point. And I read a blog post about someone who encountered a lot of nasty state bugs trying to sync between what React sees and what CodeMirror sees, so I wanted to avoid that.

As a sidebar: it's really, really annoying how UI frameworks are trying to do *EVERYTHING* nowadays. Want to use Svelte? By default it includes SvelteKit, which implements the server for you too! I DON'T WANT THIS. I'm already using a good server. I just want something that makes organizing my JS easier and which has a build step so I can import CodeMirror! Stop trying to take over my entire application! Just do the UI part you're good at! ARRRRGH.

Even SolidJS has a "SolidStart" which is trying to do server stuff too! I don't want SSR! I don't want you as a server! I just want you to be good at UI! So. Freaking. Annoying.
Something I’d really love is a way to integrate Django templates into Solid/my JS build step. I’m currently doing an annoying thing where I’m putting a bunch of URL strings from a Django template into a script tag so I can use them from Solid and keeping the benefit of being able to change URLs without having to change a bunch of code. But that kind of sucks, even if it works fine. Would love to be able to put the {% url ‘blablabla’ %} stuff directly into my UI code.
Beginning to work on list notes, like what Keep has. Eventually I want to unify the two types of note so that you can have text above/below lists, but that's going to be a lot more work that doesn't pass muster for an alpha. It's always annoyed me that Keep forces you to make a note that's either text or a list, so I'm going to fix it in my software.
This is one of the last big things I'm going to work on for the alpha. I still have a decent few things to get done, but the number of things is definitely dwindling. I'm excited to get the alpha out there.
Actually I almost forgot that I want to make the site responsive. That's definitely going to be a decent undertaking before I deploy. And just... getting the deployment figured out is going to be its own thing too. So there's still plenty to do.

Making list notes fully editable, including adding new items: super easy, barely an inconvenience.

Making list items movable/reorderable:

My friend predicts that keeping list reordering via dragging handles maintained is going to be a regular headache. They're probably right.

Making lists usable is neverending ugggggggh. I finally feel like I'm almost done and then another three things rear their head. Like oh yeah, people want to delete things from their lists, guess I gotta implement that. And oh woops, I didn't handle that on the backend, better fix that too. And oh right, when someone presses enter in a list when their cursor is in the middle of the text they probably expect the item to split the text after the cursor into the new item.

And on and on and on and...

At least they're *basically* working, even if there are some weird things or stuff doesn't render fully correctly when reordering items in a list. The functionality is basically there. Just have to finish up some fine tuning... hopefully. Then I can finally work on something else.
Phew, think lists are finally working. I'm going to assume that there's still something that's going to go wrong that I'll have to fix, but for now that bit of work is done. Can't wait to do something that isn't list related, hah.

I think... I think I'm finally at the point where I can put the last few things into my Unnamed Note App before I put out an alpha. I need to get registration working, put together the "marketing" pages to talk about what it is and isn't, and add button to send feedback. (it's just going to open your email client)

Then I need to do the most terrifying thing of all: Get a Dockerfile working so I can deploy an image to one of those cheap sites that does all the hard work of provisioning everything (including a database). Of course, that's also going to come with some debugging to make sure it works on their infrastructure, can connect to the database, etc. so this is going to take a bit.

But I can finally see the end of the road for the alpha release! I stripped out a TON of things I wanted to put into the alpha so I can just... put something out there, which I'm super proud of myself for doing. My instincts have always been to make something perfect and never release anything, so I've been working really hard to push back against those.

Here's to getting this alpha out the door!

Oh boy, I certainly missed the efficiency of making a quick change to try and get a deployment working... followed by waiting minutes for the deployment machinery to take its sweet time to actually test out that quick change. It's one of my *favorite* parts of being a programmer!
The only saving grace is that hopefully I can do all this nonsense exactly one time and then everything from then on is just pressing a deploy button. I reeeeeeally hope I can get it into that state. Deployment stuff is just so annoying to deal with man. I want to be working on the next feature instead of this.
@Freezerburn yes! perfection is the enemy of good, as they say
@liamajoris It's taken me many years to try to learn that lesson. And it's still hard. Thanks for the encouragement!
@Freezerburn it's something I still have to actively remind myself of, too. Congrats on releasing your app!