333 lines
12 KiB
JSON
333 lines
12 KiB
JSON
{
|
||
"name": "Achraf",
|
||
"lastName": "Achkari",
|
||
"projects": [
|
||
{
|
||
"name": "FOON",
|
||
"description": "TypeScript SDK for semantic JSON transformation using LLMs — turn messy JSON into your schema, safely",
|
||
"logo": "/foon-logo.svg",
|
||
"links": [
|
||
{
|
||
"name": "Website",
|
||
"url": "https://foon.ink"
|
||
},
|
||
{
|
||
"name": "Github",
|
||
"url": "https://github.com/achachraf/foon-sdk"
|
||
},
|
||
{
|
||
"name": "NPM",
|
||
"url": "https://www.npmjs.com/package/foon-sdk"
|
||
}
|
||
],
|
||
"tasks": [
|
||
{
|
||
"name": "Mapping Engine",
|
||
"description": "Core engine that uses LLM providers to generate semantic mapping plans, then deterministically executes them against a JSON Schema with confidence scoring",
|
||
"status": "Done",
|
||
"technologies": [
|
||
"TypeScript",
|
||
"AJV",
|
||
"JSONPath",
|
||
"LRU Cache"
|
||
]
|
||
},
|
||
{
|
||
"name": "Security Layer",
|
||
"description": "Input validation, prompt injection protection, sensitive field redaction, and prototype pollution detection",
|
||
"status": "Done",
|
||
"technologies": [
|
||
"TypeScript",
|
||
"Schema Validation"
|
||
]
|
||
},
|
||
{
|
||
"name": "Express Middleware",
|
||
"description": "Drop-in Express integration with dual-route transformation and configurable error handling",
|
||
"status": "Done",
|
||
"technologies": [
|
||
"TypeScript",
|
||
"Express",
|
||
"REST"
|
||
]
|
||
},
|
||
{
|
||
"name": "Marketing Site & Docs",
|
||
"description": "Interactive demo website with live transformation showcase, MDX documentation, and waitlist backend",
|
||
"status": "Done",
|
||
"technologies": [
|
||
"Next.js",
|
||
"React 19",
|
||
"Tailwind CSS",
|
||
"MDX",
|
||
"Upstash Redis"
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"name": "Gazelle",
|
||
"description": "Gazelle Test Bed",
|
||
"logo": "https://gazelle.ihe.net/files/LOGO_0.png",
|
||
"links": [
|
||
{
|
||
"name": "Deployed",
|
||
"url": "https://gazelle.ihe.net/"
|
||
},
|
||
{
|
||
"name": "Github",
|
||
"url": "https://gitlab.inria.fr/gazelle/"
|
||
}
|
||
],
|
||
"tasks": [
|
||
{
|
||
"name": "Gazelle Test Management",
|
||
"description": "Develop a new test management module to orchestrate and track testing campaigns across systems",
|
||
"status": "In Progress",
|
||
"technologies": [
|
||
"Java 17",
|
||
"Jakarta EE",
|
||
"Quarkus",
|
||
"PostgreSQL"
|
||
]
|
||
},
|
||
{
|
||
"name": "Gazelle Proxy",
|
||
"description": "Coordinate the renovation the Core Gazelle Proxy to support new protocols and security standards",
|
||
"status": "Done",
|
||
"technologies": [
|
||
"Java 17/21",
|
||
"Jakarta EE",
|
||
"Quarkus",
|
||
"Netty",
|
||
"Next.js",
|
||
"Docker"
|
||
]
|
||
},
|
||
{
|
||
"name": "Validation Service API",
|
||
"description": "Create a new API to unify all the validation services consumed by Gazelle",
|
||
"status": "Done",
|
||
"technologies": [
|
||
"Java 17",
|
||
"MicroProfile",
|
||
"JAX-RS",
|
||
"TDD"
|
||
]
|
||
},
|
||
{
|
||
"name": "Gazelle Objects Checker",
|
||
"description": "Renovate the validator generator engine to recent JDK and enhance the validation rules",
|
||
"status": "Done",
|
||
"technologies": [
|
||
"Java",
|
||
"OCL",
|
||
"XML",
|
||
"SOAP",
|
||
"BASH"
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"name": "Typeson",
|
||
"description": "Polymorphic JSON serialization and deserialization library",
|
||
"logo": "/typesonlogo-light.png",
|
||
"links": [
|
||
{
|
||
"name": "Github",
|
||
"url": "https://github.com/achachraf/Typeson"
|
||
},
|
||
{
|
||
"name": "Maven",
|
||
"url": "https://mvnrepository.com/artifact/io.github.achachraf/typeson/1.0.1"
|
||
}
|
||
],
|
||
"tasks": [
|
||
{
|
||
"name": "JSON Object Mapper",
|
||
"description": "Develop a new JSON object mapper to support polymorphic serialization and deserialization",
|
||
"status": "Done",
|
||
"technologies": [
|
||
"Java 17",
|
||
"GraphScan",
|
||
"Reflection",
|
||
"TDD"
|
||
]
|
||
},
|
||
{
|
||
"name": "Integration with Jackson",
|
||
"description": "Integrate Typeson with Jackson to support polymorphic serialization and deserialization",
|
||
"status": "Done",
|
||
"technologies": [
|
||
"Java 17",
|
||
"Jackson"
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"name": "CLI Portfolio",
|
||
"description": "Create a CLI portfolio to display my resume",
|
||
"logo": "/CLIPortfolioLogo.png",
|
||
"tasks": [
|
||
{
|
||
"name": "Main CLI",
|
||
"description": "Create the main CLI with basic commands handling",
|
||
"status": "Done",
|
||
"technologies": [
|
||
"Next.js",
|
||
"SSR",
|
||
"Typescript"
|
||
]
|
||
},
|
||
{
|
||
"name": "Enhanced terminal",
|
||
"description": "Enhance the terminal to support graphical content",
|
||
"status": "Done",
|
||
"technologies": [
|
||
"Next.js",
|
||
"Next API",
|
||
"SSR",
|
||
"Typescript",
|
||
"Jest"
|
||
]
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"experiences": [
|
||
{
|
||
"name": "techlead-kereval",
|
||
"company": "Kereval",
|
||
"position": "TechLead",
|
||
"description": "Coordinate the technical team to deliver the best quality software",
|
||
"startDate": "01-01-2023",
|
||
"endDate": "current",
|
||
"logo": "/kereval_logo.jpg"
|
||
},
|
||
{
|
||
"name": "software-engineer-kereval",
|
||
"company": "Kereval",
|
||
"position": "Software Engineer",
|
||
"description": "Technical Referent for the Gazelle Test Bed tools",
|
||
"startDate": "01-10-2021",
|
||
"endDate": "31-12-2022",
|
||
"logo": "/kereval_logo.jpg"
|
||
},
|
||
{
|
||
"name": "intern-kereval",
|
||
"company": "Kereval",
|
||
"position": "Intern",
|
||
"description": "Developed and improved the Gazelle Test Bed tools",
|
||
"startDate": "06-04-2021",
|
||
"endDate": "31-09-2021",
|
||
"logo": "/kereval_logo.jpg"
|
||
},
|
||
{
|
||
"name": "intern-veolia",
|
||
"company": "Veolia",
|
||
"position": "Intern",
|
||
"description": "Developed Ticketing System for the company's employees",
|
||
"startDate": "01-07-2019",
|
||
"endDate": "01-08-2019",
|
||
"logo": "/veolia_logo.png"
|
||
}
|
||
],
|
||
"education": [
|
||
{
|
||
"degree": "Master Degree in Computer Science",
|
||
"school": "Université de Bretagne Occidentale",
|
||
"startDate": "2016",
|
||
"endDate": "2020",
|
||
"logo": "/ubo.webp"
|
||
},
|
||
{
|
||
"degree": "Engineer Degree in Computer Science",
|
||
"school": "Ecole Nationale des Sciences Appliquées de Tanger",
|
||
"startDate": "2016",
|
||
"endDate": "2020",
|
||
"logo": "/ensa.png"
|
||
},
|
||
{
|
||
"degree": "Baccalauréat",
|
||
"school": "Lycée Ibn Batouta",
|
||
"startDate": "2015",
|
||
"endDate": "2016"
|
||
}
|
||
],
|
||
"certificates": [
|
||
{
|
||
"name": "ISTQB® Certified Tester Foundation Level – CTFL",
|
||
"issuer": "CFTL (Comité Français des Tests Logiciels)",
|
||
"date": "June 2022",
|
||
"credentialId": "22-CTFL-89556-FR"
|
||
},
|
||
{
|
||
"name": "Scrum Foundation Professional Certificate",
|
||
"issuer": "CertiProf",
|
||
"date": "June 2020",
|
||
"credentialId": "FLCLDJLTIJ-SSSOKSJF-WHKBDHDODK"
|
||
}
|
||
],
|
||
"about": {
|
||
"title": "Techlead Software Engineer",
|
||
"FullName": "Achraf Achkari",
|
||
"image": "/me.png",
|
||
"description": "I am a Technial Lead at Kereval. I have a strong experience in software development and I am passionate about new technologies. I am always looking for new challenges and I am eager to learn new things.",
|
||
"skills": [
|
||
"Java 17/21",
|
||
"TypeScript",
|
||
"Next.js / React",
|
||
"Quarkus",
|
||
"Jakarta EE",
|
||
"Docker",
|
||
"PostgreSQL",
|
||
"Technical Leadership",
|
||
"Microservices",
|
||
"TDD & Clean Code",
|
||
"Node.js (Express)",
|
||
"REST APIs (JAX-RS)",
|
||
"Tailwind CSS",
|
||
"Redis",
|
||
"Agile / Scrum",
|
||
"Software Architecture",
|
||
"Netty",
|
||
"MicroProfile",
|
||
"Jest",
|
||
"Linux & Bash",
|
||
"JSON Schema",
|
||
"SOAP / XML",
|
||
"OCL",
|
||
"Engine Dev / Reflection"
|
||
],
|
||
"contact": {
|
||
"email": "achrafachkari@gmail.com",
|
||
"phone": "+33 7 82 92 98 79",
|
||
"linkedin": "https://www.linkedin.com/in/achraf-achkari/",
|
||
"github": "https://github.com/achachraf/",
|
||
"Address": "Toulouse, France"
|
||
},
|
||
"languages": [
|
||
{
|
||
"name": "French",
|
||
"level": "C1"
|
||
},
|
||
{
|
||
"name": "English",
|
||
"level": "C2"
|
||
},
|
||
{
|
||
"name": "Arabic",
|
||
"level": "Native"
|
||
}
|
||
],
|
||
"interests": [
|
||
"Mathematics",
|
||
"Piano",
|
||
"Writing",
|
||
"Football",
|
||
"Puzzles"
|
||
]
|
||
}
|
||
} |