This is awesome. I’ve also built a number of services for myself (Pinterest style photo hosting for archival/research purposes, analytics service for my websites, tracker for the books I’ve read, message board for micro communities I’m a part of, etc). I also share them with friends who express interest in them.
The costs are minimal (they all run on a shared $4/mo instance + $10/yr domain per project) and I get to control where the data lives, the features I want to have, etc.
No need to worry about getting the rug pulled on me because the company got acquired or needs to raise revenue or anything like that. No frustration because a redesign made the UI worse or removed features I cared about.
It obviously takes a bit of time upfront, but I see it as a long term investment in my productivity. I use boring, basic, stable technologies so once something is deployed it keeps on humming with extremely minimal involvement on my behalf.
I’m basically slowly working on replacing pretty much every 3rd party app I use with something I wrote myself (it’s going to take a while but that’s okay). My grandpa was a carpenter and pretty much every piece of furniture in the house was something he or his friends had made. As software craftspeople, we should strive to do the same with our digital houses.
Kudos to the author and anyone else who does this. You don’t hear about these things in the mainstream because there’s no reason for people doing this to shout it from the rooftops, but this is software at its best.
> I’m basically slowly working on replacing pretty much every 3rd party app I use with something I wrote myself (it’s going to take a while but that’s okay). My grandpa was a carpenter and pretty much every piece of furniture in the house was something he or his friends had made. As software craftspeople, we should strive to do the same with our digital houses.
I do the same. Both with software and furniture in my house.
I've built all kinds of little dashboards, a big website software project, a local-only bookkeeping system, etc.
With furniture, I'm not that far that I dare to build a chair or couch, but I've built a bed frame, an over-engineered shoe rack (https://www.youtube.com/watch?v=hXzO8BOIlhk), a weight rack, and now I have some bookshelves in the works.
I don't know if you're Japanese, maybe it's coincidence, but I really get inspired by watching Japanese craftsmen on Youtube. It's not only the techniques or style that I like, but the careful working on something that should last.
For others of like interest, NHKOnline is an ever-growing and fantastic collection of videos in English (or at least subtitled) that showcase Japan's fascinating sub-cultures, many of them craft-oriented.
Our favorite is "Design Stories" (which used to be "Design Talks Plus") that features many such fantastic Japanese crafspeople. Our family hasn't missed an episode in quite a few years.
And, of course, there is the Canadian resident of Japan, David Bull, who does traditional wood-block prints in the style of the magnificent Hokusai. His attention to detail in his work is inspiring to us as well.
Same here. I got into woodworking because I was astonished at the price of decently-made furniture here in the US. You can literally buy all the materials AND tools for less than one solid wood rustic-chic kitchen table and bench costs to buy.
Anyway, the hard part about this is that you need a space and then the tools and some tools are easier/cheaper to build than buy (e.g. bandsaw, router table) but there comes a point at which you have to stop building the shop and start building furniture. Most of the YouTubers I follow haven't gotten this message yet...
> I got into woodworking because I was astonished at the price of decently-made furniture here in the US. You can literally buy all the materials AND tools for less than one solid wood rustic-chic kitchen table and bench costs to buy.
Not really surprising, the majority of the cost is the actual work. Especially in high-wage countries like the US. Buying a computer to build a website is also much cheaper than getting a website made by someone else.
> Anyway, the hard part about this is that you need a space and then the tools and some tools are easier/cheaper to build than buy (e.g. bandsaw, router table) but there comes a point at which you have to stop building the shop and start building furniture. Most of the YouTubers I follow haven't gotten this message yet...
You might like my Youtube channel then (see previous link). I work in my living room, using my couch and my Ikea stool for basically everything. A lot of cheap hand tools, but I can't work without my drill press. I pick up 2x3's at the local home depot, start sawing and drilling, and mostly use bolts and nuts for connections. Along the way I pick up new power tools, like a portable drill, a dremel, and my newest - a trim router. I built a bicycle caravan, a portable stove, among others. One of the things that really surprised me is the amount of jigs that come to life out of nowhere, haha.
I really get inspired by watching Japanese craftsmen on Youtube
"Japanese Joinery" as a search term yields a near bottomless rabbit-hole of amazingness that hits the perfect intersection of craftsmanship, technology and art for this engineer.
Since Claude 3.5 Sonnet has been released I've been building a lot of "microservices" that are just useful to me, or Chrome Extensions that I've seen that I just recreated using Cursor. Awesome learning experience and now I can customize them as needed.
I think you mean that you've been building a lot of simple applications? Because that's not really what microservices are.
I mean sure it's just a word and HN especially loves to spit on original definitions, but it is always kinda jarring to hear these technical terms in settings that have pretty much no overlap with the original definition.
If you think as yourself as an application and you are surrounding yourself by small service applications that do one specific task...then I could see it make sense.
I'm not a programmer by trade but I write tools for myself all the time. My favorite is a wiki-style knowledge base that I built for myself because I did not like the bulk or design of all the existing solutions. (I am a bit picky.) I use it every day for both work and personal stuff. There are lots of ways I want to improve it, but finding the time is difficult.
I’d love to see the UI, you don’t by chance have any screenshots? I’m always interested in how people organize their own knowledge based especially wiki style
Some excellent VPS deals with high storage here. Host has a good rep on LET. Believe these promos are ending soon and many are sold out in any case, but I think they have some stock in a few of them..
Dreamhost shared unlimited is good for this I think. 3,95 - After 3 years the price triples but still worth it. Unlimited traffic, bandwidth, emails and subdomains.
Some options that pop up frequently on HN: Vultr, DigitalOcean, OVH and Hetzner Cloud, all have cheap VPSes, $4-$5 per month for the cheapest I think. And usually if it's an app for just you/your small family, you can get away hosting multiple apps per VPS without suffering atrocious performance (depends on the apps/usage obviously).
The trick (and somewhat the drawback in many's eyes) is to rent a VPS (or dedicated/bare metal) instead of a "App hosting service" (what Render is). You'd need to know some basics about infrastructure and networking, but not anything too advanced and that's stuff will be useful regardless too, so not too easy to rationalize away :)
this makes it sound very nice. i only do this stuff out of sheer frustration. not understanding stuff (i hate 'magic' , its 1s and 0s...), or not agreeing with decisions after i do understand stuff. i really dislike i have to build everything myself. though then again. i guess i do like building stuff :')... it's a never ending s/shitshow/joy/g
oh, and yeah, looks like a really nice project honestly. i never do frontend stuff, but when i do, man, something like this would be useful :')... typing chromium index.html -> realizing it just spawned on the different workspace because chromium is trying to be smart (more likely i am being dumb ;D).
having it side by side like that looks really nice if u have the screenspace.
I've recently discovered the joys of vscode-server[0] for this type of use case.
Which you can either serve as a WebApp direct from your machine, or tunnel in from another VSCode instance - including a webhosted version from Microsoft[1]
I may not do that much coding these days, but I already have found it handy for when I forgot to do a Git push! Just log back in to the Web Environment and everything is how I left it.
There’s also code-server by Coder, which you can just run on your own server and open in browser directly. It’s also open source (most tunneling features in VSCode aren’t). https://github.com/coder/code-server
There’s a one-click setup for it in Lunni, a Docker dashboard I’ve been working on (shameless plug): https://lunni.dev/
This is a multifaceted question, because there isn't one use case, it depends on who you are.
If you are somewhat nomadic and always moving systems, having a "home" you can dial back to and pick up where you left off from is a massive boon (with a remote system like this, my phone is now powerful enough to do pretty much any development task as now it's just rendering the front end and not doing real heavy lifting)
If you're an enterprise programmer working on locked down networks and devices with more end point protection tools than endpoints, an unencumbered authorized system with access to the right network assets, as well as standardized and project specific tooling is the difference between coding and coding with one arm tied behind your back and a blindfold on. (actually the benefits for enterprise are many and not just DevEx -- think security, network admin, vendor access, governance, AI rollout, reduction in project specific on-boarding documentation....)
I'm sure there are many other use cases, though these are just the immediate ones that spring to mind.
This should work pretty well for most use cases. (There are some caveats if you decide to run multiple Lunni servers in a cluster – basically, every node would get its own volume by default – which is the main reason we don’t officially support that yet :-)
Personally, Docker Swarm works great for me. I was worried about it for a while, too, but Mirantis seems to maintain it pretty well. There are even new features being shipped, like CSI support back in 2023! I’m thinking about adding a Kubernetes backend though, just in case things get worse for Swarm.
Christian's been an awesome Glitch community member for a long time; I had caught Thinkserver when he first posted about it the other day. Generally, over the last 7 or 8 years we've seen super users be inspired to make their own tools like this every few months and it's great! Every single one has good ideas and brings new things to the table, and also there's a lot to learn from the overall trends. (Like, in this case, support for coding on phones, where we're still not very strong.)
The other takeaway I got from his original blog post is a little bit of that trepidation you get when you put this stuff out there, where it can be a little nerve-wracking, because you don't want folks to rip it apart or file a million bug reports. fwiw I'm glad folks are being mostly chill about it.
> Building custom tools that work for only you is so under rated.
This is one of the top applications for LLM-based dev IMO. With things like aider / cline / cursor / windsurf / bolt it's looking like this will be a lot easier to scaffold small-scale projects that make sense for you and not necessarily turn into products. It suits single-dev / small teams for now, and that's OK.
This has been my experience as well. I find my much more likely to “build” it myself versus using something off the shelf because it’ll give me full control over the project.
A lot of the reasons I would pull in dependencies for are things I’m either not good at or not fast at writing and in most cases LLMs are good at picking up the slack.
It’s been a joy to write the core logic then have an LLM throw a web GUI frontend together for me so I can iterate faster.
This might be a serious problem for tinkering platforms such as Glitch and Kinopio [1]. They are awesome, but they strongly inspire me to take creativity just a little step further and build my own implementation.
This then leads to a fragmented landscape of such services, and none gets enough traction to grow into seriously sustainable popularity.
Just build it for yourself and don't feel bad about not being a startup founder or something. I know it feels a little weird and it takes some adjustment time, but don't compare the joy of building software for yourself to business yardsticks. That stuff won't match anyway.
I've been working on a similar platform (https://smallweb.run), which allows me to host all my side projects from a single root folder. Each subfolder automatically becomes a subdomain, and I can just use vscode remote ssh or mutagen to live edit my websites.
> and I can just use vscode remote ssh or mutagen to live edit my websites
What is old is new again :) Back when I started development, we did this via git remotes, and some projects even did what you created and created environments mapped from git remotes to apps running with subdomains (like Dokku is probably the first/most memorable FOSS service for this back in the day).
And before that, I'm sure people were doing the same thing with Java WARs or similar, and before that, something else but similar.
The main difference is that smallweb use deno instead of docker for sandboxing apps, and leverages url imports (which can be used to distribute complex apps like VS Code):
```
import { VSCode } from "jsr:@smallweb/vscode@0.1.7"
const vscode = new VSCode({
rootDir: Deno.env.get("SMALLWEB_DIR")
});
By "VSCode" here you mean something like a HTTP API for file read/write[0] that can be used from VSCode, I think? VSCode also can be made into a web app[1], but I don't see that happening here.
> The main difference is that smallweb use deno instead of docker for sandboxing apps
Yeah, a single-runtime (smallweb) instead of any language (dokku) + I'd probably say the avoidance of using git for the delivery would be the two biggest differences I can glance.
I even use the underlying lib ssh implementation of pico.sh in smallweb (https://github.com/picosh/pobj), and I plan to introduce a cloud service similar to their (you can subscribe to the waitlist at https://cloud.smallweb.run)
Smallweb also allows you to run server-side code using deno. The main process watch for changes in the app directories, and automatically restart the corresponding deno processes when a change is detected.
If you ever interacted with cloudflare workers or https://val.town, it is a similar experience.
Like other folks here I also made something similar for myself. It started as a jsbin clone, but then I wanted to play with tweaking the environment itself. So now it's become a single editable directory tree where both the editor and the actual projects/demos share common parts of code, all synced between local storage and the server. If I break the editor and refresh the page, there's a simpler alternative editor backup to fix it. Lots of fun with such setup!
I’m a big fan of glitch as well, so it’s very impressive you have built the same yourself. Do you self host the server and are there any limitations on languages you can use?
Oh wow!
And I did not expect to click on this and see a Tyne & Wear Metro project.
I can see why you may have wanted to create one though. Good luck with it!
nice work! very similar to the scrappy codepen clone i built for myself, will copy a few things! I've integrated AI edits and use it suprisingly often as well to sketch out mini apps. https://endtime-instruments.org/scratch/
Fantastic. This is something I've thought about doing too. There are days where visual studio's shenanigans make me consider the benefits of a bespoke web based UI very strongly.
With libraries like ace and codemirror available, the hard part is mostly on the server with managing state and integrating tools.
I use C#/.NET for everything, so I'd lean on the Roslyn APIs to handle code completion, reference tracking, workspaces, debugging, etc.
This is seriously awesome! I made something extremely similar called Dock'n'Roll, but this looks far more polished. I think we should make our own tools more often.
:and you'll see the commented Compiler class source code:
"The compiler accepts Smalltalk source code and compiles it with respect to a given class. The user of the compiler supplies a context so that temporary variables are accessible during compilation."
It would be easier to install Cuis Smalltalk and use the Smalltalk browsers to explore the Compiler code.
The costs are minimal (they all run on a shared $4/mo instance + $10/yr domain per project) and I get to control where the data lives, the features I want to have, etc.
No need to worry about getting the rug pulled on me because the company got acquired or needs to raise revenue or anything like that. No frustration because a redesign made the UI worse or removed features I cared about.
It obviously takes a bit of time upfront, but I see it as a long term investment in my productivity. I use boring, basic, stable technologies so once something is deployed it keeps on humming with extremely minimal involvement on my behalf.
I’m basically slowly working on replacing pretty much every 3rd party app I use with something I wrote myself (it’s going to take a while but that’s okay). My grandpa was a carpenter and pretty much every piece of furniture in the house was something he or his friends had made. As software craftspeople, we should strive to do the same with our digital houses.
Kudos to the author and anyone else who does this. You don’t hear about these things in the mainstream because there’s no reason for people doing this to shout it from the rooftops, but this is software at its best.