Matheus Duncan
About Me
Hi, I'm Matheus! I'm a Canadian software developer working on the development of Full-Stack web applications. I've been writing code since grade school (shoutout Adobe DreamWeaver) and graduated from the University of Alberta with a Bachelor of Science in Computer Science in 2024. I'm most interested in working on - and learning more about - non-procedural programming languages (Lisp, Prolog, etc.), devX, and TUI programs.
Currently, I'm working at Co-Operators developing websites and applications using the MERN (Mongo, Express, React, Node) stack. Most of my time is spent building internal tools and sites to help streamline business and technical processes. My favourite part of the job is getting to write small, performant, and maintainable programs that fulfill real needs for our users. Working on internal programs means we aren't beholden to data collectors or advertisers and can focus on user satisfaction above all else.
My career as a Software Developer started at Co-Operators, where I worked as an intern during university. I spent most of this time working on enterprise-scale Object-Oriented software, focusing on development and testing. Today, I work mostly on smaller web apps that integrate with larger enterprise-scale systems. If you want to know more about my work experience, checkout out my Timeline or download my Resume.
I try to supplement work with a suite of software tools and technologies that help to increase productivity and make work more fun. While I'm not always successful at the former, the latter is almost a guarantee! I've recently been working to move my daily-use programs away from bloated electron apps and towards terminal-based solutions. Neovim and TUIs can be a bit of a hassle to setup and maintain (certainly more than 'normal' apps), but I've found it keeps the work interesting and that having everything in one place (the terminal) can increase focus and productivity. If you have suggestions for terminal programs, please contact me!
I spend my time away from the computer playing basketball, hiking, and reading history (my minor in university). I tinker on projects as well (this site is a good example of that!) but enjoy reading technical blogs and textbooks more. I'm always looking for book recommendations, so please connect with me if you have any!
This Site
This site was built to give me a place to share some info about myself and explore new technologies. My previous personal site was built with React and was beginning to lose performance due to typical React Bloat. I decided to do a rewrite using a simpler stack - HTML/CSS, HTMX, and Flask - to simplify the system and allow for more tinkering as well. It also allows me to move away from the React Single Page Application format and towards a more 'traditional' site design (which IMO suits personal sites better).
Everything is containerized using Docker and Docker Compose and deployed on my personal home server as an additional exercise in deploying web applications. In this site's current form, this is fairly simple, but I plan on adding some backend features that will require more intense containerization.
I wanted to try building a modern site without using JavaScript as an exercise in moving away from traditional technologies. This site uses HTMX and flask as a simple web server to deliver a true RESTful API (data sent from the server is sent as HTML, therefore being truly REpresentational). If you want to know more about HTMX, I recommend the Hypermedia Systems textbook.
Timeline
Resume
If you've made it this far (or even just clicked the 'Resume' link on the navbar), thanks for taking a look at this site! No piece of software is ever really 'done' and this site is no exception, so if you have any comments/suggestions/hatemail you can send me a message.
If you want to take a look at my resume and reach out, you can download it here in .pdf format:
Matheus Duncan Resume
Lastly, if you're looking for something to read, check out my blog (I mostly do project retrospectives and some tutorials). If you're looking for something high-quality to read, checkout out my bookshelf where I upload and review my recently-read books.
_..._
.' '. _
/ .-""-\ _/ \
.-| /:. | | |
| \ |:. /.-'-./
| .-'-;:__.' =/
.'= *=|NASA _.='
/ _. | ;
;-.-'| \ |
/ | \ _\ _\
\__/'._;. ==' ==\
\ \ |
/ / /
/-._/-._/
jgs \ `\ \
`-._/._/