Skip to content
View hortfrancis's full-sized avatar

Block or report hortfrancis

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
hortfrancis/README.md

Alex Hort-Francis

๐ŸŒ Home page: hortfrancis.com

LinkedIn Medium Instagram CodePen


๐Ÿ‘‹

I write articles to help people use new technologies: medium.com/@hortfrancis

I am a strong self-directed learner: teamtreehouse.com/profiles/hortfrancis

I love experimenting with CSS in the browser: codepen.io/hortfrancis

Technologies

JavaScript PHP Python

HTML5 CSS3 SASS TailwindCSS

NodeJS Express.js React Next JS Laravel

Jest

MySQL Postgres MongoDB

Linux Git Docker Vercel

Visual Studio Code Notion Trello Figma

Education

  • ๐ŸŽ“ I am currently studying User Experience Design at Norwich University of the Arts in my spare time.
  • ๐Ÿ–ฅ I studied Web Development on a bootcamp with HyperionDev (grade: 99%).
  • ๐Ÿ”’ I studied Cyber Security at a postgraduate level at the University of East Anglia.
  • ๐ŸŽฎ I studied Games Art & Design for my undergraduate degree at Norwich University of the Arts

Full Projects

  • Laravel Reflection
    • Full-stack 'company management app' built in Laravel (PHP) that applies CRUD operations and RESTful actions on companies and employees, stored in a MySQL database. Blade components with Tailwind CSS render the user interface.
  • Netmatters Homepage
    • While training full-time with the IT company Netmatters, I built a replica of their homepage from scratch over a couple of months, adding responsive styling, interactivity with JavaScript, and server-side functionality (serving data from a database and processing contact form submissions) with PHP.
  • Array Reflection
    • Vanilla JavaScript project that fetches an image from an API, and allows a user to assign it to an email address, with front-end validation and custom 'neomorphic' interactivity styling.
  • Cash Balance Manipulator
    • A web user interface for manipulating a cash balance, built in React, with Redux for state management. Along with adding or subtracting an amount to the balance, the user can add interest at a fixed rate of 5% or apply a charge to the balance at a fixed rate of 15%.
  • To Do App
    • Front-end application using React, with Redux for state management. Users can add, edit, and delete tasks, and can mark tasks as 'done'.

React demo projects

  • useState demo
    • This project demonstrates my knowledge of useState with function components in React. In App.js are two additional components: a counter and a 'controlled input'. (Hosted on CodeSandbox)
  • useEffect demo
    • Count the pineapples! This simple game demonstrates how to trigger side effects in a function component's logic when a stateful variable is updated, with the useEffect hook. In App.js is another component, <Pineapples />, that contains the game's logic. (Hosted on CodeSandbox)
  • React Routing demo
    • A demonstration of how to implement client-side routing in React. Navigate between the pages and watch the URL in the address bar change. (Hosted on CodeSandbox)
  • useContext demo
    • This project use React's Context API to avoid awkward 'prop drilling' through multiple components. Press the button to switch the page from light mode to dark mode! All the significant code is in App.js -- with styling (using CSS variables) in styles.css (Hosted on CodeSandbox)

Generative AI

I specialise in using:

  • ChatGPT-4 for text content generation, problem solving, and to support my learning.
  • Midjourney to generate high-quality images very quickly.
  • ElevenLabs to create AI-generated text-to-speech audio.

Methodology explorations

  • 'Hollow functions'
    • A proposed functional programming technique to integrate 'on the spot' reasoning from language models in a predictable, programmatic way.
  • FileStruc Notation
    • A standardised syntax for describing file structures within digital projects, to support closer collaboration with large language models (LLMs).

Helpful educational resources

Links

Pinned Loading

  1. cash-balance-manipulator cash-balance-manipulator Public

    Frontend project using React & Redux for state management.

    JavaScript

  2. to-do-app to-do-app Public

    A frontend application that records tasks to be completed, using React & Redux.

    JavaScript

  3. T57-task1-backend T57-task1-backend Public

    Express app that uses Mongoose & MongoDB

    JavaScript

  4. T57-task1-frontend T57-task1-frontend Public

    React website to interact with a MongoDB database that holds data about cars

    JavaScript

  5. github-pages-example-webpage github-pages-example-webpage Public

    A demonstration of how to quickly publish a webpage using GitHub pages and Markdown, for free, as part of an article I wrote on Medium.

  6. filestruc filestruc Public

    A standardised text syntax for describing file structures.