diff --git a/app/about/page.tsx b/app/about/page.tsx index 9dd1f75..e51c126 100644 --- a/app/about/page.tsx +++ b/app/about/page.tsx @@ -1,14 +1,77 @@ -import Link from 'next/link'; +"use client"; + +import Link from "next/link"; +import { Experience, Projects, Skills } from "../../components/Resume"; +import { RxChevronDown } from "react-icons/rx"; +import { useState } from "react"; +import { FaGithub, FaLinkedin } from "react-icons/fa"; + +export default function Resume() { + const [skillsVisible, setSkillsVisible] = useState(true); + const [experienceVisible, setExperienceVisible] = useState(true); + const [educationVisible, setEducationVisible] = useState(true); + const [projectsVisible, setProjectsVisible] = useState(true); -export default function AboutPage() { return ( -
- About me - My resume - Skills - Education - Experience - Music +
+
+

Mikayla Dobson

+

Software Engineer | Nashville, TN

+ +
+

Download a copy for later?

+ .pdf + .docx +
+ +
+
innocuous-symmetry
+
mikayla-dobson
+
+
+ +
+ + { skillsVisible ? : null } +
+ +
+ + { experienceVisible ? : null } +
+ +
+ + + { + educationVisible ? ( +
+

Southern Methodist University

+

Dallas, TX - B.A. Music

+
+ +

Concentrations in Piano Performance and Music Composition. Special focus on orchestral composition and arranging. Minor in French Language and Culture.

+
+ ) : null + } +
+ +
+ + { projectsVisible ? : null } +
) } diff --git a/app/about/resume/content.mdx b/app/about/resume/content.mdx new file mode 100644 index 0000000..345b2e0 --- /dev/null +++ b/app/about/resume/content.mdx @@ -0,0 +1,28 @@ + +MIKAYLA DOBSON +Software Engineer | Nashville, TN +https://mikayla.dev +Mobile: (615) 815-5536 Email: mikaylaherself@gmail.com +Github: innocuous-symmetry LinkedIn: https://linkedin.com/in/mikayla-dobson +SKILLS +STRONG: JavaScript (TypeScript, React/Next, Node.js), CSS (Sass, Tailwind, Bootstrap), Git +INTERMEDIATE: PostgreSQL, Python (Micropython, Flask), MongoDB, Docker, Ruby (Rails) +SOFT SKILLS: problem solving; self-driven; design thinking; communication; improvisation +EXPERIENCE +DROPPER STUDIO | Nashville, TN (hybrid) - Software Engineer +MAR 2023 - present +Building a full-stack e-commerce platform for the music industry. Experience includes: producing a functional proof of concept from design specifications; constructing a scalable, performant full-stack architecture; and project/team management skills. +DIZATION | Pittsburgh, PA (remote) - Intern, Full Stack Engineer +OCT 2022 - MAR 2023 +Participated in the development of an enterprise project management solution. Built several new features, contributed to design and UX discussions, and took initiative on debugging efforts. Technologies included PHP, MySQL, jQuery, and Bootstrap. +METAZU STUDIO | Nashville, TN (hybrid) - Consultant, Software Engineer +MAR 2022 - DEC 2022 +Consulted on small teams for the design and engineering of full-stack web applications for clients. Used technologies including Node.js, React, MongoDB, and PostgreSQL. +EDUCATION +SOUTHERN METHODIST UNIVERSITY | Dallas, TX - B.A. in Music +Concentrations in Piano Performance and Music Composition. Special focus on orchestral composition and arranging. Minor in French Language and Culture. +PROJECTS +SUBSEQUENT - TypeScript, Tone.js - May 2023 - present +A tool for music creators to explore generative music composition. Composed of an engine that wraps around Tone.js, allowing the end user to specify parameters for indefinite generative music output. To be published as an NPM package, including providers to be consumed in front-end web frameworks. +RECIPIN - React, Express, TypeScript, PostgreSQL - Oct 2022 - present +A full stack web application for storing personal recipes in collections and sharing them in a lightweight social network. diff --git a/app/about/resume/experience/[employer].tsx b/app/about/resume/experience/[employer].tsx new file mode 100644 index 0000000..e69de29 diff --git a/app/about/resume/page.tsx b/app/about/resume/page.tsx deleted file mode 100644 index b5d228d..0000000 --- a/app/about/resume/page.tsx +++ /dev/null @@ -1,7 +0,0 @@ -export default function Resume() { - return ( -
-

Resume Page

-
- ) -} diff --git a/app/about/experience/page.tsx b/app/about/work/[employer]/page.tsx similarity index 55% rename from app/about/experience/page.tsx rename to app/about/work/[employer]/page.tsx index a962ec0..7474843 100644 --- a/app/about/experience/page.tsx +++ b/app/about/work/[employer]/page.tsx @@ -1,10 +1,14 @@ +'use client'; +import { usePathname } from "next/navigation"; + export default function ExperiencePage() { + const path = usePathname(); + return (

Work Page

- - +

Employer: {path.split('/').at(-1)}

) } diff --git a/app/about/work/page.tsx b/app/about/work/page.tsx new file mode 100644 index 0000000..d3955be --- /dev/null +++ b/app/about/work/page.tsx @@ -0,0 +1,7 @@ +const WorkHistory = () => { + return ( +
+

Work History

+
+ ); +} diff --git a/app/layout.tsx b/app/layout.tsx index c6bdd9b..6607a9d 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -29,12 +29,7 @@ export default function RootLayout({ children }: { children: React.ReactNode }) useEffect(() => { switch (pathname) { case '/': - setBg('bg-slate-900'); - break; case '/about': - case '/about/me': - setBg('bg-purple-950'); - break; default: setBg('bg-slate-900'); break; diff --git a/app/page.tsx b/app/page.tsx index 5fca1d3..9397747 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -19,7 +19,7 @@ export default function Home() {

Software Engineer

-

Software design with style, ingenuity, and artistry.

+

Pragmatic software design with style and artistry.

{/*
diff --git a/components/Resume/Experience.tsx b/components/Resume/Experience.tsx new file mode 100644 index 0000000..59ded4a --- /dev/null +++ b/components/Resume/Experience.tsx @@ -0,0 +1,48 @@ +import Link from "next/link"; +import { useState } from "react"; + +const Experience = ({ visible }: { visible: boolean }) => { + const [showAll, setShowAll] = useState(false); + + return ( +
+
+ Dropper Studio +

Nashville, TN (hybrid) - Software Engineer

+

March 2023 - present

+ +
+ +

Building a full-stack e-commerce platform for the music industry. Experience includes: producing a functional proof of concept from design specifications; constructing a scalable, performant full-stack architecture; and project/team management skills.

+ + Learn more about my work with Dropper +
+ +
+ Dization, Inc. +

Pittsburgh, PA (remote) - Software Engineer (intern)

+

October 2022 - March 2023

+ +
+ +

Participated in the development of an enterprise project management solution. Built several new features, contributed to design and UX discussions, and took initiative on debugging efforts. Technologies included PHP, MySQL, jQuery, and Bootstrap.

+ + Learn more about my work with Dization +
+ +
+

Metazu Studio

+

Nashville, TN (hybrid) - Software Engineer (consultant)

+

March 2022 - December 2022

+ +
+ +

Consulted on small teams for the design and engineering of full-stack web applications for clients. Used technologies including Node.js, React, MongoDB, and PostgreSQL.

+
+ + Go further back +
+ ) +} + +export default Experience; diff --git a/components/Resume/Projects.tsx b/components/Resume/Projects.tsx new file mode 100644 index 0000000..c76b89d --- /dev/null +++ b/components/Resume/Projects.tsx @@ -0,0 +1,25 @@ +const Projects = ({ visible }: { visible: boolean }) => ( +
+
+

Subsequent

+

May 2023 - present

+

TypeScript, Tone.js

+ +
+ +

A tool for music creators to explore generative music composition. Composed of an engine that wraps around Tone.js, allowing the end user to specify parameters for indefinite generative music output. To be published as an NPM package, including providers to be consumed in front-end web frameworks.

+
+ +
+

Recipin

+

October 2022 - present

+

React, Express, TypeScript, PostgreSQL

+ +
+ +

A full stack web application for storing personal recipes in collections and sharing them in a lightweight social network.

+
+
+) + +export default Projects diff --git a/components/Resume/Skills.tsx b/components/Resume/Skills.tsx new file mode 100644 index 0000000..456a680 --- /dev/null +++ b/components/Resume/Skills.tsx @@ -0,0 +1,164 @@ +import { RxChevronDown } from "react-icons/rx"; +import Link from "next/link"; + +const Skills = ({ visible }: { visible: boolean }) => ( +
+
+

Strong:

+
+
+ +

JavaScript

+ +
+
+ TypeScript + React +

Next.js

+

tRPC

+

React Query

+

jQuery

+ Express +

Node.js

+
+
+
+ +
+
+ +

CSS

+ +
+
+

Tailwind

+

Bootstrap

+ Sass +

Material UI

+
+
+
+
+ +
+

Experienced:

+
+
+ +

Python

+ +
+
+

Flask

+

Flet

+ Micropython +
+
+
+ +
+
+ +

Database Operations

+ +
+
+

PostgreSQL

+

MySQL

+

MongoDB

+

Caching with Redis

+
+
+
+ +
+
+ +

Tooling

+ +
+
+

Docker

+

Github Actions

+

Git / Github

+
+
+
+
+ +
+

Learning:

+
+
+ +

Design Principles

+ +
+
+

Domain Driven Design

+

Microservices

+

Readable Code

+
+
+
+ +
+
+ +

Cloud Development and Infrastructure

+ +
+
+

AWS SDK

+

Proxmox

+

Minio

+

Linux

+
+
+
+ +
+
+ +

Server-side programming languages

+ +
+
+

Ruby / Rails

+

Golang

+
+
+
+ +
+
+ +

Natural Language Processing

+ +
+
+

NLPT

+

Spacy

+
+
+
+
+ +
+ +

Soft Skills:

+ +
+
+

Strong communicator

+

Fast learner

+

Self-driver

+

Improviser

+

Problem solver

+

Design thinker

+
+
+
+); + +export default Skills; diff --git a/components/Resume/index.tsx b/components/Resume/index.tsx new file mode 100644 index 0000000..0c0be0e --- /dev/null +++ b/components/Resume/index.tsx @@ -0,0 +1,3 @@ +export { default as Skills } from "./Skills"; +export { default as Experience } from "./Experience"; +export { default as Projects } from "./Projects"; diff --git a/public/resume/Mikayla Resume 0623.docx b/public/resume/Mikayla Resume 0623.docx new file mode 100644 index 0000000..be18fc0 Binary files /dev/null and b/public/resume/Mikayla Resume 0623.docx differ diff --git a/public/resume/Mikayla Resume 0623.pdf b/public/resume/Mikayla Resume 0623.pdf new file mode 100644 index 0000000..137c9d9 Binary files /dev/null and b/public/resume/Mikayla Resume 0623.pdf differ