Welcome

I'm Yampier Medina

A Software Engineer

I like AWS serverless computing, ReactJS, Next.js, GraphQL, ES Next and Web3 with Solana and Rust.

Job status

Searching, 100% Remote

Hire me

About

I am a Computer Science Engineer turned to the JS universe. I know SWE, testing, SQA and PM (Lead teams of 20-50 people).

I build secure and scalable cloud web apps with AWS Amplify (and other AWS services), maintaining predictability and order in the process from prototyping to deployment.

I care about UX/UI, SEO and performance. Applying best practices from the Refactoring UI book and the Tailwind CSS framework. I have also used Bootstrap and Semantic UI.

I use VS Code, Git/Github, Chrome Developer Tools and Amplify CLI daily. I code on a Dell Inspiron 15 7000 Series (Ubuntu 21.04 LTS plugged to an external Dell UltraSharp 27 4K Monitor.

Recent learnings (... in the path to Pro):

Epic React workshops by Kent C. Dodds [technical, completed] and Testing JavaScript by Kent C. Dodds [technical, pending]

Recent readings:

Composing Software by Eric Elliot [technical, completed] and The Startup Owner's Manual by Steve Blank & Bob Dorf [technical, pending].

The Choice by Edith Eva Eger [non-technical, completed] and Fluent Forever by Gabriel Wyner [non-technical, in progress].

Projects

Money Tracker

css grid album

JSAWS AmplifyGraphQLReactJSReact Hook FormBulmaGitGitHub

Amazon Web Services (AWS), among other cloud computing vendors, enable our teams to focus on the creation of value to the client. No more struggle with the physical infrastructure means that we can have more time and resources to tackle our business goals.

A flexible price system where you pay for what you use and a generous free tier makes the entry point in AWS available to many budgets.

With AWS Amplify you can use the GraphQL scheme to guide your development life cycle from prototyping to production. A fully managed hosting service with several CI/CD workflows available for your deployment needs.

From the design of the API until production you can use many AWS services as construction blocks for your app. If you need to add authentication/authorization Cognito comes to your help. If you need to include offline capabilities then use DataStore... AWS AppSync lowers the friction around fast iterations of your GraphQL API.

For web/mobile development all is provided with AWS Amplify from which you can include API (GraphQL/Rest), Auth, Storage, AI/ML, CI/CD, Lambda Functions. All from the comfort of your terminal with the CLI or the Admin UI if you prefer a visual interface.

Many libraries make easy work with your preferred stack: JavaScript, Android, Flutter or iOS. UI components are available for ReactJS, Angular, Vue, Web Components and React Native.

This project was built mostly with AWS Amplify, GraphQL and ReactJS. Try it sign in or use user: test, password: test2020

DemoInfo

Exit Strategies

css grid album

Next.jsAWS DataSoreGraphQLTailwindCSSReact Hook Formdayjs

The GraphQL model is the center, from it you can generate the types used for AWS DataStore to implement your CRUDL operations.

AWS Amplify makes it easy to deploy ReactJS apps to the cloud. But in this scenario what I needed was the offline or local-only capabilities offered by AWS DataStore. The cloud persistence is at one push distance.

The project is conceived as a free tool to explore some exit strategies for stock trading, but as a result of being free, there is the constraint to make the operational cost 0 or very low.

The resulting solution saves the data locally in your browser, but not in the cloud. The Amplify API is never pushed to the cloud and the app keeps working as a complete offline app.

Also it includes a blog to improve visibility for what Next.js has better SEO capabilities than pure React.

DemoPrivate Repo

Portfolio website

css grid album

NextJSTailwindCSSnext-mdx-remoteSizzyGitGithubGimp

Personal website portfolio created to showcase my projects, skills and to be a way to interact with clients and developers.

Built initially with HTML5, TailwindCSS and a bit of JavaScript.

Updated to Next.js to include a blog, improve SEO, use components and facilitate reutilization.

TailwindCSS was a tool very useful to follow a design system and create a custom designed website while taking advantage of its utility-first characteristic to fast prototyping and update.

The project was designed to provide a great user experience and have good performance. Gimp and imageoptim were tools that made easy the process of creating the images needed to respond at different viewport's width and compressing them to achieve better performance.

Although initially used Lighthouse (Google Chrome Console Tool) and RespImageLint to detect images issues that affect page performance and user experience after the transition to Next.js the majority of the work was made by the framework and the Image Component.

DemoInfo

Github Jobs

css grid album

ReactJSReact Hook FormdayjsAxiosTailwindCSSGitGitHub

Making API calls is key to web development. This project explored the use of fetch to make API requests.

Also it was a way to implement the Github jobs challenge published by devchallenges.io and work on my design skills.

Flexbox and css combinators continue to amazing me.

Since GitHub Jobs API is deprecated now this project is only to show the front-end.

DemoInfo

Nature at your feet

css grid album

CSSCSS GridHTML5imageoptimGimp

This project explores the basics properties of CSS Grid and how it allows responsive layouts. The idea also came from the Wes Bos's great course CSS Grid.

It makes it possible to think about image quality, size, format, aspect-ratio and how it affects the page performance and user experience.

It was also useful to practice the usage of Gimp, imageoptim, Lighthouse and RespImageLint.

DemoInfo

Image Gallery

css grid album

CSSCSS GridHTML5JSGimp

This project provided a possibility to use CSS Grid while trying to get a responsive website. It includes inline javascript for creating several images of different sizes to fill the grid. This technique came from the Wes Bos's great course CSS Grid. Also the usage of images was a good intro to analyzing the impact of images size, format and aspect-ratio in the page's performance.

Gimp made the process of creating images at specified dimensions easy. Also imageoptim allows more images's compression to achieve better performance.

Lighthouse (Google Chrome Console Tool) and RespImageLint were very useful to detect images issues that affect page performance and user experience.

DemoInfo

Created by Yampier Medina

© 2020 MIT Licence