my profile picture

Lance Owen Gulinao

Fullstack Web Developer,

About

👋 I'm Lance, a second year computer science student studying in UST. I develop websites that provide value to other people. I constantly refine my skills and workflow by experimenting with new tech and tools.

In my free time, I automate tedious processes that block creative output and tinker with programming language design.

Education

University of Santo Tomas

2022 - Present

BS Computer Science

  • Winner of CodeSprint 2023, a competitive programming competition hosted by the UST Computer Science Society
  • 1st runner up in DLSU Hackercup 2023, a hackathon hosted by the La Salle Computer Society
  • Consistent dean's lister with <1.50 running GWA

De La Salle University - Integrated School

2020 - 2022

Senior High School - STEM

  • Published a paper in the Manila Journal of Science discussing the viability of using code libraries as a teaching aid for problem solving skills in the context of programming.
  • Presented SpaceSimulator, a classical mechanics code library written in C# for calculating various physics concepts, in the 2022 DLSU SHS Research Congress.

Experience

Lead Backend Developer

TomasinoWeb

  • Designed and implemented website backends using latest web development technologies.
  • Lead projects and coordinated features and scope with the frontend and UI/UX teams.
  • Developed minimum viable prototypes which iterated into published applications.
  • Onboarded fellow backend developers with chosen technology stacks.
  • Deployed websites on VPSs using Nginx + Docker and cloud hosting platforms.

Websites I've worked on

TomasinoWeb.org

The official website of TomasinoWeb, the premier digital media organizaton of the University of Santo Tomas.

Learn More

TomasinoWeb.org main website featured image

TomasinoWeb.org

The official website of the premier digital media organizaton of the University of Santo Tomas

Some of the pages I brought to life

Problems faced and solutions system design writeup here

Short development time (April 18 - June 19)

  • Creating a custom backend framework that allowed for rapid feature development and integration between backend and frontend.
  • Implementing continous integration and testing with GitHub actions for constant QA.
  • Developing reusable components for the public and admin side of the website, with the help of SCSS mixins.

Lack of existing code libraries for common tasks

Developed copy and paste code snippets that can be used in future projects

  • Lack of full text search support for Prisma + SQLite
    • Gandalf - A function for describing and manipulating bitfields with full typesafety.
      • Used to implement role based user authentication with permissions.
    • RuntimeEnum - A function for creating enums which can be validated at runtime using Zod.
      • Used to store enum strings in databases that don't support enum values.
    • Scheduler.ts - A basic task scheduler built on top of node-schedule.
      • Used to release scheduled posts in the content management system.
    • Paginator - A react hook generator for dealing with paginated data from the backend.

    Reconciling content from an existing repository

    • Automated migration of content from old sources using Google Sheets

    lamona

    A food and drink directory for Thomasians featuring over 180 establishments.

    UST Computer Science Society Website

    A website that showcases information about the UST CS department's Mother Organization.

    join.tomasinoweb.org

    An organization recruitment / application website for TomasinoWeb

    rightclick.tomasinoweb.org

    The UST student elections coverage website of TomasinoWeb, showcasing the candidates of every student council, and their platforms.

    Non-webdev personal projects

    8-bit Minecraft Redstone Computer

    A compiler toolchain written in C and Python for compiling a custom programming language to a Minecraft computer's instruction set.

    8-bit Redstone computer

    Scintax programming language

    A treewalk interpreted general purpose programming langauge, inspired by JavaScript, written in C#.

    It comes with its own REPL and "IDE" with semantic highlighting.

    8-bit Redstone computer

    scinss css preprocessor

    A rudimentary stylesheet language, allowing users to write shorter, more succinct CSS.

    scinss featured image

    Open source

    @scinorandex/rpscin

    An experimental library for building fullstack typesafe REST APIs with TypeScript

    • Improves developer experience by reducing type-related code errors
    • Used in production by TomasinoWeb.org
    • Generates a typesafe client-side library based on server-side code automatically
    • Simplifies common tasks such as multipart form uploads and authentication
    • Provides middleware type information to API resolvers using TypeScript generics

    @scinorandex/scider

    A volatile in-memory data store for JavaScript applications

    • Fully typed with TypeScript and tested with Jest.

    Skills

    Programming Languages

    HTML, CSS, SCSS, JavaScript, TypeScript, Bash, SQL

    Frameworks

    React, Next,js, Express, Koa

    Other

    Git, GitHub Pages, Vercel, Docker

    What I Use

    VSCode, Obsidian, Iosevka, Linux