more exp
This commit is contained in:
parent
a59eb9830b
commit
ff3c4a41c5
80
cv.tsx
80
cv.tsx
@ -17,6 +17,7 @@ type Experience = {
|
|||||||
description: string
|
description: string
|
||||||
technologies: string[]
|
technologies: string[]
|
||||||
links?: A[]
|
links?: A[]
|
||||||
|
feedback?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
const tw = createTw({
|
const tw = createTw({
|
||||||
@ -79,8 +80,6 @@ const tech = {
|
|||||||
],
|
],
|
||||||
web: [
|
web: [
|
||||||
"JavaScript",
|
"JavaScript",
|
||||||
"TypeScript",
|
|
||||||
"React",
|
|
||||||
"HTML",
|
"HTML",
|
||||||
"CSS"
|
"CSS"
|
||||||
],
|
],
|
||||||
@ -145,10 +144,20 @@ const tech = {
|
|||||||
"html2text",
|
"html2text",
|
||||||
"Poetry",
|
"Poetry",
|
||||||
],
|
],
|
||||||
|
javascript: [
|
||||||
|
"TypeScript",
|
||||||
|
"React",
|
||||||
|
],
|
||||||
nextjs: [
|
nextjs: [
|
||||||
"NextJS 12",
|
"NextJS 12",
|
||||||
"NextJS 13",
|
"NextJS 13",
|
||||||
"NextJS 14",
|
"NextJS 14",
|
||||||
|
"NextAuth",
|
||||||
|
"Prisma",
|
||||||
|
"Vercel",
|
||||||
|
"Vercel Postgres",
|
||||||
|
"Formik",
|
||||||
|
"Framer Motion",
|
||||||
],
|
],
|
||||||
styles: [
|
styles: [
|
||||||
"CSS",
|
"CSS",
|
||||||
@ -156,6 +165,8 @@ const tech = {
|
|||||||
"TailwindCSS",
|
"TailwindCSS",
|
||||||
"DaisyUI",
|
"DaisyUI",
|
||||||
"tailwind-scrollbar",
|
"tailwind-scrollbar",
|
||||||
|
"FontAwesome",
|
||||||
|
"nProgress",
|
||||||
],
|
],
|
||||||
general: [
|
general: [
|
||||||
"Markdown",
|
"Markdown",
|
||||||
@ -194,8 +205,12 @@ const hoi2Tech: string[] = filterKeysIncl(techKeys,
|
|||||||
["python", "nextjs", "styles", "linux", "git", "general"]
|
["python", "nextjs", "styles", "linux", "git", "general"]
|
||||||
)
|
)
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
.map(e => tech[e]).flat().concat(["Wix"])
|
.map(e => tech[e]).flat().concat(["Wix", "Fuse.js"])
|
||||||
|
const stepsyTech: string[] = filterKeysIncl(techKeys,
|
||||||
|
["nextjs", "styles", "linux", "git", "general"]
|
||||||
|
)
|
||||||
|
// @ts-ignore
|
||||||
|
.map(e => tech[e]).flat().concat(["googleapis", "Fuse.js", "Interact.js"])
|
||||||
|
|
||||||
const experience = ({
|
const experience = ({
|
||||||
company,
|
company,
|
||||||
@ -205,7 +220,8 @@ const experience = ({
|
|||||||
to,
|
to,
|
||||||
description,
|
description,
|
||||||
technologies,
|
technologies,
|
||||||
links
|
links,
|
||||||
|
feedback
|
||||||
}: Experience) =>
|
}: Experience) =>
|
||||||
<View style={tw(sectionStyles)}>
|
<View style={tw(sectionStyles)}>
|
||||||
<View style={tw("w-full flex flex-col mt-2 border-2 border-slate-50 p-4 rounded-2xl")}>
|
<View style={tw("w-full flex flex-col mt-2 border-2 border-slate-50 p-4 rounded-2xl")}>
|
||||||
@ -231,7 +247,12 @@ const experience = ({
|
|||||||
<View style={tw("m-4")}>
|
<View style={tw("m-4")}>
|
||||||
<Text>{description}</Text>
|
<Text>{description}</Text>
|
||||||
</View>
|
</View>
|
||||||
<View style={tw("flex flex-row flex-wrap")}>
|
{feedback && (
|
||||||
|
<View style={tw("w-full m-auto mb-1")}>
|
||||||
|
<Text>Result: "{feedback}"</Text>
|
||||||
|
</View>
|
||||||
|
)}
|
||||||
|
<View style={tw("flex flex-row flex-wrap m-2")}>
|
||||||
{technologies.map(t => (
|
{technologies.map(t => (
|
||||||
<View key={t} style={tw("flex flex-row")}>
|
<View key={t} style={tw("flex flex-row")}>
|
||||||
<View style={tw("border-2 border-teal-200 h-1 mx-1 mt-1 rounded-full")}></View>
|
<View style={tw("border-2 border-teal-200 h-1 mx-1 mt-1 rounded-full")}></View>
|
||||||
@ -273,17 +294,48 @@ const CV = () => (
|
|||||||
style={tw(pageStyles)}>
|
style={tw(pageStyles)}>
|
||||||
<Intro />
|
<Intro />
|
||||||
{divider}
|
{divider}
|
||||||
<Text style={tw("text-3xl mt-2")}>Experience</Text>
|
<Text style={tw("text-2xl mt-2")}>Experience</Text>
|
||||||
<View style={tw("my-auto")}>
|
<View style={tw("my-auto")}>
|
||||||
|
{experience({
|
||||||
|
company: "N/A",
|
||||||
|
position: "Freelance Systems Administrator",
|
||||||
|
location: "UK",
|
||||||
|
from: new Date("21 Sep 2023"),
|
||||||
|
to: new Date("5 Nov 2023"),
|
||||||
|
description: "Diagnosed and analyzed a faulty LUKS encrypted drive on a remote server.",
|
||||||
|
technologies: tech.linux,
|
||||||
|
feedback: "Ivan was great to work with. Bought his own ideas and expertise, and workshopped a solution with me. Has a wealth of knowledge and I'd very happily work with him again."
|
||||||
|
})}
|
||||||
|
{experience({
|
||||||
|
company: "Stepsy",
|
||||||
|
position: "Freelance Full Stack Software Developer",
|
||||||
|
location: "Estonia",
|
||||||
|
from: new Date("29 Jul 2023"),
|
||||||
|
to: new Date("5 Nov 2023"),
|
||||||
|
description: "Created a multi-tenant knowledge base website based on Google APIs",
|
||||||
|
technologies: stepsyTech,
|
||||||
|
links: [
|
||||||
|
{ text: "Case Study", href: "https://www.idimitrov.dev/c/cases/stepsy.wiki.md" }
|
||||||
|
],
|
||||||
|
feedback: "Great experience working with Ivan! Ready to implement your vision, also advises on how it should be done."
|
||||||
|
})}
|
||||||
{experience({
|
{experience({
|
||||||
company: "HOI 2 Bunker",
|
company: "HOI 2 Bunker",
|
||||||
position: "Freelance Full Stack Software Developer",
|
position: "Freelance Full Stack Software Developer",
|
||||||
location: "UK",
|
location: "UK",
|
||||||
from: new Date("22 Jun 2023"),
|
from: new Date("22 Jun 2023"),
|
||||||
to: new Date("27 Jun 2023"),
|
to: new Date("27 Jun 2023"),
|
||||||
description: "Scraped an old wiki website with over 500 pages and created a new static site generated using Markdown.",
|
description: "Scraped an old wiki website with over 500 pages and created a new static site generated using Markdown and NextJS.",
|
||||||
technologies: hoi2Tech
|
technologies: hoi2Tech,
|
||||||
|
feedback: "Ivan went above and beyond to make sure I was happy with the final result"
|
||||||
})}
|
})}
|
||||||
|
</View>
|
||||||
|
</Page>
|
||||||
|
<Page
|
||||||
|
size="A4"
|
||||||
|
style={tw(pageStyles)}
|
||||||
|
>
|
||||||
|
<View style={tw("my-auto")}>
|
||||||
{experience({
|
{experience({
|
||||||
company: "North Concepts",
|
company: "North Concepts",
|
||||||
position: "Technical Writer for Java Data Pipeline Library",
|
position: "Technical Writer for Java Data Pipeline Library",
|
||||||
@ -291,7 +343,8 @@ const CV = () => (
|
|||||||
from: new Date("25 May 2023"),
|
from: new Date("25 May 2023"),
|
||||||
to: new Date("20 Jun 2023"),
|
to: new Date("20 Jun 2023"),
|
||||||
description: "Wrote technical documentation and content for the DataPipeline library by NorthConcepts.",
|
description: "Wrote technical documentation and content for the DataPipeline library by NorthConcepts.",
|
||||||
technologies: ncTech
|
technologies: ncTech,
|
||||||
|
feedback: "Ivan is a talented developer and was able to understand and write about our developer framework without difficulty."
|
||||||
})}
|
})}
|
||||||
{experience({
|
{experience({
|
||||||
company: "RA Creative",
|
company: "RA Creative",
|
||||||
@ -307,13 +360,6 @@ const CV = () => (
|
|||||||
{ text: "Wells Fargo", href: "https://www.wellsfargo.com/" },
|
{ text: "Wells Fargo", href: "https://www.wellsfargo.com/" },
|
||||||
]
|
]
|
||||||
})}
|
})}
|
||||||
</View>
|
|
||||||
</Page>
|
|
||||||
<Page
|
|
||||||
size="A4"
|
|
||||||
style={tw(pageStyles)}
|
|
||||||
>
|
|
||||||
<View style={tw("my-auto")}>
|
|
||||||
{experience({
|
{experience({
|
||||||
company: "Central Net",
|
company: "Central Net",
|
||||||
position: "Full Stack + Mobile Software Developer",
|
position: "Full Stack + Mobile Software Developer",
|
||||||
|
Loading…
Reference in New Issue
Block a user