Things I don’t want to do to grow my side project
wagslane.dev
wagslane.dev
I didn’t use a style framework under the philosophy that everything on the web looks the same. I wanted the website to kinda shock people with how, uhh, handmade it looked. Like there was a real person behind it because there is.
I guess this is all to say you don’t always have to worry about design, UX, SEO, etc. Sometimes you want companies to look polished and professional, but sometimes you just want them to solve the problem for you as fast and efficient as possible.
Tangentially - the project got me excited about building “quiet” websites - mostly text based, no database, no comment section with people to moderate. Just unique information in a simple, accessible format. I don’t want people to be checking my website every day looking for emotionally charged SEO packed news to react to. I want people to check out my site and then go into the real world and have fun with the information they found.
Which, purposeful or not…good job. This kinda Brutalist kinda punk vibe ends up feeling totally appropriate for a very local-focused website. My immediate thought was “hey it’s listings for upcoming shows at Smartbar”.
> the project got my excited about building “quiet” websites
I could not agree more. Complex backends have their place in this world, but I believe that most sites should start static, and build in dynamic elements slowly and thoughtfully.
I think the UX is fantastic.
> While I was in the mood for XML I added a file so Google can index your posts easily. Here is while I was in the mood for XML I added to each blog and file so Google can index your posts easily.
We forget how fast the web can be, because of all the bloated sites out there.
Remember when sites used to serve requests based on the browser identifier rather than trying to contemporaneously display and format text with jscript?
This site is "fast" - it fully loads in 1 second, sure. one of my own purely nodejs + jscript site also finishes rendering content in 750ms, with 480ms of that spent decrypting into the drag-resize container. Meanwhile, Dan Luu's site completes rendering an entire blog post in 300ms, first byte to fully rendered.
this doesn't mean anything, really - i just expected it to waterfall differently based on "how fast it felt".
I remember when my window to the world was a 56k modem, which took its sweet time to load the page I wanted.
This all ignores that spoken word over a mediocre connection (anything except actual copper landlines, in my - get off my lawn - opinion) is way lower bandwidth than even early modems in the 300-2400 baud range. Realistically, my favorite method of communication is to actually have a spoken word conversation with people, in person. This is untenable for my friends that have moved away from me, and me from other friends. That in mind, the matrix people have worked on and have published extensions to the matrix ecosystem that allow sub-kilobyte messages to pass on the network, fully encrypted and fully fledged messages. They are targeting sub 4000 baud connections (in general, i think their actual goal is much slower transmission than that).
I don't have the time or inclination to try and run a matrix "node" on ham bands, but i do know it is technically possible. And that's almost good enough for me.
For your edification though, the last time i used only a 56k connection was back in the very late 90s, and i spent a lot of time on IRC rather than "the world wide web"
[1] https://www.youtube.com/watch?v=DA6JRB560eM A youtube video shot handheld of a radio and a modem checking email wireless-like. The modem, i've heard, is around $800. I got it for free to participate in emergency communications and teach other people how to use it.
Unfortunately, none of it can be encrypted (not with my license, at least) - but for sending telemetry or simple "i'm still alive" messages i think it would be pretty cool. Not having to write custom tooling off ham radio "tools" like fldigi, but rather have a bot sitting somewhere else monitoring the channel seems like a huge, huge win.
there should be another round of work on this fairly soon driven by our p2p work - #p2p:matrix.org is probably the best place to follow along, likewise arewep2pyet.com
Nice design, I find it refreshing :)
Without making the page too cluttered, you've got room to expand the design in terms of width and I think the entries could benefit from a timestamp of some manner (Thursday 5/12).
Basically let people know that it's fresh, beyond the slogan at the top.
Then snapshot the page weekly (pick a date to do an end of week snapshot), and provide archives for browsing / searching. That could either be all historical weeks, or merely recent (a month or three deep).
Your “veryLA” heading could perhaps do with a trigger warning for fontheads: the kerning looks erratic even to mine engineer type eyes;
It would be more cohesive to have it in a monospace font to match the rest of the website. And probably not on an arc, as that's going to be relatively difficult to manually kern using CSS transforms. Maybe a little bit of a perspective distort instead, give it an almost isometric style.
When you get a minute, would you put an RSS feed for your blog? I want to read your articles.
[1] veryla.io/feed
[2] veryla.io/stories/feed
[1] veryla.io/feed
[2] veryla.io/stories/feed
"Near me" is a popular search I has this same idea for my county. I couldn't think of a decent revenue model except promoting listings which requires a sales force, or ads which is just tacky IMO.
I was also thinking about selling leads, ie someone wants a new pool installed
While a huge framework is overkill, it will let me expand in the future if I want to do that. It will also allow me to build more dynamic minimal things - for example I'd love to have a web version of [1] for our local sports teams, but I'm still trying to figure out how to get free sports data.
> sometimes you just want them to solve the problem for you as fast and efficient as possible.
Your site displays a blank page without running javascript. You are a long way off from efficient or super minimal.
For all the hand wringing about google amp, one good thing they did was try to require that there be some main content which displays without any javascript.
Compare the site to sf.funcheap.com which I unfortunately use to learn about things to do here in SF. Yes, it renders without JavaScript enabled, but the two pages take the same amount of time to load in my browser, and Funcheap still tries to load resources from two domains blocked by uBlock Origin even with JS disabled (15 with it enabled). Is that really any better? There are so many miserable experiences on the web, most made particularly maddening by poorly applying JavaScript in the hopes of driving conversions on some metric. This site ain't it though.
Sure, the first load could include the initial brush of content in its markup. In 2022, this is a trivial change to sprinkle onto a front-end.
This seems like a non sequitur to me. What does javascript have to do with efficiency or minimalism?
That's absolutely not my experience? It needs googleusercontent.com scripts or something? I get blank pages from amp stuff, and 'de-amp' it for it to load.
The constant practice which seemed to have no impact had actually made me better. Basic things: tinkering with bootstrap layouts, taking 2 hours to feebly make a mediocre background image, curving edges on an image, tinkering with margins and padding, removing unessential elements. It all added up.
This skill has also helped me in ways I never expected, like being able to put together a nice looking slide deck (~25 slides) in 90 minutes, where previously it would take days.
Now, when someone says something offhand or funny, i can usually bang out a 10-30 second jingle or music clip in a couple hours using rudimentary software (my go to for extreme speed is OpenMPT - https://openmpt.org/), and i think the quality and listen-ability, as well as the fidelity of speech/singing is light-years ahead of whatever the common submissions are.
Now, I'm generally a cantankerous cuss these days online, so even my best stuff doesn't get a lot of play; but 2 decades of being "in the scene" and trying to get plays kinda washed the desire for fame out of me, so i find myself not caring.
If you find yourself looking at other artistic things people have done and the thought "train-wreck" comes to mind - maybe you've learned enough stuff to be able to talk about it legitimately in a critical way?
Sometimes just twisting a few knobs on a symthesizer and making a boring four-to-the-floor loop can take you away for a few hours
I’ve built a lot of shitty frontends and done lots of bad design work, but now I like to think while I’m no color theorist or UX expert that I can build products that are intuitive and look good.
A side effect of this is also that it’s seeped into the rest of my life and I now unfortunately spot design faux pas everywhere and laughing about bad font kerning (or “keming” - https://www.reddit.com/r/keming) usually gets me a sideways look from my friends and family lol.
Once something grows beyond a certain point, it can be annoying for users to constantly be asking for new features that you personally will never use. And documentation... Not suggesting open sourcing things is a bad idea, but there's no shame in throwing some code up on GitHub and being clear about what people can expect from you.
That said, while I generally do not mind fielding PRs or even trying to resolve bugs, the actual worst thing for me is having to close a PR because I simply don’t want to merge it. I know it’s the right choice, but it’s not fun.
It helps to be upfront about it. For most of the reasonably popular stuff I put up, I clearly say something like “if you have a small change, it’s probably best to talk to me instead of submitting a PR because I’ll just do it faster without the tiresome back-and-forth review dance; if you have a big change or a major feature, definitely run it though me first, and unfortunately I’ll likely say no in most cases” in CONTRIBUTING.md or the developer section of the website.
Of course, lots of people don’t read... But at least I feel a lot better closing big PRs I’ll never get to.
If I'm using an open source project and I need something changed, I'll usually just make the change and put the new code online, because I think that's how open source is supposed to work. Others can now benefit from my change.
I'll also make a PR to the original project. But I don't mind if it's rejected. I made the changes for myself. If you can use the changes, fine. If can't, also fine.
I like both coding, design and reverse engineering so I do those with passion. But I leave taxes to Paddle and promotion to happy users.
I write rarely on my blog [1] and only if I feel I have gathered enough new information that could help other people with their endeavor.
I’ve yet to hire people for something, but as the project gets more complex, I feel the need to do that:
- some short frontpage animation that could explain the most used app features would be a nice addition but I’m no After Effects expert and I’m not keen on learning that
- doing statistics on the monitor data [2] and finding the best sensible defaults for each monitor would improve the user experience, but cleaning up data and having to relearn pandas would take time
It’s hard to justify the price of paying someone to do that and I always feel I should do it myself. But in the life of every side project that becomes a business, there comes a day when we have to admit that it’s not healthy to try to do everything.
Will have to try the super brightness as the weather keeps improving. I've always loved working outside, but brightness is a bit of an issue.
I love working in botanic gardens and on the porch when I'm in the countryside, and XDR Brightness has made this experience much more enjoyable.
It may sound counterintuitive but I usually turn on Dark Mode when enabling XDR, because:
- I mostly work with text which gets a ton of contrast at 1600 nits
- the screen doesn't get hot as most of it has dark pixels
- the battery lasts longer because energy is not wasted on bright white backgrounds
Lunar's contrast enhancer is what allows this XDR in Dark Mode thingie to be useful: https://files.lunar.fyi/enhance-contrast-slider.pngI'm forever grateful to the ddcctl [1] project which enabled all these monitor control solutions.
I also don't need to invoice them. I just get my monthly payment in my Wise account (through ACH for 0 fees on the wire transfer) and never worry about the finance part.
On the other hand, if you spend too much time doing stuff you hate, you'll burn out, which can sabotage the business even more quickly than skipping the tasks you don't like.
I've approached this problem by trying to weave the things I like into the things I don't. I enjoy coding more than I enjoy writing blog posts, so why not create interactive blog posts? I wind up doing a fair amount of coding to create the dynamic widgets. Here's an example blog post, so you can see what I mean: https://www.joshwcomeau.com/animation/css-transitions/
I also try and stay focused on the outcome. I don't really enjoy filming video lessons, but I enjoy the feeling that comes from teaching someone a valuable skill. So I try to keep that in my mind when I'm doing the filming/writing.
To add to this list: marketing. I don't want to grow social media accounts or do cold calls/emails to start to get customers.
"Maybe I'm the only one, but I don't like the UI. It seems like a demo for a Material design app. I think the site has lots of potential, but without an original, personal style it might put off users. It doesn't have to be complicated, just something recognizable."
So a standard component library can get you started quickly, but you might want to tweak it. A few things I changed - made icon buttons smaller (the default sizes are way too big), changed the pills to be white with black border instead of just grey background.
[1] - https://linklonk.com
That is to say, if you put in the time a material site can definitely look good.
Especially if you adopt a low poly style, you can get very far with bought meshes.
My go-to sites are CGTrader for meshes, SoundSnap for sounds.
Someone should make an AI to generate art and sound assets for those of us without the skills. That way I can just do something like spore where I feed it inputs and out pops a bitmap.
If I'm building, say, a Rails web app, I want my front-end stuff to integrate with Rails reasonably well. Which means ERB or HAML templates with common elements properly extracted out into shared views, maintainable CSS in SASS, that sort of thing. What most of these UI services and contractors seem to actually deliver is something quite different.
99designs output is literally just an image of what they think your website should look like. Actually writing all of the HTML and CSS to make it actually look like that is up to you. It makes me think, why am I paying money for a picture of what my site could look like that requires me to do all of the actual work?
Most entry-level contractors seem to want to deliver self-contained HTML and CSS that are usually written with some tool that creates incomprehensible actual code. They have no clue about templating and extracting common elements out. This means that I have to basically rewrite whatever they deliver to actually integrate with the web app. Which again makes me think, why am I paying for this?
IMO, if I'm going to pay someone for front-end design work, I want to be able to point them at my Github repo, with a functional site with ugly basic HTML, say basically "make this look pretty", and they open a PR with their work which works with my existing templates to add the appropriate HTML structure and CSS classes and IDs, and CSS, fonts and images all in the right places for the framework I'm using. I'm willing to help and provide advice and guidance, but I don't want to take delivery of something completely unsuited and have to integrate it myself.
As a side note, if anyone's looking to get into web design, if you learn enough about coding to do the above and are also great at making websites look good, I expect you'll have boatloads of money thrown at you.
I've worked with marketing teams that tried to build their own HTML and CSS and ended up getting something that looked great... as long as you viewed it at the exact resolution of their designer's monitor. I had to go in and make it all work on mobile, which was a nightmare because their markup and styles were so badly organized. It took as much work as if they'd just given me PNGs.
More recently I received a bunch of designs from a designer who worked in Adobe XD. The designs were great, and what I got from XD was an interactive template and some very rough auto-generated CSS (mostly colors, fonts, and border radii). This was the sweet spot for me: no breaking out the color picker or guessing what letter-spacing they're using, but I could make the code work with my templating engine and make it responsive without having to rewrite bad code that they charged me for.
If you can find a designer that is great at both design and code, awesome! Keep them! But if not, chances are the most productive workflow is to let them do what they do best and just plan on doing the rest.
This implies that design is not work. Strange, on a tech website, to encounter someone who doesn't realize that design and implementation are two separate jobs.
The problem is that a lot of that work is wasted when all you produce is an example image. A lot of important design decisions, like tracking and leading, doesn't show well in a PNG. I'm not saying all designers should know and deliver their designs in HTML and CSS. In fact it's probably better if they don't and instead focus on designing. But I do expect them to effectively communicating their design decisions in a way that makes them implementable in HTML and CSS by reasonable people.
Chucking a PNG over the fence and calling it a day is just lazy and unprofessional.
[1] to those uninitiated: Business to Business, Software as a Service. Basically renting Software.
Making videos is one thing, but making videos to satisfy the algorithm is another.
- Like, comment, subscribe and smash that bell!
- Make sure your video is 30+ minutes long with plenty of filler.
I am disappointed to see established creators who never engaged in click-bait are (probably under duress) resorting to click bait titles and thumbnails now. Unsubscribed from two so far this week, and once I get down to zero I can quit YouTube.
Especially if surrounding "competing" videos are in the 1-2 minute range (often the case with "How do I do <X> in <Y> software?" kinds of tutorial videos).
Veritasium has a video on clickbait of itself - basically: it works and is more or less necessary to satisfy The Algorithm(tm).
Don't blame your favourite content creators for catering to a wider audience than just you.
I follow plenty of content creators that make good videos without artificially padding their runtimes, some long-form in the 20+ minute range, but also many that do low-minutes videos. Their channels are doing just fine.
When it comes to my habits, I tend to skip videos that are < 4 minutes in duration because I feel like that's not enough time to go into detail with a lot of subjects, and I prefer much longer videos because I can put them on in the background and they have the time to sufficiently express ideas. But for a while I began discriminating against videos between 18 and ~25 minutes because I feel that those are usually the videos that are padded. It's a bad metric, but it works enough for me that I think I waste less of my time.
Creators may think that the sweet spot is between 18 and 25 minutes because quality content tends to be longer, but don't realize that the length of that content is a necessity because of the subject matter; they see it as a simple metric that is of the desire of the user alone and not based on anything else. They also trick themselves because their content naturally gets attention. As much as I like some of Veritasium's videos, let's face it, his content tends not to be super thorough or heady. They appeal to the masses without necessarily being "IFL Science". He would probably get a ton of views even if his videos were only 8 minutes long because he's charismatic, has good editing, and the subject matter doesn't go way over the heads of the average viewer.
There's a different category of channel, the sorts of channels that focus on niche content, and have videos that would be long enough to qualify for midroll ad (which improves ranking) anyways, and/or the channels don't care about getting on the Trending page.
It seems these sorts of channels depend more on being shared in external communities. They tend to be run by people who self-fund the operation out of love, and do it as a hobby / side-gig, or have something like a Patreon.
YouTube has since shortened the minimum video length to 8 minutes.
I went to the state bar site(s) and did whatever was required to get a list/callbacks/whatever, and immediately started receiving spam calls and emails from "Law Services" companies where they wanted me to pre-load some sort of debit card, which would then be debited any time i had need for billable hours from "law services".
It felt really strange and scammy, and i relayed this to my friends who told me to try that, and nothing came of it. I didn't even find the lawyer(s) i required, to mine own detriment of six figures of loss.
Here are some of the things I do day to day - 10 cold calls with director level probation departments. These calls can go straight to voice mail or turn into a 30 minute conversation. - vet through the last 24 hours subreddits related to my industry to see if I can promote my app or help people in need - Verify the drug testing location data is fine - Manage SEO/Google ads analytics to figure out if the website needs adjustments or are there different types of key words that can be used. - Writing a blog post about the data of drug testing locations - Update the app (google policy changed recently)
Then at the end of the day wonder how much success or insanity is this going to bring.
Webiste: finishprobation.com
I think I'll need to follow OP's advice here. Just do the interesting things and grow slowly. Thanks for this post and it perfectly fit me.
[1] - https://remoteleaf.com
The larger the company, the more I feel I can specialize. The smaller the company, the more I'm expected to work outside of my defined box. As a company expands, at some point it breaks up into multiple units. Those newly formed units are typically too small, and people in them are expected to work outside of their defined boxes again. This is a pain point of growth. Eventually those units expand until the pain stops. They sometimes continue their expansion until they must again split. Obvious correlations to cell division and growth abound. A side project is the single cell organism, and it will eventually evolve and grow; or it will achieve equilibrium; or it will die.
I feel like I'm an equilibrium-oriented kind of person. I don't want to grow and evolve beyond the resources of my immediate work unit. If my work unit fails to meet my needs though, I move on towards a unit that will better help me achieve my equilibrium. People who enjoy working on specialization might better enjoy overemployment[0] with multiple pre-existing work units rather than turning a hobby into a venture. Alternatively some companies offer work at internal innovation groups, and those efforts sometimes offer rewards beyond the base compensation.
I also feel like some people are more like viruses in the Agent Smith sense that they never achieve equilibrium and have an insatiable desire to expand. Unlike the movie, I don't think viruses are inherently bad, it's just another form of life. It's tough to discern boundless ambition from a significant deficiency in workplace satisfaction though, and that can lead people to try to expand a hobby into a side hustle.
I think first a person has to identify whether they are motivated by boundless growth or are simply no longer achieving equilibrium at their current workplace. Moving to a new company or division, or even moving to a new career altogether, may be preferable to trying to evolve a hobby into a hustle.
A dispassionate accountant still does the job fine. Nobody will care about growth like you do.
It's also the most interesting part of the job.
Maybe its because i haven’t gotten to a place where i hate any one type of work. I recognize that i’m unskilled at it and there is probably some learning in at least trying the problem myself first.
Without having much money to invest in contracting out the solution, its sort of a necessity too.
I agree with the legal and tax stuff though.
Interested in how you approach those grey areas where your skillset and interest align for the problem but might be better to contract out. How do you budget?
I stopped because front-end development makes my eyes glaze over. The back-end is complete. You can theoretically play the game using any program that lets you manually send WebSocket messages. The game mechanics are all implemented.
But damn I hate writing JavaScript and HTML. I got about halfway done with the front-end before the drudgery got to me and I haven't touched the project in well over a year.
Maybe I need more jQuery. I'd been writing the front-end using Vanilla JS. http://vanilla-js.com/
Hopefully at some point I'll be able to hire someone for sales too.
The thing I really enjoy is coding and strategizing. I have no problem thinking of growth channels, but actually following through with the execution (which is often just writing emails all day) is what I dislike.
It's just like half your attention no matter how small the amount is, I'll self fund it for three years and miss the boat entirely rather than deal with the stress of someone expecting a financial return from my labor.
The biggest thing I won't do is sell out. I put that on a page and point advertisers to it when they start to annoy me.
tl;dr: my readers get the same advice as my best friend, even if it makes your product look bad. Live with it.
Here is my list of things I won't do:
- Sell out to advertisers
- Cover current events (way too much work)
- Moderate comments or manage a community
- Give interviews or draw attention to myself
- Cause harm to my community (with unethical advice)
- Give moral advice
Joking aside, excellent article. Once I've read the rest of it, I realized I could not agree more with everything you've said.
I take it that your side project has nothing to do with cellphones.
Likewise, and it has been a gift and a curse ever since in my experience.