Professional Documents
Culture Documents
Proposal
Proposal
Candidate Number
Section 1: Before joining the course, I had years of experience in a few languages like JavaScript,
Rationale TypeScript, HTML, CSS, and Golang. I also had a few years’ experience in Web / Full stack
(approx. development and Web design, however, this course has not only taught me a new programming
100 words) language, but also how to plan a software project effectively, to design intuitive user interface, to
write formally, to realise that mistakes aren’t something to look down on, but to look up with a
new perspective and learn from them. I’ve also learned how to create a video game using the
Unity engine, and learned that I don’t particularly like making them, leading me to strengthen my
skills in the Web / App development area.
Section 2: I’m going to be creating a communication platform called Relay, similar to applications like
Project Discord, WhatsApp and Visual Studio Code. The main difference between my approach and
Concept theirs is the framework. Those applications use a framework called Electron which uses
(approx. Chromium on the front-end to render the application, and NodeJS on the backend, which are
200 words) both notoriously known for being unsafe, slow and resource intensive. Instead of using that
stack, I’m going to be using an application framework called Tauri which uses the built-in
webview for the frontend, and Rust for the backend.
Tauri takes a different approach. Instead of bundling Chromium with your app, it uses the
operating system’s default webview resulting with a much smaller bundle size. For instance, a
production grade application built in Tauri app weighs 24.7MB on macOS, while the same app
built in Electron weighs 1.3GB. Additionally, Rust is notoriously known for being extremely
memory-safe and type-safe, for instance, Rust doesn't use null, so you can't have accidental null
dereference errors; Option provides a high performance alternative with clearer semantics.
Another good example is that the Rust compiler verifies the safety at compilation unlike C, which
will happily compile a program that will crash the moment you start it.
Section 3: For this project, I am going to be using Github to commit changes to a repository, and Trello to
Evaluation plan each task for each week. This will allow me to keep track of the tasks I’ve done so writing
(approx. about the things I’ve done will be easy. I am going to be updating a blog every week to
50 words) summarise and explain the things I did in that week, while also pointing out the things I changed,
what went well and what didn’t.
Meta Inc (no date). Build cross-platform desktop apps with JavaScript, HTML, and CSS.
Available at: https://www.electronjs.org (Accessed: 07 March 2024).
Project Action Plan and Timetable
Week Date Week Beginning Activity / What you are Resources / What you
intending to do - including will need to do it -
independent study including access to
workshops