SOFTWARE DEVELOPER

Building practical solutions through code.

I develop web applications, backend solutions, and automation tools using Python and JavaScript. I enjoy turning ideas and problems into functional, maintainable software.

Portrait of Sergio Herrera
INTRODUCTION

About Me

I'm a software developer focused on building web applications, backend systems, and practical software solutions. My technical foundation includes Python, Flask, JavaScript, React, and SQL.

My development journey has involved building applications from the ground up, working with databases and APIs, exploring data analysis, and experimenting with browser and process automation. I value understanding how systems work, writing maintainable code, and continuously improving my technical skills.

Beyond programming, I enjoy independent learning, exploring technology, and understanding how things work. I'm interested in opportunities where I can contribute to real projects, develop practical solutions, and grow as a software developer.

TECHNICAL EXPERTISE

Skills & Technologies

Technologies and tools I use to build, analyze, and automate.

Backend Development

  • Python
  • Flask
  • JavaScript
  • Express.js
  • REST APIs
  • SQLAlchemy
  • Sequelize

Frontend Development

  • HTML5
  • CSS3
  • React
  • Responsive Design
  • Jinja2

Data & Databases

  • SQL
  • SQLite
  • MySQL
  • Pandas
  • Data Cleaning
  • Data Analysis

Tools & Automation

  • Git
  • GitHub
  • Visual Studio Code
  • Selenium
  • Browser Automation
  • Linux
SELECTED WORK

Projects

A selection of applications and projects demonstrating my technical skills and approach to software development.

The Number Guessing Game

Build a console number guessing game that prompts a player to choose a number between a specified range of numbers. After the user guesses the correct number, display the number of attempts it took them to guess correctly.

Technologies

Python, String Formatting, Input and Output in Python, Exception Handling, Comparisons in Python, Creating and Using Functions in Python, Lists, The Random Library, Creating and Indexing Lists, While Loops, Github

Basketball Stats Tool

Build a console-based basketball team statistics tool to help you divide up a group of players into teams. You'll apply your knowledge of important Python data structures like lists and dictionaries for the project.

Technologies

Python, Tuples, Functions Packing and Unpacking, Python Sequences, Dictionaries, Python Sets, Cleaning Data, Dunder Main, Pep8, Methods and Functions vs Keywords, Python Comprenhensions

Phrase Hunters

Create a word guessing game: "Phrase Hunter." You’ll use Python and OOP (Object-Oriented Programming) approaches to select a phrase at random, hidden from the player. A player tries to guess the phrase by inputting individual characters. Can they guess the phrase before they run out of attempts?

Technologies

Basic-Object-Oriented Python(OOP), Python Dates and Times, Code Structure Strategies,

Store Inventory with SQLAlchemy

Build a console application that loads an existing store's inventory data from a CSV file into a SQLite database. The application will allow a user to interact with the records stored in the database to view existing records, add new items, and backup/export the existing state of the database into a CSV file

Technologies

Python File I/O, CSV, Json,Introduction to the terminal, Introduction to Git, SQL Basics, SQLAlchemy Basics

Analyze Olympic Data

Analyze Olympic data from 1896-2016. Use Google Sheets to compute statistics, filter and sort data, apply conditional formatting, create a customized chart, and create a pivot table. Answer questions based on analyzed data.

Technologies

Data Analysis,Spreadsheets, Data Visualization

Pet Shelter Analysis

Used Python’s Pandas library to analyze pet shelter data to answer important questions for stakeholders.

Technologies

Data Analysis, Data Cleaning, Pandas, Duplicate Handling, Dataframe Merging,

Graphing Video Game Sales

Used Python’s graphing libraries, Matplotlib and Seaborn, to analyze video game sales data. Used JupyterLab to create graphs and analyze the data.

Technologies

Data Visualization, Pandas, Matplotib, Jupyter Notebooks, Seaborn

Musical Analysis

Used Python’s Pandas library to combine multiple datasets into one before answering analysis questions.

Technologies

python, pandas, dataframe concatenation, data viz, plots, pie charts, scatterplots, bar plots,data analysis

Movie API Analysis

Gather data on the 10 best picture Oscar-winning movies from a movie API then analyze the data using JupyterLab.

Technologies

Data Analysis, Info from APIs, Data Cleaning, Data Visualization, Matplotlib, Seaborn, Numpy,Pandas, SQL, DWL

A Random Quote Generator

Practice my knowledge of basic JavaScript syntax and data structures by building a Random Quote Generator, a program that displays a randomly selected quote each time the user clicks a button.

Technologies

javascript, functions, arrays, event listeners,

Data Pagination and Filtering

Displaying a large amount of data on a web page, like a list of 200 movie titles or 400 products, can overwhelm a user with too much information at once. A common solution is to create separate “pages” that each display a small portion of the data. In this project, I wrote JavaScript to display several “pages” of student data that the user can easily navigate and view.

Technologies

Javascript, data pagination, search, functions, DOM Scripting, DOM Manipulation

Interactive Form

I've used JavaScript to enhance an interactive registration form for a fictional Full Stack conference. Using the supplied HTML and CSS files, I have added JavaScript to make the form more user-friendly by: Adding customized and conditional behavior and interactivity. Validating user input and providing helpful error messages when the user enters invalid information into the form fields.

Technologies

javascript, Event Listeners, Events, Form Validation, Accesibiity, Regexes. Real-Time Validation, Preventing Form Defaults

Phrase Hunte with Javascript

In this project, I've created a browser-based, word guessing game: "Phrase Hunter." I have used JavaScript and OOP (Object-Oriented Programming) to select a random, hidden phrase, which a player tries to guess, by clicking letters on an onscreen keyboard. After building this project, I was able to test my skills, in a a fun app that I can share with my friends and family, and good understanding of the principles of Object-Oriented Programming as it is used in Javascript

Technologies

javascript, OOP, Event Listeners. DOM Manipulation

Employee Directory

I built an app for a fictional company called Awesome Startup, a distributed company with remote employees working all over the world. They needed a smart way for employees to share contact information with each other.

Technologies

API requests, promises, Fetch API, Async code, working with json, http requests,

Static Node.js and Express Site

gorgeous portfolio site to showcase the great projects I've built. The site contains a modern landing page, an about page where I practice have a chance , practice my elevator pitch and talk a little about myself , and a series of project pages to show off and detail my first five projects from the Full Stack Javascript Techdegree with Treehouse.

Technologies

node.js, express, pug

React Gallery

*Used the very popular and in-demand React library to create an image gallery app. With the help of this powerful "MVC" (Model, View, Controller) library, the app was built in the style of modern single-page applications to keep it fast, modular, and in sync with current web development trends. I learnt about some of the best practices of working with React, like using JSX to write markup-like syntax directly in your JSX files and managing state in a container component that passes data down

Technologies

React, jsx, Fetch API, APIs, asynchronous javascript, vite, react-router, managing state in react, react Routes, forms in React, react components

SQL Library Manager

Working with databases — storing, retrieving, updating and deleting information — is an important software developer skill. In this project, I've created a web application for listing, adding, updating, and deleting books in a library application, using JavaScript, Node.js, Express, Pug, and the SQL ORM Sequelize.

Technologies

Express.js, Sequelize, Backend Development,Database Management,Node.js, Express Middleware, Error handling, Sequelize Validation on Models

Rest API

Created a REST API using Express. This API provide a way to administer a school database containing information about users and courses. Users can interact with the database to create new courses, retrieve information on existing courses, and update or delete existing courses. To make changes to the database, users will be required to log in so the API will also allow users to create a new account or retrieve information on an existing account. To complete this project, I used my knowledge of

Technologies

Node.js, Express, Rest, APIS, Sequelize, Postman, Insomnia, basic-auth, protected routes

Full Stack App with React and a REST API

Used React to create a client for an existing school database REST API created in a previous project. The full stack application provides a way for users to administer a school database containing information about courses: users can interact with the database by retrieving a list of courses, viewing detail for a specific course, as well as creating, updating, and deleting courses in the database. In addition, the project require users to create an account and sign in to make changes to the

Technologies

JSX, React Router, React Context API

LET'S CONNECT

Have a project in mind?

I'm open to professional opportunities, freelance projects, and collaborations. If you're looking for someone interested in building practical software solutions, let's talk.

Send me an email