Home - JamestheCog/chatbot_for_sics GitHub Wiki
This is the official, all-in-one wiki for the Serious Illness (i.e., SI) chatbot project started by Kevin - a (former) member of the 3SI Lab at the National Cancer Center Singapore! Consider this page and its sub-pages official (and hopefully comprehensive) documentation for the Chatbot - including but not limited to:
- The bot's intended use case and features.
- Setting up the bot on your machine (i.e., deploying)
- Code-specific commentary for the application's behind-the-scenes works.
- General questions regarding this project and / or the language the project is coded in.
Speaking of the last point in the above numbered list, the overwhelming majority of the project is coded in Ruby (i.e., Japanese Python) and has the following out-of-codebase dependencies:
- SQLitecloud: a SQL-based cloud database service used to log and store messages.
- Render: the hosting service used to automatically or manually deploy the chatbot.
- Git / GitHub (i.e., this website): the version control tool used track changes to the code base.
Otherwise, please feel free to browse through the wiki as and when you wish!
Contacts
This guide was initially written by Kevin - a former member of the 3SI Lab and also the sole (self-taught) engineer behind the chatbot's inner workings. There is also another lab member - Celine - who's the lead and the coordinator behind the project (though this repository won't really concern her too much)! And of course, Dr. Jolene (i.e., the lab's professional investigator) overseeing everything going on in the lab!
That said - Kevin may or may not be around the lab by the time you read this sentence, but just in case you're feeling lucky and / or need to reach out to him, here is his corporate contact:
- Kevin's email:
- Celine's email:
- Dr. Jolene's email:
More contacts will be (hopefully) added here as and when necessary in the future, but definitely do take note of the above for now!
Resources for Learning Ruby
Like I mentioned at the beginning of this page, the overwhelming majority of this project is written in Ruby. However, Ruby is a pretty uncommon language in the grand scheme of things in 2026 (or whatever year you may be reading this in) - so much so that as of the time of writing (i.e., Wednesday, 21^st^ January, 2026), Ruby is currently rank #27 on the TIOBE's January 2026 programming language rankings! Because of this, Ruby is also something that's not really taught anymore past its Ruby on Rails boom sometime back around the 2010s - a problem for this project given its very much Ruby nature.
Fortunately for you, Ruby is syntactically similar enough to Python to the point that if you have a solid grasp of Python fundamentals, Ruby shouldn't be too difficult to understand with some brain and elbow grease on your end too! Otherwise, if you want to dive right into Ruby and get a feel for its syntax and its capabilities, then definitely do consider checking the following resources out:
- Codecademy (Learn Ruby): a beginner-friendly course for getting familiar with Ruby syntax. It's pretty bare bones and introductory - perfect for those who just want to know how to code in Ruby - but I'd recommend taking this course in addition to one of the following resources below.
- Sinatra Basics:: this is the (micro-)framework the entire application is based off of. Think of this as Ruby's answer to Python's Flask micro-framework - its starter page gives you a good idea of how a Sinatra application is structured.
- AI Tools in general (e.g., Claude, GPT, Grok, etc.): but more importantly, feel free to consult existing AI models to learn more about Ruby syntax and the Sinatra micro-framework! It's likely the most helpful option that's also the path of least resistance (i.e., no paywalls, no being limited to only learning things a certain way and / or in a particular order, etc).