This commit is contained in:
Ivan Dimitrov 2023-11-17 10:39:33 +02:00
parent da5bd4fc83
commit 23100f656c

121
cv.tsx
View File

@ -206,7 +206,7 @@ const experience = ({
<Text>from</Text> <Text>from</Text>
<Text>{from.toDateString()}</Text> <Text>{from.toDateString()}</Text>
<Text>to</Text> <Text>to</Text>
<Text>{to.toDateString()}</Text> <Text>{to > new Date() ? "present" : to.toDateString()}</Text>
</View> </View>
{links && ( {links && (
<View style={tw("flex flex-row flex-wrap w-full gap-2 justify-center")}> <View style={tw("flex flex-row flex-wrap w-full gap-2 justify-center")}>
@ -278,7 +278,7 @@ const education = ({
</View> </View>
)} )}
<View style={tw("m-4")}> <View style={tw("m-4")}>
<Text>{summary}</Text> <Text style={tw("text-md")}>{summary}</Text>
</View> </View>
</View> </View>
</View> </View>
@ -289,7 +289,7 @@ const certificate = ({
issuer, issuer,
description, description,
date, date,
links links,
}: Certificate) => ( }: Certificate) => (
<View style={tw("w-full flex flex-col")}> <View style={tw("w-full flex flex-col")}>
<View <View
@ -298,13 +298,9 @@ const certificate = ({
)} )}
> >
<View style={tw("flex flex-row flex-wrap gap-1")}> <View style={tw("flex flex-row flex-wrap gap-1")}>
<Text> <Text>{name}</Text>
{name}
</Text>
<Text>from</Text> <Text>from</Text>
<Text> <Text>{issuer}</Text>
{issuer}
</Text>
<Text>on</Text> <Text>on</Text>
<Text>{date.toDateString()}</Text> <Text>{date.toDateString()}</Text>
</View> </View>
@ -318,7 +314,7 @@ const certificate = ({
</View> </View>
)} )}
<View style={tw("m-4")}> <View style={tw("m-4")}>
<Text>{description}</Text> <Text style={tw("text-md")}>{description}</Text>
</View> </View>
</View> </View>
</View> </View>
@ -387,16 +383,28 @@ const CV = () => (
<Text style={tw("text-2xl mt-2")}>Experience</Text> <Text style={tw("text-2xl mt-2")}>Experience</Text>
<View style={tw("my-auto")}> <View style={tw("my-auto")}>
{experience({ {experience({
company: "N/A", company: "idimitrov.dev",
position: "Freelance Systems Administrator", position: "Software Developer / Owner",
location: "UK", location: "Worldwide",
from: new Date("21 Sep 2023"), from: new Date("2023"),
to: new Date("5 Nov 2023"), to: new Date("9999"),
description: description:
"Diagnosed and analyzed a faulty LUKS encrypted drive on a remote server.", "This is my software consulting and development business. Please head over to my resume website or Upwork to learn more.",
technologies: [...tech.linux], technologies: [
feedback: "Business development",
"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.", "Software Development",
"Communication",
],
links: [
{
text: "Upwork",
href: "https://www.upwork.com/freelancers/idimitrov",
},
{
text: "Resume",
href: "https://www.idimitrov.dev/cases",
},
],
})} })}
{experience({ {experience({
company: "Stepsy", company: "Stepsy",
@ -422,43 +430,6 @@ const CV = () => (
feedback: feedback:
"Great experience working with Ivan! Ready to implement your vision, also advises on how it should be done.", "Great experience working with Ivan! Ready to implement your vision, also advises on how it should be done.",
})} })}
{experience({
company: "HOI 2 Bunker",
position: "Freelance Full Stack Software Developer",
location: "UK",
from: new Date("22 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 and NextJS.",
technologies: skills([
"python",
"nextjs",
"styles",
"linux",
"git",
"general",
]),
feedback:
"Ivan went above and beyond to make sure I was happy with the final result",
})}
</View>
</Page>
<Page size="A4" style={pageStyles}>
<View style={tw("my-auto")}>
{experience({
company: "North Concepts",
position: "Technical Writer for Java Data Pipeline Library",
location: "Canada",
from: new Date("25 May 2023"),
to: new Date("20 Jun 2023"),
description:
"Wrote technical documentation and content for the DataPipeline library by NorthConcepts.",
technologies: skills(["java", "dataIntegration", "git"]).concat(
"WordPress"
),
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",
position: "Full Stack Software Developer", position: "Full Stack Software Developer",
@ -470,10 +441,20 @@ const CV = () => (
technologies: skillsInverted(["dataIntegration", "python", "nextjs"]), technologies: skillsInverted(["dataIntegration", "python", "nextjs"]),
links: [ links: [
{ text: "RA Creative", href: "https://racreative.co.uk/" }, { text: "RA Creative", href: "https://racreative.co.uk/" },
{ text: "Parcel Lab case study", href: "https://www.idimitrov.dev/c/cases/parcellab.md" }, {
{ text: "Wells Fargo case study", href: "https://www.idimitrov.dev/c/cases/wellsfargo.md" }, text: "Parcel Lab case study",
href: "https://www.idimitrov.dev/c/cases/parcellab.md",
},
{
text: "Wells Fargo case study",
href: "https://www.idimitrov.dev/c/cases/wellsfargo.md",
},
], ],
})} })}
</View>
</Page>
<Page size="A4" style={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",
@ -491,14 +472,10 @@ const CV = () => (
"styles", "styles",
]), ]),
})} })}
</View>
</Page>
<Page size="A4" style={pageStyles}>
<View style={tw("my-auto")}>
{divider} {divider}
<Text style={tw("text-2xl mt-2")}>Education</Text> <Text style={tw("text-2xl mt-2")}>Education</Text>
{education({ {education({
institution: "South-West University 'Neofit Rilski'", institution: "SWU 'Neofit Rilski'",
location: "Blagoevgrad, Bulgaria", location: "Blagoevgrad, Bulgaria",
degree: "Bachelor's", degree: "Bachelor's",
field: "Electronics", field: "Electronics",
@ -512,22 +489,28 @@ const CV = () => (
{certificate({ {certificate({
name: "Oracle Certified Professional, Java SE 8 Programmer", name: "Oracle Certified Professional, Java SE 8 Programmer",
issuer: "Oracle", issuer: "Oracle",
description: "An Oracle Certified Professional, Java SE 8 Programmer has validated their Java development skills by answering challenging, real-world, scenario-based questions that measure problem solving skills using Java code.", description:
"An Oracle Certified Professional, Java SE 8 Programmer has validated their Java development skills by answering challenging, real-world, scenario-based questions that measure problem solving skills using Java code.",
date: new Date("19 May 2020"), date: new Date("19 May 2020"),
links: [{ links: [
{
text: "Credly", text: "Credly",
href: "https://www.credly.com/badges/281fbd5f-ca29-4235-b023-a9b93af2f6c5/public_url", href: "https://www.credly.com/badges/281fbd5f-ca29-4235-b023-a9b93af2f6c5/public_url",
}] },
],
})} })}
{certificate({ {certificate({
name: "Oracle Certified Associate, Java SE 8 Programmer", name: "Oracle Certified Associate, Java SE 8 Programmer",
issuer: "Oracle", issuer: "Oracle",
description: "An Oracle Certified Associate, Java SE 8 Programmer has demonstrated knowledge of object-oriented concepts, the Java programming language and general knowledge of Java platforms and technologies.", description:
"An Oracle Certified Associate, Java SE 8 Programmer has demonstrated knowledge of object-oriented concepts, the Java programming language and general knowledge of Java platforms and technologies.",
date: new Date("17 Mar 2020"), date: new Date("17 Mar 2020"),
links: [{ links: [
{
text: "Credly", text: "Credly",
href: "https://www.credly.com/badges/910f311b-0f7f-4911-b945-5ded663408ec/public_url", href: "https://www.credly.com/badges/910f311b-0f7f-4911-b945-5ded663408ec/public_url",
}] },
],
})} })}
</View> </View>
</Page> </Page>