Site preferences

*The preferences are saved using cookies because this website does not use Javascript.
To clear the cookies, select Clear Cookies and click submit, this will also reset all the preferences to default.
The cookies are not used for analytics, read the privacy policy for more details.

My Website

This website: made using Rust, Rocket, and Handlebars (and no javascript!).

This page was published on , and was last updated on .


This is my personal website containing my blogs, projects, things I do, and ways to contact me. This website is written in Rust and Handlebars, partially supporting IndieWeb while keeping accessibility and minimalism in mind.

I have a long-term goal of being completely indie-web supported with other features like webmention, but I'm a bit pre-occupied to do it at the moment.

Can I use your blog?

Yes! But there are lots of hard-coded texts and references to my name and work in the repo, cleaning it up is a work in progress, so if you want to use my blog, please replace them with your details or remove them.

What changes should I make?

As I mentioned above, the project has too many references to my name and my work, so the following must be done.

  1. Delete all files in the templates/blogs, and templates/projects folders.
  2. Rewrite all *.html.hbs files in the templates folder to refer your details
  3. Remove all references to my name, you can keep the one on the footer or just reference my name somewhere in your blog to let people know where you got the website source from.

How do I build?

You need rust installed in the system, once you have it, do the following.
  1. Clone this repository
  2. Copy the Rocket.toml.example file to a new file called Rocket.toml
  3. Update Rocket.toml
    1. Update secret_key with a secret key of your own, read the rocket configuration guide to know what it does and how to generate one.
    2. If you have unifiedpush set up, update the notify_url with your notification channel URL to get notifications when your post gets comments.
    3. To reduce automated spam, I ask the commenters to enter my first name, you can set yours in the answer field, you can also change the question in the src/templates/comment-template.html.hbs file.
  4. Do what I told in the answer for the What changes should I make section above.
  5. Once you have created new blogs and projects, add them to the JSON files in the resources directory (use the existing formats).
  6. Test your changes, do cargo run watch -x to launch your new website.

To build and run the project in the production, do the following:

cargo build --release

About me

Coding Otaku Logo

I'm Rahul (he/him), the Internet knows me by the name Coding Otaku. I work as a Full-Stack Developer at IBM in London.

I care about Accessibility, Minimalism, and good user experiences. Sometimes I write stories and draw things.

Get my cURL card with curl -sL
Find me on Mastodon, Codeberg, or Peertube.
Subscribe to my feeds.

Continue Reading


All my projects can be subscribed to using RSS(Atom) or JSON feeds, if you do not know how to use feeds, I have a page with instructions on how to do that.


You can comment on this post here, all fields except the comment and answer are optional.

Recent Projects

Subscribe via Atom or JSON feeds.