Activity

Eli Nelson

Devlog #2: The Iron Cloud Opens

The second big commit finally pushed Ink & Iron into Chapter Two.

The story now climbs into the Iron Cloud Monastery, where the mountain gets colder, the rules get stranger, and the player starts to feel the world pushing back. I also got a proper combat system in place, so fights now run on Qi, HP, Yin, and Yang instead of just vibes and hope.

The other big cleanup was structural. I split the game into real scene files for Chapter One and Chapter Two, and moved the shared terminal stuff into a library. That means the typewriter effect, menus, and transitions are finally reusable instead of living in one giant main.ts.

What’s working:

  • Chapter Two is playable
  • Combat is now turn-based and stat-driven
  • Chapter files are split cleanly
  • The monastery atmosphere is landing well

What’s next:

  • Expand the monastery arc
  • Tighten boss combat
  • Make the Dragon Seal matter even more

It’s still rough, but now it feels like a real game instead of a long experiment.

0
Eli Nelson

Devlog #1: It’s Alive (and 110MB)

I finally hit “Publish” on the first version of Ink & Iron.

It’s a text-based RPG set in a dark, supernatural version of the Song Dynasty. You play a time traveler caught between a humble shopkeeper and a very suspicious monk. I’ve spent the last few hours wrestling with Bun to get the I/O feeling just right—typewriter effects, custom menus, and a stat system that tracks your “Yin” and “Yang” balance.

The highlight of the week: Accidentally trying to push a 110MB Windows binary directly to GitHub. Turns out, bundling the entire Bun runtime makes for a chunky file. GitHub wasn’t a fan.

The fix: I’ve moved the builds to the Releases tab and added a zipping step to my build pipeline to keep those Linux/Mac permissions intact.

What’s working:

  • Act I Narrative: The “Awakening” sequence is fully playable.
  • The Engine: The custom TypeScript/Bun CLI wrapper is solid.
  • The Vibe: Using chalk to make the terminal feel like a shifting, ink-stained world.

What’s next:

Moving into Act II. The player is headed to the Iron Cloud Monastery, which means I need to start building the combat mechanics and refining how the Dragon Seal actually interacts with the world.

It’s unfinished, it’s a bit rough around the edges, but it’s a start.

0
Eli Nelson

Sorry its been a bit since my last update, this one is not quite as big, basically some minor changes and polish.

New Commands:

  • via explore see the top downloaded commands
  • tail and head see the end or beginings of a file (the cat’s head and tail lol)
  • theme switch your theme

Themes

I added a new theme system with css variables, I had claude generate a huge list of themes add them so you have lots to choose from.

Whats next:

  • Custom theme support
  • play/game command with fun games
  • easter eggs
  • idk comment ideas

Changelog

0
Eli Nelson

You know at this point I think I will stop saying that this is the biggest update because I have proven they just get bigger each time… But even saying that… This is the BIIGEST UPDATE YET! I finally got arround to adding a marketplace its still very much in beta and needs to be ironed out a LOT but here it is:

VIA

Via is my OS’s package manager pretty much you can create packages or commands with via and they can be installed by others. here is how it works:

  • First read the docs on GitHub or with via docs for a simplified version in OS.
  • Second make a file touch my_command.ts and go ahead and write your function with ts or js. (Use built in editor: write my_command.ts)
  • Third publish the command to the marketplace via create [name] [file] [description] for example via my_command my_command.ts my cool command
  • install and use via add my_command

You will NEED to sign the ToS or VIA agreement to use via create or via add

Thanks for reading!

Changelog

0
Eli Nelson

This is… The BIGGEST UPDATE EVER! I refactored basically the whole system to include file properties and a multi file architecture for maintainability (cause 700+ lines a file was awful.) Here are the changes:

New Commands:

  • Login (Log in with Cloud (more info later))
  • Logout (Sign out of cloud)
  • Who (Check who is signed in)
  • Date (Print current date)
  • History (Past commands run)
  • Stat (Print file info)
  • Chown (Change files owner)
  • Chmod (Change file perms)

Cloud Sign In

I added the option to sign in with google to save your info to the cloud, this is nearly unlimited so go ahead and use it as your new drive! (jk please don’t)
Just so you know YOU DON’T NEED TO SIGN IN TO USE you can totally use the local storage implementation cloud is just the stepping stone I needed to support custom command marketplace later.

Please don’t save anything important on cloud its subject to change and is not encrypted yet :0

File System Overhaul

I added properties to ever single file and directory this was to support more commands and add sudo to things (I love sudo) This change was awful and broke like 10 commands but I fixed it!

Chmod and Chown might still be a little broken but I am working on it right now just needed to post a devlog

Whats next:

  • More commands
  • Market place

Thanks for reading!

Changelog

0
Eli Nelson

Another big update this one with even more advanced features! I am super happy with how this is coming along, just a little worried how quickly I am making it!

Here are the new commands:

Terminal Commands

  • ls — List all items in a directory
  • clear — Clear the terminal
  • mv — Move a file
  • cp — Copy a file
  • write — Edit an existing file (Nano Inspired)

Other Changes

  • Command History (Up and down arrows)
  • More Helpers and Comments
  • New HTML container for write command
  • Fix Types and Typos

Whats next?

I still really want to make a command market place but its seeming like it would require a LOT more infrastructure than I had originally assumed, I am thinking a pre step would be a cloud login so you can have more storage and across devices.

Changelog

0
Eli Nelson

Ok so this is a huge update! I spent a lot of time making a lot more commands implementing the rest of the file system, lots of helper functions for locating files and directories, and more!

Here are the new commands:

  • echo <text> — Echoes the provided text back
  • cd <dir> — Changes the current working directory (.., relative, and ~ supported)
  • pwd — Prints the current working directory
  • mkdir <dir> — Creates a new directory
  • rmdir <dir> — Removes a directory
  • touch <file> — Creates a new file
  • rm <file> — Removes a file

Other changes:

  • File System Finished and tweaked
  • Input updated with line wrap and username
  • Generally polish HTML and CSS
  • Fix Types in TS
  • Much more I forgot

Whats next?

I have a whole list of commands I want to add from Unix and ambitious future plans to add a command marketplace so people can make custom commands and share/install them.

Changelog

0
Eli Nelson

Welcome to Web Terminal! Its a web based terminal OS, so far I started making support for commands with the commands: help, hello, and ping

They are pretty simple but fun to make, right now I am working on a JSON based full file system saved in local storage, I made the makeDirectory and makeFile commands that crawl the current file system make the needed directories until they get to where you you need to make the file or directory.

Now I am working on readfile and list directories for commands: mkdir, cd, ls, and more!

0
Eli Nelson

Today and yesterday I worked on adding new endpoints and generally updating the fixing the API, I added API keys, CORS, and other forms of validation including rate limiting. The next step will be building a webpage to generate and manage API keys.

Attachment
Attachment
Attachment
0
Eli Nelson

Hello World! This is Mandarin API’s first devlog, I kind of forgot how to start these lol!
This is going to be a TS Hono API that takes english as an input and translates it into all forms of Mandarin Chinese, this includes Traditional (Taiwan), Simplified (Main Land), and PinYin (English Speaker Readable).

I am building this tool because I love Taiwan and am working on learning Chinese so I can live there someday :)

Technical Specs:

  • Bun (Faster than Node)
  • Hono (Easy and fast works with Bun)
  • Translation (OpenRouter model for now eventually custom solution)

This first version is a MVP to get things working before I implement a custom translation solution!

Attachment
0
Eli Nelson

Shipped this project!

Hours: 4.0
Cookies: 🍪 30
Multiplier: 7.54 cookies/hr

This was super fun but needs a LOT of work thanks for suffering through voting on it depending on how it does I might made a really good v2 right now I am making APIs to put on it.

Eli Nelson

Ok I am done, decided not to do any restyling because I kind of just got bored of this project, this will probably not be the last ship just the first one for this project, I think its really a good idea but needs a LOT more work then I can put in right now. The biggest issues are 1: the Database is super expensive, 2: there is no auth :(

Well I just need to finish this before I can work on something else so thanks for suffering through voting for this!

PS: test API should work but the test api is invalid!

Attachment
Attachment
Attachment
Attachment
0
Eli Nelson

I worked on the add API page which I had to debug a lot I kept getting the types wrong and the input parsing wrong, in the end it worked out prisma is not super easy to work with lol. Time for some visual updates tomorrow.

Attachment
0
Eli Nelson

Well I decided to finally learn a js framework, I went with Next.js for this one, I started by making the core layout and found that the syntax is not actually that bad, I had an issue with the custom urls with like [slug] and I needed chatgpt to help turned out I needed async input to the function or what ever. Don’t worry I know it looks super AI I am not onto styling yet just needed to visualize things better for the time being.

Attachment
Attachment
Attachment
0
Eli Nelson

Shipped this project!

Hours: 8.06
Cookies: 🍪 72
Multiplier: 8.89 cookies/hr

I built passcore web its a web based implementation of my password scoring rust library and I am super exited to share it with the world! Its blazing fast, safe, and easy to use! Its the best looking UI I have built so far and I am super happy with it!

Eli Nelson

OK its done, or at least done for now! I polished the readme, documentation (tiny bit), added password max length, and now I am done! Here is the final feature list:

  • Fast Safe Password Scoring
  • AMAZING UI/UX
  • Rate Limiting and Bot protection
  • Fully working API
  • A fun project to work on!

Thanks for everyone who followed along with this project and for the rest of Hack Club as well for making this kind of project possible (railway credits from Flavortown shop are game changers).

PS:

Uploaded files are the current version of the website as of the first ship

Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
0
Eli Nelson

OK, so today I basically updated a few things first I wrote a little bit of documentation that read me and then for the actual code I updated like rate limiting and added links to the Github, here are the changes:

  • Added some comments (Documentation lol)
  • Make a simple readme
  • Updated Rate Limits to be IP based and fine tuned the numbers
  • Optimized because railway charged me $0.01 to far :0

Thanks for following along!

PS: running out of ideas for screenshots

Attachment
Attachment
0
Eli Nelson

Today I worked on the website again… Well I did quite a bit. Here is the rundown:

  • Removed button submission in favor of a real time design
  • Rebranded with new questionable color scheme (please comment your opinion on it)
  • Updated the rate limits
  • Wrestles with CSS issues…

Thanks for reading sorry its a pretty short one please check out the website and give me feedback on the design!

Attachment
Attachment
Attachment
Attachment
0
Eli Nelson

Ok so one last devlog for today! I have had so much fun building this app and I have (amazing) found its far from done! So here is what I added in the last little bit.

  • Hide/Show toggle for password text
  • Stats endpoint with SQLite (/stats)
  • Rate Limiting and CORS polices

I had so much fun today thanks juniors at my school for having ACT so I could program all day long!

Attachment
Attachment
Attachment
0
Eli Nelson

Ok i’m back and I basically finished the website. Now I know from experience that once you say its done 50 new things pop up to do so I am not shipping (yet). Here is what I did today since the last devlog:

  • Overhauled the whole UI
  • Added Mobile Support
  • Added Dark/Light mode toggle (Phosphor Icons btw)
  • Suffered through tons of styling issues

Overall I think this really improved the website and make it highly polished, I updated the scoring logic as well as it was really harsh, but you can check that out on my passcore project a little more. I really like how the website looks and I am super proud that I thought of the current UI instead of offloading design to the AI overlords.

Let me know if you have any more ideas (Like better feedback lol). Thanks for reading!

Attachment
Attachment
Attachment
Attachment
0
Eli Nelson

A while back I built passcore it was a password scoring rust crate, my second big project ever, and was a LOT of fun to build. Unfortunately the average person (my family included) can’t install a rust library easily… so I decided to build this web UI so you could score your password through the web!

First I had to either convert my library to JS or Python, build the website in Rust natively, or what I eventually decided: Build an API. Luckily this was the choice I made and it was not nearly as bad as I had though, I used Axum (I always type Axom lol) to build the API as it has a lot of built in features that let me do it quite quickly.

Next I deployed on Railway and tested it with curl which worked amazingly! One of the coolest things I have ever done (Hack vibes went hard). Next I build the vanilla HTML, CSS, and JS web ui and also deployed it on Railway.

Some features I included were:

  • A scoring bar that highlights how good your password is
  • Secure lack of storage (I don’t store passwords using the API)

I chose Railway for deployment because I LOVE there UI and I got server hosting credits from Flavortown!

Thanks for reading if you got this far comment anything you want to see added!

PS: Do you like this new devlog style I really just sat down and typed forever, I usually use AI or just do something much shorter for time but today I though it might be worth spending a little more time writing the devlogs. Thanks for reading!

Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
0
Eli Nelson

Shipped this project!

Hours: 19.86
Cookies: 🍪 362
Multiplier: 18.22 cookies/hr

I build Traceback a website for users to submit lost and found items for recovery! It won 3rd place at SLC FBLA in Utah! It was super tricky and my first Full Stack website I built! I am super proud of the language translation features I made.

Eli Nelson

Ok, so the website is finished! We presented it at FBLA State and took 3rd Place! It’s not as good as I had hoped, but I guess it just shows that it’s not just the website that makes you win, it’s the presentation as well.

In the end, we made some minor visual changes, but it was basically done in the last devlog anyway.

Thanks to anyone who helped with the project, like testing and stuff!

We used this slide show as another visual aid for our presentation: https://www.canva.com/design/DAG_jsjM0fk/tMnAyFJ4LYoUdREDbw9MJA/edit?utm_content=DAG_jsjM0fk&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton

Attachment
0
Eli Nelson

Sorry this devlog took longer than expected here is the summary:

The biggest addition was building out the lost and found item flows. Both reporting systems now have full forms with tags, locations, image uploads, and filtering so users can actually post and search items properly. (The first one was hard then just copy paste pretty much lol)

There was also a lot of UI polish: cleaner navigation, improved buttons and interactions, and fixes for mobile layouts so pages don’t get cramped.

The site now supports dark and light mode as well as multi-language support.

On the backend side, everything is now connected to Appwrite for authentication, listings, and image storage.

Overall this phase was mostly about finishing core features and turning the project into something that feels like a complete application rather than just a collection of pages.

Its basically done at this point and just in time too competition next week!

Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
0
Eli Nelson

We are getting close to finishing the home page! I had Kilo Code make me a CSS and HTML issue file that highlighted mostly css inconsistencies in the codebase like variables and padding vs margin. Using this file I went through and updated the codebase, the biggest changes where the hero island, and button animations.

The site is almost ready for the next pages to be added!

0
Eli Nelson

I spent quite a bit of time working on the CSS and home page. The navigation is pretty great now, but I am having a big issue where none of the CSS, JS, or some images are loading on the GitHub Pages deployment, making it hard to share.

Another thing I did was find a video to replace the hero image to make the site better and more engaging.

Next, I plan to work on the rest of the home page, which I expect to take around 2-3 hours and be done before the weekend.

If anyone knows how to fix this issue, let me know!

Attachment
0
Eli Nelson

I had to step away from this project for some time for school. But now I am back with a whole new plan! We chose a color palette and made a Figma design this time around, I started on the HTML, and CSS today as well as made a rough first draft of our logo which I attached.

If anyone has any good name ideas for a lost and found website please comment them!

Attachment
0
Eli Nelson

I am building a lost and found website that will let users report lost and found items. This is a challenge so I can learn full stack web dev. I started with the layout and styling. I am building mobile first and then updating desktop as I go. I used the normalize css file to keep the layouts the same across browsers.

Attachment
0
Eli Nelson

Shipped this project!

Hours: 7.95
Cookies: 🍪 156
Multiplier: 19.66 cookies/hr

It’s finally done with the final version being 0.2.0. I will update penalties further, but future updates will be minor.

Overall, Passcore is a pretty solid password scoring library, faster than zxcvbn and with more accurate scores than other libraries. It’s quite a big achievement for me!

Future updates might include checking all keyboard patterns rather than reading from a list; this might allow for faster runtimes, allowing for even faster bulk processing.

Thanks to anyone who helped test it! Hope this ship goes well!

Eli Nelson

Shipped this project!

Hours: 5.93
Cookies: 🍪 89
Multiplier: 15.07 cookies/hr

Simple RNG is my first Rust crate. I made it because I did not understand how to use the rand crate that most people choose for RNG. So instead of spending time learning it, I decided to make it a project and make my own RNG crate!

It works with LCG, taking a time or entropy seed as input and generating new numbers with that as the base. This makes it so there is only one guessable seed rather than having a chance of being guessable.

I’m learning so much about Rust and crate development, and it’s been one of my favorite programming projects!

Hope this ship goes well, thanks to anyone who helped me test it!

Eli Nelson

Today is a big update! Version 0.2.0 is officially released (yes I added the links finally!).
And well the performance speaks for itself!

I also added two new functions for getting human readable letter grades and for improvement suggestions.

One image is of v0.1.0 performance, the other is of v0.2.0. (the one that took less time is 0.2.0)

Attachment
2

Comments

Eli Nelson
Eli Nelson 3 months ago

It would not let me upload crates.io: https://crates.io/crates/passcore

Eli Nelson
Eli Nelson 3 months ago

Or the two images maybe… Check the table on the readme for performance. For anyone wondering that does not want to check its around 80% faster than before. The image I see is the 0.2.0 version.

Eli Nelson

Today I implemented a new method for seeding the RNG. Instead of using system time you can now use system entropy! Other than this I also updated system time to bitshift to harder to guess.

PS: The reason this project has not yet shipped is because crates.io pages are not working for the demo link.

Attachment
0
Eli Nelson

Ok, so I was very disappointed with today’s performance, so I found some more time to keep working!
I was able to work for another hour or so, and after reading some documentation about Levenshtein distance, I was able to finish the penalties function.

I found a list of the 100k most-used passwords (link to list), and it helped out quite a bit with the penalties!

The speed was pretty slow at first (around 80ms per password), but I realized that was just the first password since it needed to load the list.
After that, it matches the speed of other crates like zxcvbn pretty closely (around 3ms per password).

Attachment
0
Eli Nelson

Today I worked on documentation for quite a while. I ran into an issue where examples can’t use non-public functions, so I decided to make the helper scoring functions public. This also lets them show up in the documentation.

Overall, I didn’t get as much done as I would have liked today, but I’ll keep working on it Monday.

PS: If anyone knows how to make a new line without or taking up an additional line of comments please let me know!

Attachment
0
Eli Nelson

Today I started the Passcore project and worked on designing how the library will score each part of a password. I started with length and decided to write the function before moving on to the next part of password scoring. It took about an hour but now its done!

Attachment
0
Eli Nelson

Its done! (At least this version!) I just pushed the final changes to the crate, any minor issues from now on will not be devloged. If I have any majors changes I will log them though!

Thanks for anyone who helped with testing!

Attachment
0
Eli Nelson

I think I am done I did some more work on the project and I think its pretty good and polished, I am looking for feedback before I ship though! I also added PCG as another RNG engine.

Attachment
0
Eli Nelson

Made version 0.2.1 in which I updated the functions, added better documentation including examples, and made plans for an updated rng system. Additionally I added a no-std feature where you can use the library without the rust standard library!

Attachment
0
Eli Nelson

I created the GitHub repository and used AI to generate the initial README. I’ve also updated the library, added more functions with comments, and published it to crates.io. It’s basically complete, though I might make a few minor updates soon.

Attachment
0
Eli Nelson

I started making a random poem generator with the challenge of only the rust core libraries. This was quickly a challenge because I would soon need some random numbers to make my awful random poems!

So I learned how to take the SYSTEM_TIME and make the seed. And then what a linear congruential generator was and how to make some pseudo-random numbers.

I am going to spend some more time working on a library of my RNG system as a more simple aproch that the RAND crate I normally use and always get confused using.

Attachment
0