Very nice, but if you want to use it professionally you should consider having an alternative "clear text" version for recruiters and the like. The technically minded will find it nice but most people won't know what to do or what any of this means. And you could consider adding `ls`, `cd` and `exit` just for fun -- it was the first thing I've tried.
claiir · 23h ago
Maybe just have commands auto-execute if you click on links in the existing text? That would allow someone to experience the entire interface on a touch device! :>
E.g. there is **__contact__** in the page, bold and underlined, but you cannot click on it to do anything.
aquariusDue · 20h ago
Good point, another solution might be something similar to https://ysap.sh/ which gives you a nice "page" formatted for the terminal when curl'ed and your usual HTML and CSS on the browser.
hliyan · 23h ago
+1 for ls and cd. I would also suggest numbered output for ls, so that the user can select using the numeric keypad. Or, up/down nav, TUI-style. I wish ecommerce sites could be more like this.
doubled112 · 22h ago
I miss real pages on eCommerce sites.
xtiansimon · 23h ago
I’ve trained bookkeepers to run Python scripts on Windows, and ls/dir, cd are foundational, including the syntax for a script command’s arguments.
For the clear text version, it could be a hypertext document run by an app! Haha
oriel · 17h ago
I did something like this, in a much more limited form, when putting together my personal site a few weeks ago. https://1ps0.info/
I had a friend try to run 'sudo shutdown -r now'. It inspired a much more thorough approach to the terminal functionality, but I didnt want to rabbit hole too far.
As it stands, initially it was a cyberpunk theme but i wanted a vscode-like professional theme as default, so you can toggle between them through cli. Lots of fun to be had with eastereggs.
swyx · 18h ago
also dont forget SEO...
noduerme · 23h ago
er, I assume that they made this site because they're far too good to work for anyone who doesn't want to take the time to find out how it works. In other words, recruiters need not apply.
MOARDONGZPLZ · 18h ago
I would love to hire this person (in theory), but every job I post gets hundreds of inbound applicants, and while hiring is one of the most important aspects of my job, it is second to delivering software with value. I really don’t have time to seek out every person out there who may have a resume, much less a quirky resume, so I send recruiters who work for me to find good candidates for top of funnel. I don’t think there is anything wrong with this.
Philpax · 1d ago
I'm going to represent the critical opinion and say: this is cute and I like the idea in theory, but if I encountered this in the wild, I would just leave the page. I explore most informational websites with a mouse or a touchscreen - I don't want to type to navigate your website!
A middleground might be to make the commands clickable, so that clicking on "help" automatically inserts and runs it, and clicking on any of the commands in "help" does the same. You would still frustrate users who would have to keep scrolling up to reach the navigation, but it would make it usable without a keyboard.
washadjeffmad · 21h ago
The front page of our early phreaking zine was an interactive cellphone- a certain famous model of Motorola- that you had to navigate to enter.
It was a great filter against people who wouldn't have understood the content. If you knew how this model worked, there were a lot of easter eggs, and we received a lot of great feedback to make it more fun and rewarding.
Being told that it would "frustrate users" would have elicited a friendly "Not ours :)".
Philpax · 17h ago
Absolutely! I very much respect that; some things are meant for a specific audience, and that's OK.
That being said, it looks like this website is meant to serve as a portfolio and a self-introduction - and for that, you generally don't want to alienate the entirety of your mobile audience :sweat_smile:
dgimla20 · 1d ago
It's a cool looking site, but these terminal style sites (seen a few of them from web developers and software types) look terrible on phones and tablets (keyboard constantly present), which is well over 60% of web traffic now.
You have to keep in mind your audience. If you presume everybody visiting this site is software-inclined, it's fine. I know a lot of less tech-literate users who would leave something like this straight away thinking they're being hacked or something daft.
buu700 · 13h ago
I know a lot of less tech-literate users who would leave something like this straight away thinking they're being hacked or something daft.
That reminds me of the time my friend and I put together a silly shell script called pentagonhack.sh that went through an 80s-movie-style nonsense hacking sequence while you mashed the keys. Most of the content was inside jokes, but there were a number of all caps references to a Pentagon server with warnings about unauthorized access being forbidden, and overall it looked pretty plausible to someone with no technical background or even cursory knowledge of SSH and Bash.
Anyway, my friend got bored one day and fired up the script in a TTY on his laptop during lunch in our high school cafeteria. Apparently his friend who'd been sitting nearby noticed and started paying attention to what was on his screen, and then understandably found it alarming when by all appearances he was in the middle of typing out a command to run a malware executable on a Pentagon server. So she stands up and yells, "JOSH IS HACKING THE PENTAGON!". Of course he immediately switches back to X11/GNOME, probably with some homework assignment open in OpenOffice or an active Blackboard tab in Firefox, and everyone looks at his screen before looking back at her like she's crazy. The way he tells it, she was practically ready to go call the cops until he explained the joke and calmed her down.
snerbles · 11h ago
When I returned to college ~15 years ago, my main laptop was a ThinkPad T60 running some flavor of Debian. I spent a lot of time with a full-screen terminal open in some sort of green-on-black color scheme.
On several occasions some complete stranger would interrupt me - usually with a shoulder tap - and demand to know what I was doing hacking in the library/student union/etc. Never happened in the engineering buildings, though.
andyjohnson0 · 23h ago
Agree. While I acknowledge the work that must have gone into this, and the playful quality of the result, with respect this is a frustrating way to present information.
Personally I'd have gone for a 90s TUI-style hypertext presentation. But, like I said, nice work!
uticus · 19h ago
Agreed, a better option would be SSH / Telnet server in addition to a web page, perhaps with auth instructions given on the web page to keep the majority of bots out.
MortyWaves · 2h ago
I can’t even use it on mobile apparently so can’t be bothered trying to use the site. 10/10 experience /s
hombre_fatal · 22h ago
Make it fully navigable by clicking.
Every time you suggest commands (like "help"), let the user click them, and the UI responds as if they typed it and hit enter.
Every command that can be typed/clicked can be highlighted a green color or something.
There's at least one easter egg!
use developer --color (sorry, I have a habit of digging through source)
abdisaDev · 7h ago
You found it! Shhh… let’s keep it our little secret ;)
tiulpin · 2h ago
Have a similar thing for my own personal website – https://tiulp.in/, with the important commands implemented, tab completion... and if you have WebGPU, something more :))
For the projects I think some click function to open an ncurses-like modal would be cool :)
Another idea: what about adding a light mode?
P.S.: I would also add `rm -rf` and return something like "nice try ^_^"
swiftcoder · 4h ago
I enjoyed navigating this, however, I would recommend that you make the various sub-pages linkable (maybe the TTY opens and runs the correct command if you follow a link to a sub page?) - it's hard to share anything about you from this site.
noufalibrahim · 17h ago
Nice. One of the earliest examples of terminal style websites I've seen was jwz's www dot jwz dot org. (Linking from here produces a different site). I remember it being like this 20 years ago and it still is.
duxup · 17h ago
Apparently that user doesn't want people linking from this site or something.
I guess they don't like anyone who happens to click on a hyperlink here...
noufalibrahim · 16h ago
Wasn't aware of that. I'll edit my link
conrs · 17h ago
Link NSFW - props on style though.
rckt · 1d ago
Looks nice, but feels like it's not complete. No tab completion. The font styles are not terminal like. Looks weird with those headers. Would be also great to be able to click stuff. In my opinion this needs improvement in either way. Otherwise feels half-baked, you didn't go full terminal way at the same time did not give an easy way to navigate.
JdeBP · 23h ago
You are the second person, after feisuzhu, to talk of tab completion.
But we were told a TTY not a shell.
Historically, there were all sorts of user interfaces that one could get over a terminal, not just Unix, GNU, and other shells. There were BBSes of many flavours, Prestel, and any number of bespoke menu-driven systems.
Giving people a shell inside a WWW browser has been done, and is even somewhat hackneyed at this point. (https://news.ycombinator.com/item?id=39829463 got 0 votes and 0 comments.) But some other kind of terminal interface makes for an interesting change.
The phrase "You are in a maze of twisty passages, all alike." seems apposite, at this point. (-:
Cyphase · 6h ago
Not exactly the same kind of thing, but reminds me of the new(-ish) Music for Programming design: https://musicforprogramming.net/
"This terminal hates being squished. Deploy a bigger screen. "
I thought 1920x1080 was acceptable on a laptop :(
jarbus · 23h ago
I like it as a fun experiment, but I definitely wouldn't require users to interact with my website so much in order to start viewing the content
ssgodderidge · 23h ago
Maybe the initial message could be enhanced with more content?
kaishiro · 23h ago
Cool! This is fun, and I love seeing people try out alternative website UIs.
We did something similar for our company website (link in my profile if you’re interested). It started out as more of a TTY but eventually had to find a middle ground for reproducible pages. We didn't really care much for SEO but I wanted to see if there was a way to deliver consistent content while maintaining that style.
abaymado · 17h ago
Good job! Make it more mobile-friendly (only tested on iPhone). Like many others suggested, make the segments clickable for non-technical people to navigate, and add commands like cd, ls, etc., to make it more interesting for hackers. Gobez!
This is a really cool design for a website, but I can't imagine it would be too user friendly for mobile users. It's still awesome to use on desktop.
aligundogdu · 23h ago
Recently, I’ve been working on my own website and spending a lot of time thinking about how it should look and feel. I have to admit — I liked yours so much I’m almost jealous!
Just a small note: It would be even better if the projects in the "Projects" section were clickable and led to their details.
RayJSeth · 18h ago
Love seeing folks passion projects like this! Feels very old-web, not just stylistically, but also just the culture of folks making things that _they_ want to and just putting them out there.
I recently put a minor terminal-ish toy on my personal site https://rayjseth.io/ as an excuse to play with the infra to build/deploy go-wasm+Next in Vercel.
Always feel like those labor of love tangent projects are the best place to grow new skills :)
Bengalilol · 21h ago
1st second of my 1st visit:
ls
→ 'ls': command not found. use 'help' to list available commands!
Anyway, fun UI. I was a little less impressed by the 'projects' page, I would have loved being able to visit the projects.
JadoJodo · 20h ago
Very cool! Note: This doesn't work with Vimium installed, since only certain keystrokes make it through to the page. I think the input would need to be an input field in order for that to work.
mtoohig · 19h ago
You should be able to press 'i' to enter 'insert' mode then the site should work.
conrs · 18h ago
Awesome! We should talk, very curious about your implementation.
Also stealing all these ideas from the comment thread on how to improve it :)
OhMeadhbh · 19h ago
Nice! I did the same a while ago: HTTPS://BI6.US/ . I've been using the VT220mod and VT323 typefaces for various projects for a while. It just made sense to make my vanity site look like a terminal from the 80s. Links to the fonts can be found at HTTPS://BI6.US/A.HTML and the whole thing is creative commons licensed. Feel free to use the boilerplate for your own non-commercial projects, though I ask for attribution.
larodi · 6h ago
What’s the point of having tty style site only to link to non-tty, rich UI apps…?
noduerme · 23h ago
I love it. This is really original. It's beautiful and entirely unnecessary, but that's what makes it good. Of course there are old BBSs and things on the web where you can have a TTY experience, but I can't remember ever seeing a person's portfolio site designed by hand like this to mimic that feeling. It's impressive for being so clean and minimal while at the same time obviously difficult to accomplish in such a polished way. Top notch.
Angostura · 19h ago
i hope you are monitoring for how many people tried rm -rf /
ag8 · 11h ago
Reminds me of https://szge.ca, which comes with fake keyboard and fan noises:)
sigilis · 23h ago
I did something like this myself a little while back, knownothing.dev
It’s fun to put together nonstandard interfaces. I had the idea of streaming in text like you were connected by an old modem to a remote system. Never experienced it myself, as I am not old enough, but I found the idea aesthetically pleasing.
JdeBP · 17h ago
I have. It's not quite right, and its off enough to be in the uncanny valley for those who have seen this. Mainly the difference is in how the prompt should be streamed as well, and how the prompt does not re-appear until the command has finished.
With late 1980s character-mode terminals one could do clever things with margins and have a scrolling area in the middle of the screen and an input area at the bottom, so it's not wrong per se. It's just not how things commonly worked. (The clever things brigade were a select few. Mostly the whole screen would scroll.)
A greater than symbol as the prompt character and an e-mail address in the prompt didn't commonly go together, either. If there was an e-mail address, it was some type of Unix shell, and the prompt character was conventionally dollar or hash. If the prompt character was a greater than symbol then it was a BASIC or MS/PC/DR-DOS which didn't do e-mail addresses and multi-user. Again, it's not wrong, as famously prompts can be customized, but it's just ever so slightly off .
netsharc · 22h ago
> streaming in text
Nowadays people would think your site is an LLM page, since ChatGPT implemented this and now every LLM apparently has to do the same...
sigilis · 19h ago
You know, I hadn't really considered that.
I do find the text streaming aspect of LLM interfaces to be a charming solution to the latency issue. What's old is new again.
I instinctively pressed ^W to delete a word and closed the tab. Nice.
BinaryPie · 19h ago
There used to be tons of these and even turn key libraries that do all of this and much much more. Especially in the early to mid 00s. Did you do any research into them before you built this?
rafram · 17h ago
Fun! Though it shouldn't scroll down on every key press, only ones that input a character. Command/ctrl-clicking a link jumps down to the bottom right now.
codeqihan · 1d ago
It looks pretty good on my laptop, though the font doesn't quite look like a terminal's (especially the bold), but overall it's still pretty nice.
It would be even better if some simple commands (like the most basic grep, less) could be added.
ale42 · 1d ago
It needs a switch to enable a "true" terminal mode... e.g. with such a font https://caglrc.cc/~svo/glasstty/ and slightly blurred characters!
Maybe turn it into an adventure game. I recently though about making an adventure game about my house and the surroundings.
gr4vityWall · 1d ago
I like it. It felt personal and non-intrusive.
feisuzhu · 1d ago
No tab completion!
urbandw311er · 19h ago
Nice! It would be good if help <command> displayed specific help for that command.
epasveer · 21h ago
It won't let me pick up the axe.
spookie · 18h ago
wdym?
wunderlust · 8h ago
I believe it's a reference to some of the old terminal RPG games, like Arabela (or something like that).
noshitsherlock · 22h ago
Great idea a lot of military communication is still like this. I think efficiency and clarity.
ryao · 17h ago
You might as well add support for viewing this over telnet too.
whywhywhywhy · 18h ago
Make ls work and have the commands listed in help show up as programs.
rezonant · 17h ago
Obvious first command, "cat /etc/passwd"
malablaster · 19h ago
I did this like 15 years ago for my personal site too! Looks great.
rubyfan · 12h ago
That was fun, thanks for sharing!
Galicarnax · 1d ago
Add a pager like `less` (e.g. `$ projects | less`). And `exit` should close the page.
Gualdrapo · 1d ago
On firefox mobile I neeed to double-tap Enter to run any "command"
jampekka · 1d ago
I have two tabs at tty7 but the contents aren't in sync!
BiraIgnacio · 23h ago
Really cool, thanks for sharing. Very original indeed.
huhtenberg · 18h ago
F12 is blocked. That's not nice.
kmoser · 14h ago
Right-click, then inspect
mindcrime · 6h ago
Was anybody else disappointed to find that "plugh", "plover", and "xyzzy" don't do anything? :-(
drob518 · 21h ago
Just FYI, it’s not mobile friendly.
ineiti · 1d ago
No ls and no cd?
salter2 · 1d ago
No matter what I'm doing in a terminal as soon as it opens I use ls. I always get so disappointed when these sites don't have it (none ever do). Please let me do terminal things in a terminal.
agumonkey · 20h ago
Introducing ReactRouterTTY
AndrewOMartin · 1d ago
It's cute. Needs a pager ;)
MelodyUwU · 23h ago
few "commands" that id like to see: ls, cd, less (better reading), uname, echo. would be nice for sure! otherwise it seems some fonts are not really terminal-like. looks good and simple right now though.
Hah, I see exactly the same issues as I had when trying to implement TUI on mobile (autocomplete fail, no arrow keys, blocking view, ...). It's just so painful and actual seems almost impossible to leverage the virtual keyboard for input.
qiine · 23h ago
no tab completion ? ;p
9dev · 23h ago
Slightly disappointed my `sudo rm -rf /` wouldn’t do anything.
kmoser · 14h ago
Check your local filesystem; you might be surprised :)
quotemstr · 1d ago
If you want to flex as a traditionalist, you might want to consider adopting the https://motherfuckingwebsite.com/ aesthetic instead of the terminal one. The former remains browsable, whereas a terminal interface, however cute, creates enough UI friction to drive casual readers away.
noduerme · 23h ago
friction to drive casual readers away is actually what you want if you don't like casual readers.
E.g. there is **__contact__** in the page, bold and underlined, but you cannot click on it to do anything.
For the clear text version, it could be a hypertext document run by an app! Haha
I had a friend try to run 'sudo shutdown -r now'. It inspired a much more thorough approach to the terminal functionality, but I didnt want to rabbit hole too far.
As it stands, initially it was a cyberpunk theme but i wanted a vscode-like professional theme as default, so you can toggle between them through cli. Lots of fun to be had with eastereggs.
A middleground might be to make the commands clickable, so that clicking on "help" automatically inserts and runs it, and clicking on any of the commands in "help" does the same. You would still frustrate users who would have to keep scrolling up to reach the navigation, but it would make it usable without a keyboard.
It was a great filter against people who wouldn't have understood the content. If you knew how this model worked, there were a lot of easter eggs, and we received a lot of great feedback to make it more fun and rewarding.
Being told that it would "frustrate users" would have elicited a friendly "Not ours :)".
That being said, it looks like this website is meant to serve as a portfolio and a self-introduction - and for that, you generally don't want to alienate the entirety of your mobile audience :sweat_smile:
You have to keep in mind your audience. If you presume everybody visiting this site is software-inclined, it's fine. I know a lot of less tech-literate users who would leave something like this straight away thinking they're being hacked or something daft.
That reminds me of the time my friend and I put together a silly shell script called pentagonhack.sh that went through an 80s-movie-style nonsense hacking sequence while you mashed the keys. Most of the content was inside jokes, but there were a number of all caps references to a Pentagon server with warnings about unauthorized access being forbidden, and overall it looked pretty plausible to someone with no technical background or even cursory knowledge of SSH and Bash.
Anyway, my friend got bored one day and fired up the script in a TTY on his laptop during lunch in our high school cafeteria. Apparently his friend who'd been sitting nearby noticed and started paying attention to what was on his screen, and then understandably found it alarming when by all appearances he was in the middle of typing out a command to run a malware executable on a Pentagon server. So she stands up and yells, "JOSH IS HACKING THE PENTAGON!". Of course he immediately switches back to X11/GNOME, probably with some homework assignment open in OpenOffice or an active Blackboard tab in Firefox, and everyone looks at his screen before looking back at her like she's crazy. The way he tells it, she was practically ready to go call the cops until he explained the joke and calmed her down.
On several occasions some complete stranger would interrupt me - usually with a shoulder tap - and demand to know what I was doing hacking in the library/student union/etc. Never happened in the engineering buildings, though.
Personally I'd have gone for a 90s TUI-style hypertext presentation. But, like I said, nice work!
Every time you suggest commands (like "help"), let the user click them, and the UI responds as if they typed it and hit enter.
Every command that can be typed/clicked can be highlighted a green color or something.
The title for "Help" isn't a terminal font, it jumps out as misplaced.
Also, suggestion is to add some hidden easter egg commands. I was surprised `whoami` worked, but then I saw it in `help` and was sad.
But anyway:
(you can grab a template here https://github.com/tiulpin/kotlin-cv.js)
(Historical note: pixels were bigger, in 2003. Feel free to zoom in / increase the text size.)
All the man pages (same as `man -p`): https://masswerk.at/jsuix/man.txt
(I think, the simple vi implementation acquired a scrolling bug, if the buffer starts with less than an entire screen.)
Also, try `invaders` (it does games, too). ;-)
As others mentioned, if you use this to attract clients or recruiters, I recommend adding a version for non-technical folks.
As a nerd I'd love to see some more colors like in the themes you can set using Prezto or Oh-My-ZSH (reference: https://github.com/sorin-ionescu/prezto?tab=readme-ov-file#t...).
For the projects I think some click function to open an ncurses-like modal would be cool :)
Another idea: what about adding a light mode?
P.S.: I would also add `rm -rf` and return something like "nice try ^_^"
I guess they don't like anyone who happens to click on a hyperlink here...
But we were told a TTY not a shell.
Historically, there were all sorts of user interfaces that one could get over a terminal, not just Unix, GNU, and other shells. There were BBSes of many flavours, Prestel, and any number of bespoke menu-driven systems.
Giving people a shell inside a WWW browser has been done, and is even somewhat hackneyed at this point. (https://news.ycombinator.com/item?id=39829463 got 0 votes and 0 comments.) But some other kind of terminal interface makes for an interesting change.
The phrase "You are in a maze of twisty passages, all alike." seems apposite, at this point. (-:
I thought 1920x1080 was acceptable on a laptop :(
We did something similar for our company website (link in my profile if you’re interested). It started out as more of a TTY but eventually had to find a middle ground for reproducible pages. We didn't really care much for SEO but I wanted to see if there was a way to deliver consistent content while maintaining that style.
Possible past discussions:
https://news.ycombinator.com/item?id=28797535
can we get a dump of the hacker news archive?
Just a small note: It would be even better if the projects in the "Projects" section were clickable and led to their details.
I recently put a minor terminal-ish toy on my personal site https://rayjseth.io/ as an excuse to play with the infra to build/deploy go-wasm+Next in Vercel.
Always feel like those labor of love tangent projects are the best place to grow new skills :)
Anyway, fun UI. I was a little less impressed by the 'projects' page, I would have loved being able to visit the projects.
https://con.rs (a refactor, limited functionality) https://blog.con.rs/series/#mash (posts related to the saga of development, recently revived!)
Also stealing all these ideas from the comment thread on how to improve it :)
It’s fun to put together nonstandard interfaces. I had the idea of streaming in text like you were connected by an old modem to a remote system. Never experienced it myself, as I am not old enough, but I found the idea aesthetically pleasing.
With late 1980s character-mode terminals one could do clever things with margins and have a scrolling area in the middle of the screen and an input area at the bottom, so it's not wrong per se. It's just not how things commonly worked. (The clever things brigade were a select few. Mostly the whole screen would scroll.)
A greater than symbol as the prompt character and an e-mail address in the prompt didn't commonly go together, either. If there was an e-mail address, it was some type of Unix shell, and the prompt character was conventionally dollar or hash. If the prompt character was a greater than symbol then it was a BASIC or MS/PC/DR-DOS which didn't do e-mail addresses and multi-user. Again, it's not wrong, as famously prompts can be customized, but it's just ever so slightly off .
Nowadays people would think your site is an LLM page, since ChatGPT implemented this and now every LLM apparently has to do the same...
I do find the text streaming aspect of LLM interfaces to be a charming solution to the latency issue. What's old is new again.
It's not really useful, just fun (for me)
also:
err
Meanwhile, sacc/cgo, gem.awk, offpunk, just work like a terminal prompt under an atom n270 netbook.