Lucas Norman

Lucas Norman

Hey! I'm a programmer, web developer,
CAD enthusiast and an aspiring engineer.

Me Me

A little about me...

Hi there! I'm Lucas Norman, 17-year-old self-taught programmer and web developer from Sweden. I recently graduated from Information Technology at NTI Gymnasiet Sundsvall.

In addition to programming and web development, I enjoy working with engineering and CAD tools like SketchUp and Fusion 360. When I’m not at my computer, you’ll find me playing football or spending time with my bunnies.

I’m proficient in HTML, CSS, JavaScript, Python, C++, and Java, with solid experience using Git and GitHub for version control. I'm currently learning Rust.

HTML CSS JavaScript Python C++ Java Git GitHub Autodesk Fusion

Build and Measure

Build and Measure (BAM), is a free, lightweight and user-friendly 2D drafting program that I've been working on as a passion project for four years now. It is already being used by professionals at Sweco.

Build and Measure

Serve Bot

Serve Bot is a table tennis serve machine that shoots table tennis balls with different spin, speed and direction. It also has pre-made training drills and is controlled by a remote. This project also received a lot of news attention.

Serve Bot

Omni inspection robot

A robot using three omni-wheels to move around freely in any direction, with the ability to rotate on the spot. It is controlled with a progressive web app and features a joystick to move and buttons to toggle the headlights.

Omni inspection robot

Console 3D Engine

A Console 3D Graphics Engine which uses ASCII characters to display 3D objects within the terminal. It supports loading wavefront .obj files, allowing for rendering mesh objects with adjustable positions, scales, and rotations.

Console 3D Graphics Engine

The Lotus programming language

Lotus is an open-source, type-safe and compiled programming language that I am working on at Totem Studios.

Lotus

Weather App

A weather app that was made as a project for the Web 1 and Web 2 courses at NTI Gymnasiet Sundsvall.

Weather App
Show more Arrow

Build and Measure


Build and Measure

JavaScript HTML CSS Git GitHub


Build and Measure started out as a simple web app for creating 2D drawings, but has now evolved into a more advanced yet user-friendly desktop app using the Electron JS framework and standard web technologies HTML, CSS and JS. It is designed for people who don't have that much experience with CAD software but still want to create their own drawings and room layouts. The program also supports the creation of posters and logos with support for exporting to SVG, PDF, PNG and JPG.

Serve Bot


Obstacle Roll

Arduino Autodesk Fusion


Serve Bot is a table tennis serve machine that I made as gymnasiearbete (final project) for NTI Gymnasiet Sundsvall. It can store up to 21 table tennis balls, and shoot them with different speed, spin and placement. It uses an IR-remote with more than 10 different states, featuring both manual fire with an ok-button and automatic fire with different intervals and drills with alternating direction. In addition to the practical implementation, I also got to write a scientific report about the project.

When the project was finished I also received a lot of news attention, and was for example interviewed on national television. Here is a list of some of the news coverage:


Omni inspection robot


Omni inspection robot

Arduino Autodesk Fusion JavaScript HTML CSS


This robot was made as project for the "teknik specialisering" course at NTI Gymnasiet. It taught me a lot about how web apps can be used to control bluetooth devices, and specifically an arduino which was used in this project. In addition, it also let me explore how omni-directional wheels can be used to control movement, which was really interesting, and also taught me a lot of fascinating math. To convert the joystick's position to velocity vectors for each motor, I firstly converted the position to barycentric coordinates, which are usually used in 3D-graphics to interpolate colors in triangles. In this case though, I used it to interpolate a value for each wheel, which was then used to determine the correct speed and direction.

Console 3D Engine


Console 3D Engine

C++


The Console 3D Graphics Engine started as a way to satisfy my cravings for knowledge about how 3D objects are renderer. It is heavily inspired by the infamous 3D spinning donut, although it supports loading wavefront .obj files with functions to move, rotate and scale objects. It also has a camera that can move around the scene. It is built with simple C++ and works by rendering different ASCII characters to visualize depth in the scene. It uses the windows.h library in order to get keyboard input in the terminal so the user can move around the scene.

Weather App


Weather App

JavaScript HTML CSS Git GitHub


This weather app was made as a project for the Web 1 and Web 2 courses at NTI Gymnasiet Sundsvall. This project taught me a lot with both coding but also other areas like design (with figma), planning, documentation and testing. It uses the Open-Meteos weather API to get the weather data and the nominatim-streetmaps API to get information about different locations and give search suggestions. To checkout the code, you can visit the GitHub page.

Lotus


Lotus

C++ Git GitHub


Lotus is an open-source, type-safe and compiled programming language that I am working on together with Neo and Pontus at Totem Studios. It is designed to be a memory safe alternative to C/C++ with a bias towards systems-programming and with an easier learning curve than Rust. It is still in heavy development so things might change, although it is currently using Flex for the lexer, Bison for the parser and the LLVM C++ API for the code generator.

Certificate

Student Award

By NTI Gymnasiet Sundsvall

Issued Jun 2024

View image
Certificate

CS50x

By HarvardX/EdX

Issued Aug 2022

View image
Certificate

Straight A's

By NTI Gymnasiet Sundsvall

Issued Jun 2026

View image
Certificate

CS50ai

By HarvardX/EdX

Issued Jan 2023

View image
Certificate

Student Award

By NTI Gymnasiet Sundsvall

Issued Jun 2026

View image
Certificate

JavaScript

By Certiport/Credly

Issued May 2024

View image
Certificate

Java

By Certiport/Credly

Issued May 2024

View image
Certificate

Python

By Certiport/Credly

Issued May 2026

View image
Certificate

Reply challange

By Reply

Issued Mar 2024

View image
Certificate

CS50g

By HarvardX/EdX

Issued Feb 2023

View image
Certificate

CS50w

By HarvardX/EdX

Issued Sept 2022

View image

Contact

Don’t like forms? No worries! You can also find me on Linked In and GitHub. Or just send me an email.

Hey there! Have an idea for a project,
or just want to chat? Don’t hesitate to
drop me a message!


Don’t like forms? You can also find me on
Linked In and GitHub. Or just send me an email.