.teallen/developerThomas
In short...
- I'm a fullstack developer with experience in a range of languages and frameworks;
- I moved into tech following careers in sales management and English language teaching;
- This background in natural language communication strengthens and augments my tech skills;
- Self-discovery through new technical and human contexts drives my love of development and learning;
- I'm always open to interesting new projects and can work on a flexible freelance or longer-term contract basis.
dev.skills
,------------------, ,---------, ,-------------------------, ," ,"| ," ,"| ," ," | +--------------------------+ | ," ," | | .----------------------. | | +---------+ | | |(dev)$ | | | | -==----'| | | | | | | | | | | | | | |/----|'---= | | | | | | | ,/|==== ooo | ; | | | | | // |(((( [--]| ," | '----------------------' |," .;'| |(((( | ," +--------------------------+ ;; | | |," /_)________________(_/ ' | +---------+ ______________________________ ', / oooooooooooooooo .o. oooo /, ",------------- / ==ooooooooooooooo==.o. ooo= // /'--{'') ," /_==__==========__==_ooo__ooo=_/' /___{_)______," '-----------------------------'
dev.work.history
Connect.bot
- Module Lead
- Searocco x Onepoint
I led development of a conversational chatbot module for tech support / automated ticketing for the information systems department of an IT consultancy.
This was full stack, end to end project work including a technological benchmark, system design, proof of concept, iterative usecase development, integration with existing systems, management of deployment, migration from dev (SQLite) to production (Postgres) environments and documenting for hand-off to the client's internal developer team.
The system's core service was built using Botpress, Node and Express, integrated with an existing Laravel API and Vue frontend. It served chat in MS Teams, WhatsApp and Webchat channels. The system was extended with 3rd party API functionality - MS Graph for user calendar and device data, OpenAI for natural language processing and Adaptive Cards for rich templated content tailored for MS Teams.
A remote development environment maintaining secure connections to MS Teams / Azure instances and API services behind a corporate VPN was setup using Ngrok and Apache reverse https proxying.
FLWID
- Fullstack Developer
- Searocco
I worked in a combined web / data team to develop a platform for AI chat-assisted social sharing, discussion and analysis of tech news and media.
The project comprised a Laravel / Postgres backend collecting and processing data from a Discord server, and a React (NextJS) frontend providing an interface for sharing and analysis of links and media posted to Discord channels.
I extended the interface on the frontend with a chatbot service using OpenAI apis to provide tailored conversations with a range of pre-defined agents.
I also put in place a conversation history keyword search service using Postgres tsvector / tsquery functions.
Connect
- Frontend Developer
Searocco x Onepoint
I worked as part of a consultant developer team, working within the IT Department on development of their services & support platform interface (Vue, Vuex, Vuetify).
I implemented new modules (onboarding, equipment management) from-scratch and worked on code quality and CI/CD pipelines.
I led work on improving developer experience by standardising component usage across the app. This involved refactoring the system of generic wrappers used for Vuetify library components; I then extended this system, linking component lifecycle to a dedicated Vuex store module. This allowed me to deliver completely new features in complex components such as data tables, including persistent per-user ui state, custom filtering and column selection.
Connect.api
- API Developer
- Searocco x Onepoint
I worked as part of a consultant developer team, expanding the API (Laravel / Postgres) for an IT department services & support platform.
I designed & implemented new database structure & API modules to serve a range of platform data (thousands of users / devices, tens of thousands of support tickets), and extended the API with services connecting to MS Bot Framework & MS Graph.
I led work extending alerting (MS Teams, email) functionality and logging services, and scaffolding functional and unit testing from scratch for the project's legacy code.
Imagination Machine
- Developer (Intern)
- Imagination Machine
I worked on a full redesign of the site for a startup studio / accelerator, shadowing a lead dev on technical implementation and design decisions.
The project ran on a React-Gatsby stack using Tailwind, connected to a headless CMS (Contentful) via GraphQL. A key focus was on site speed through static page generation and an extensible content model for adding new startups and sub-team members.
Blind Valet Admin
- Developer (Intern)
- Brick River Labs
I worked on developing and extending the back-office admin app for a development agency, as part of a mentored internship. The project ran on an Angular-Firebase stack using Tailwind.
I developed and integrated new invoicing features in the app, using Google Cloud Functions to pull in time tracking data from Toggl, customer data from Stripe APIs, generating invoices, saving them to Google Cloud Storage and serving them to a new module in the app.
Plus2Bad Pricing System
- Student Developer
- Plus2Bad
As the final project of my bootcamp, I worked in a team of 4 to develop a price control and ticketing system for a sports equipment business. The project ran on a React-Node (Express) stack using MySql.
I took lead responsilibity for the backend portion of the project, designing and implementing the database structure and API for the project. This involved extensive work finding and parsing relevant data from a legacy Prestashop API serving xml, and converting it to a usable format for the new system.