Desenvolvedor Full Stack

> Olá, eu sou

Transformo ideias em código limpo, experiências digitais em soluções reais.

// disponível para novos projetos const status = 'aberto para oportunidades';

Sobre Mim

Desenvolvedor apaixonado por criar aplicações modernas, escaláveis e com código de qualidade. Especialista em transformar requisitos complexos em soluções elegantes.

Com experiência em todo o ciclo de desenvolvimento, do protótipo à produção, entrego produtos que unem performance, usabilidade e design.

0 Anos de Experiência
0 Projetos Entregues

Tecnologias que domino

Python Python Flask Next.js TypeScript Node.js Bootstrap TOTVS-Protheus PostgreSQL Photoshop Ilustrator Figma

Projetos em Destaque

Capa do projeto

Sistema de Chamado TI

Plataforma de helpdesk com autenticação, abertura e gerenciamento de tickets, notificações por e-mail (Outlook) e painel admin.

PythonFlaskSQLiteFlask-LoginFlask-Mail
Capa do projeto

Sistema de Cotações / Compras Diretas

Sistema que faz o gerenciamento e analise de cotações de forma automatica integrada com API ao sistema TOTVS-Protheus

PythonSQL ServerFlask
Capa do projeto

Loja Virtual - Ashley Makeup

Loja virtual de cosméticos com vitrine interativa, carrinho de compras, painel admin completo e integração com Supabase.

HTML5CSS3TailwindJavaScriptSupabase
Capa do projeto

Sistema de Consulta Estoque TOTVS - Protheus

Com o intuito de otimizar o processo de consulta de estoque, foi desenvolvido um sistema que integra com o ERP TOTVS-Protheus.

PythonSQL ServerFlask
Capa do projeto

Blogue Esportivo

Blogue dedicado a notícias e análises do Palmeiras, com painel de administrador, gerenciamento de noticias e banco de dados supabase.

PythonSQL ServerFlask
Capa do projeto

Software Impressão de QR Code/Etiqueta

Este projeto é um Gerador de QR Code desenvolvido em Python. Ele permite ao usuário inserir um texto e gera um QR Code correspondente, que é exibido na interface gráfica do usuário. O usuário também tem a opção de salvar o QR Code gerado como um arquivo PDF, que é automaticamente aberto após ser salvo.

PythonTKinterFlask

Snippets & Boas Práticas

Trechos de código que uso no dia adia — componentes reutilizáveis, padrões de design e utilitários.

TypeScript Hook personalizado
import { useState, useEffect } from 'react';

interface UseFetchResult<T> {
  data: T | null;
  loading: boolean;
  error: string | null;
}

export function useFetch<T>(
  url: string
): UseFetchResult<T> {
  const [data, setData] = useState<T | null>(null);
  const [loading, setLoading] = useState(true);
  const [error, setError] = useState<string | null>(null);

  useEffect(() => {
    const fetchData = async () => {
      try {
        const res = await fetch(url);
        if (!res.ok) throw new Error(res.statusText);
        const json = await res.json();
        setData(json);
      } catch (err) {
        setError((err as Error).message);
      } finally {
        setLoading(false);
      }
    };
    fetchData();
  }, [url]);

  return { data, loading, error };
}
CSS Grid responsivo
/* Layout auto-ajustável */
.auto-grid {
  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(280px, 1fr)
  );
  gap: 1.5rem;
  padding: 1rem;
}

/* Card com hover suave */
.card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  transition: transform 0.3s ease,
              box-shadow 0.3s ease;
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(124, 58, 237, 0.15);
}
React Componente otimizado
import { memo, useCallback } from 'react';

interface ButtonProps {
  label: string;
  variant: 'primary' | 'secondary';
  onClick: () => void;
}

export const Button = memo(({
  label,
  variant,
  onClick
}: ButtonProps) => {
  const classes = [
    'btn',
    `btn--${variant}`
  ].join(' ');

  return (
    <button className={classes} onClick={onClick}>
      {label}
    </button>
  );
});

Button.displayName = 'Button';
Python Decorator útil
from functools import wraps
import time

def timed(func):
    """Mede o tempo de execução."""
    @wraps(func)
    def wrapper(*args, **kwargs):
        start = time.perf_counter()
        result = func(*args, **kwargs)
        elapsed = time.perf_counter() - start
        print(f"{func.__name__} levou {elapsed:.3f}s")
        return result
    return wrapper

@timed
def process_data(items):
    return [item ** 2 for item in items]

# Uso:
result = process_data(range(1000))

Vamos Trabalhar Juntos

Tem um projeto em mente? Vou adorar ouvir sobre ele. Mande uma mensagem e respondo em até 24 horas.

Email augusto.abreu.dev@gmail.com
Localização Jundiai/SP - Remoto
LinkedIn joseaugustoabreu
WhatsApp (11) 94031-3138